计算机的早期,多任务被称作多道程序。多道程序是令CPU一次读取多个程序放入内存,先运行第一个程序直到它出现了IO操作。因为IO操作慢,CPU需要等待。为了提高CPU利用率,此时运行第二个程序。即,第n+1个程序得以执行的条件是第n个程序进行IO操作或已经运行完毕。这种方式每个程序的时间分配是不均等的,很可能第一个程序运行了几个小时而不出现IO操作,故第二个程序没有运行。
在当初,这种情况是令人接受的。人们一次指定运行多个程序,过几个小时或一天后来看运行结果或拿走打印出来的文件。人们不需要实时获得每个程序的运行情况,只关心运行结果。
多任务处理是指计算机同时运行多个程序的能力。多任务的一般方法是运行第一个程序的一段代码,保存工作环境;再运行第二个程序的一段代码,保存环境;……恢复第一个程序的工作环境,执行第一个程序的下一段代码……现代的多任务,每个程序的时间分配相对平均。
特征1、多道:即计算机内存中同时存放几道相互独立的程序。
2、宏观上并行:同时进入 系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。
3、微观上串行:从微观上看,内存中的多道程序轮流地或分时地占有处理机。
程序转换创建作业
作业是以文件的方式存放在磁盘上的。在创建作业时,数据按照一定的格式写入文件,文件标以相同的类型(后缀名为*.job)存放在同一路径os\book\中。模拟运行时,程序在该路径上自动搜索所有的同类型(*.job)文件,从中读出数据,并整理出其它相应的信息,提供给调度程序使用。创建作业的流程图是一个单独的单元,为了便于操作,程序将随机模式作业创建放在统一图形界面上操作,而指定模式由后备程序creatjob.exe在DOS模式下以文本方式创建。
创建作业有指定模式、随机模式,对随机模式可以在设置参数后根据设置自动生成作业文件。文件的格式为:命令词、执行时间。其中命令词定义如下:
C
在CPU上运行
D
程序延迟
I
接受输入
O
程序输出
W
程序等候
H
程序退出
作业的第一组数据不是提供给程序执行的命令行,而是一组特殊的数据,该组数据中的第一个数据表示所设置的作业优先级,用字符表示,按照字符的序号递增比较级较高的方法来设置。"程序延迟"是指程序在CPU上的睡眠时间,是执行时间,而"程序等候"是将进程送入等候排列等候,是等候时间。这两者是有区别的。