1.多道程序设计技术
中断和通道技术出现以后,I/O设备和中央处理机可以并行操作,初步解决了高速处理机和低速外部设备的矛盾,提高了计算机的工作效率。但不久又发现,这种并行是有限度的,并不能完全消除中央处理机对外部传输的等待。比如,一个作业在运行过程中依次输入n批数据,每批输入1 000个字符,输入机每输入1 000个字符需用1 000 ms,而处理机处理这些数据则需300 ms。可见,尽管处理机具有和外部设备并行工作的能力,但是在这种情况下无法让它多做工作,处理机仍有空闲等待现象。
商业数据处理、文献情报检索等任务涉及的计算量比较少,而I/O量比较大,所以需要较多地调用外部设备。当由慢速的机械传动的纸带输入机、键盘或从磁带、磁盘等设备输入数据到存储器时,中央处理机不得不等待。对于不同的设备,CPU等待时间的长短是不同的。在处理结束后,又有很多时间消耗在处理机等待存储器将结果送到磁带、磁盘或用机械打印机打印的过程中。而对于科学和工程计算任务,主要涉及的是计算量大而使用外部设备较少的作业,因而当CPU运行时,外部设备经常处于空闲状态。此外,计算机在处理一些小题目时,存储器空间也未能得到充分利用。以上种种情况说明了单道程序工作时,计算机系统的各部件的效能没有得到充分发挥。那么,为了提高设备的利用率,能否在系统内同时存放几道程序呢?这就引入了多道程序的概念。
多道程序设计技术是在计算机主存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插地运行。当某道程序因某种原因不能继续运行下去时(如等待外部设备传输数据),管理程序便将另一道程序投入运行,这样可以使CPU及各外部设备尽量处于忙碌状态,从而较大程度地提高了计算机的使用效率。
多道程序设计技术使得几道程序能同时在系统内并行工作。但在冯·诺依曼型计算机结构中(在单处理机情况下),CPU严格地按照指令计数器的内容顺序地执行每一个操作,即一个时刻只能有一个程序在处理机上运行。那么,如何理解多道程序的并行执行呢?多道程序设计技术可以实现同时被接受进入计算机的若干道程序相互穿插地运行,即当一个正在处理机上运行的程序因为要输入或输出而不能继续运行下去时,就把处理机让给另一道程序。所以,从微观上看,一个时刻只有一个程序在处理机上运行;从宏观上看,几道程序都处于执行状态,有的在处理机上运行,有的在打印结果,有的在输入数据,它们的工作都在向前推进。对于单处理机而言,通常把多道程序在逻辑上的同时执行称为并发执行,它和多道程序同时在多个处理机上执行是有区别的。前者是逻辑上的并行,后者是物理的并行。
综上所述,多道程序运行的特征如下:
①多道——计算机主存中同时存放几道相互独立的程序;
②宏观上并行——同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;(www.xing528.com)
③微观上串行——从微观上看,主存中的多道程序轮流或分时地占有处理机,交替执行。
2.分时技术
让操作员(用户)通过终端直接操作、控制自己程序的运行,这种操作方式称为联机工作方式。一方面,在这种方式下,操作员可以通过终端向计算机发出各种控制命令,使系统按自己的意图控制程序的运行;另一方面,系统在运行过程中输出一些必要的信息(如给出提示符,报告运行情况和操作结果),以便让用户根据此信息决定下一步的工作。这样,用户和计算机可直接采用问答方式来完成他的作业。人们希望能直接控制自己程序的运行,随时了解其运行情况,也就是实现和计算机“会话”。所以,用户十分欢迎这种工作方式。
当计算机技术和软件技术发展到20世纪60年代中期,由于主机速度不断提高而采用了分时技术,使一台计算机可同时为多个终端用户服务。每个终端用户在自己的终端设备上联机使用计算机,好像自己独占机器一样。
所谓分时技术,是把处理机时间划分成很短的时间片(如几百毫秒)轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前还未完成计算,该作业就暂时中断,等待下一轮继续计算。此时处理机让给另一个作业使用。这样,每个用户的各次要求都能得到快速响应,给每个用户的印象是独占一台计算机。
在多道程序设计技术和分时技术的支持下,出现了批处理系统和分时系统,在这两类系统中配置的操作系统分别称为批量操作系统和分时操作系统,这两类操作系统的出现标志着操作系统的初步形成。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。