操作系统的发展过程
无操作系统的计算机系统
工作方式
用户:用户既是程序员,又是操作员;用户是计算机专业人员;
编程语言:机器语言;
输入输出:纸带或卡片;
工作特点(即主要矛盾)
用户独占全集:不会出现资源被其他用户占用的情况,资源利用率低;
CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
提高效率的途径:脱机输入/输出技术
脱机输入/输出技术
20世纪50年代末出现了脱机输入/输出(Off-Line I/O)技术。该技术是事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。
当CPU需要输出时,可由CPU直接高速地把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。
优点:
(1)减少了CPU的空闲时间。装带(卡)、卸带(卡)以及将数据从低速I/O设备送到高速磁带(或盘)上,都是在脱机情况下进行的,并不占用主机时间,从而有效地减少了CPU的空闲时间,缓和了人机矛盾。
(2)提高了I/O速度。当CPU在运行中需要数据时,是直接从高速的磁带或磁盘上将数据调入内存的,不再是从低速I/O设备上输入,极大地提高了I/O速度,从而缓和了CPU和I/O设备速度不匹配的矛盾,进一步减少了CPU的空闲时间。
单道批处理系统
工作方式:把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下使这批作业能一个接一个连续处理。
工作过程:
由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。
计算机系统这样一个作业一个作业地进行处理,直至磁带(盘)上的所有作业全部完成。
脱机批处理
为解决CPU和I/O设备之间速度不匹配而提出,利用卫星机完成输入输出功能。
卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成装入程序、编译、运行等操作。
优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。
缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。
多道批处理系统
20世纪60年代中期,引入了多道程序设计技术,由此形成了多道批处理系统(Multiprogrammed Batch Processing System)。
用户所提交的作业都先存放在外存上并排成一个队列,作业调度程序按一定算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
引入多道程序设计技术可以带来如下好处:
(1)提高CPU利用率。
(2)可提高内存和I/O设备的利用率
(3)增加系统吞吐量。
优缺点
资源利用率高:内存中的多道程序可以共享资源,使得资源充分利用
系统吞吐量大(考点):CPU及其它资源保持忙碌,切换较少,系统开销小,使得系统在单位时间内所完成的总工作量较大
平均周转时间长:由于作业需要排队,依次处理,周转时间较长
无交互能力(考点):用户一旦将作业提交给系统,将不能与自己的作业交互,修改和调试程序不方便
分时系统
分时系统的特点:
多路性:多用户同时操作、使用计算机 独立性:各终端用户感觉到自己独占了计算机;
及时性:用户的请求能在较短时间内响应;
交互性:用户能与计算机进行人——机对话。
采用时间片轮转策略进行调度,规定一个时间片,每个进程均分配时间片。当一个时间片完成后,切换下一个进程的时间片,若上个进程没有做完,则阻塞起来。
实时系统
实时操作系统(Real Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。往往应用在:
实时控制:生产过程控制,火炮的自动控制系统、飞机的自动驾驶系统以及导弹的制导系统等。
实时信息处理系统:如飞机订票系统、期货、股票交易系统、情报检索系统等。
单用户单任务操作系统
只允许一个用户上机,且只允许用户程序作为一个任务运行。如DOS。
单用户多任务操作系统
只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行, 从而有效地改善系统的性能。如大多Windows系列等。
多用户多任务操作系统
允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源, 而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而提高资 源利用率和系统吞吐量。如Unix、Linux等。