多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。与之相来自对应的是单道程序,即思谓联术在计算机内存中只允许一个的程序运行。
- 中文名 多道程序
- 定 义 多任务
- 相 反 单道程序
- 特 征 多道宏观上并行微观上串行
概念
计算机的早期,多任务被称作多道程序。多道程序是来自令CPU一次读取多个程序放入内存,先运行第一个程序直到它出现了IO操作。因为IO操作慢,CPU需要等待。为了提高CPU利用率,此时运行第二个程序。即,第n+1个程婷包序得以执行的条件是第n个程序进行IO操作或已经运行完毕。这种方式特久电需一既际亲散每个程序的时间分配是不均等的,很可能第一个程序运行了几个小时而不出现IO操作,故第二个程序没有运行。
在当初,这种情况是令人接受的。人们一次指定运行多个程序,过几个小时或一跑成特脚朝养步天后来看运行结果或拿走打印出来的文件。人们不需要实时获得每个程序的运行情况,只关心运行结果。
多任务处理是指计算机同时运行多个程序的能力。多任务的一般方法是运行第一个程序的一段代码,保存工作环境;再运行第二个程序的一段代码,保存环境;……恢复第一个程序的工作环境,执行第一个程序的下一段代码……现代的多任务,每个程序的时间分配相对平均。
特征
1、多道:即360百科计算机内存中同时存放几道相互独立的程序。
2、宏观上并行:同时进入 系统的几道程序都处于运行过程中,即它们先后汽密唱浓治台千首汽开始了各自的运行,但都未运行完毕。
3、微观上串行:从微观上看,内存中的多道程序轮流地或分时地占有处理机。
程序转换
创建作业
来自 作业是以文件的方式存放在磁盘上的。在创建作业时,数据按照一定的格式写入文件,文件标以相同的类型(后缀名为*.job)存放在同一路径os\book\中。模拟运行时,程序在该路径上自动搜索所有的同类型(*.job)文件,从中读出数据,并整理出其它相应的信息,提供给调度程序使用。创建作业的流程图是一个单独的单元,为了便将玉要调视取带果于操作,程序将随360百科机模式作业创建放在统一图形界面上操作,而指定模式由后备程序creatjob.exe在DOS模式下以文本方式创建。
创建作业有指定继带左模式、随机模式,对随机模式可以在设置参数后根据设置自动生成作业文件。文件的集火雨校固九格式为:命令词、执行时间脱。其中命令词定义如下:
C | 在CPU上运行 |
D | 程序延迟 |
I | 接受输入 |
O | 善算合东听究良溶 程序输出 |
W | 程序等候 |
H | 程序退出 |
作业的第一组数据不者企区甲显束拿世剂经是提供给程序执行的命令行,而是一组特殊的数据,该组数据中的第一个数据表示所设置的作业优先级,用字符表示,按照字符的序号递增比较级较高的方法来设置。"程序延迟"是指程序在滑府许管情直岩斯市统CPU上的睡眠时间,是执行时间,而"程序等候"是将进程送入等候排列等候,是等候时间。这两者是有区别的。
进程调度
前面已经讲过作业调度,并简要地介绍了作业调度与进程调度及整个程序之间的协调关系,下面我们重点来说一说进程调度的驱动作用,因为没有这种驱动作用,程序的硫田鱼尼养以自动调度是不可能实现的。
程序的驱动源是位于CPU处理单元的时间片轮转友境找吃刑何试这满但(这是一种最简单的进程调度策略),CPU处理单元是一个真正的模拟中央处理机的单元,所有的信息都反馈到这里,然后由它统一控制其它各种模块,各个功能模块根据CPU处理单元传送过来的信息,独立实施它应该完成的动作,怎么样?真有点DCS(集散控制系统)的味道吧!
CPU处理单元处理信息的依据是当前各个作业、进程的状态东径菜径调井通关,进程控制块的信息和作业数据,这三个方面的内容是缺一不可的,当前各个作业洲、进程的状态为它提供动作决策,进程控制块的信息提供动作的实施方案,而作业数据则为动作的实施提供数据资源。