夫学须志也,才须学也,非学无以广才,非志无以成学。——诸葛亮
目录
1.2 操作系统的发展与分类
知识框架
1.2.1 手工操作阶段
(1)人工操作方式
穿孔纸带是早期计算机的输入和输出设备,它将程序和数据转换二进制数码:带孔为1,无孔为0,经过光电扫描输入电脑。作为
计算机周边设备而言,较更早期的穿孔卡有很大进步。被更先进的磁带(1951年起作为计算机存储设备)所替代。
计算机操作由程序员将事先已经穿孔(对应于程序和数据)的纸带装入纸带输入机再启动他们将程序和数据输入计算机,然后启
动计算机运行,计算完毕取走结果后,下一个用户才能使用。 我们可以发现这个流程有以下问题。
- 装入纸带的时候,cpu在空闲等待,利用不充分
- 用户独占全机资源
以上两点即是人机矛盾
(2)脱机输入/输出方式
为了解决人机矛盾及CPU和IO设备之间速度不匹配的矛盾,20 世纪50年代末出现了脱机输入/输出(Off-Line IO)技术。该技术是事
先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片).上的数据(程序)输入
到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。
所谓 “脱机” 是指程序的输入/输出脱离主机的控制
优点如下:
- 减少CPU空闲时间
- 提高了IO速度
1.2.2 批处理阶段
虽说脱机输入输出方式在一定程度上缓和了人机矛盾和cpu与I/O设备之间速度不匹配的矛盾。但是我们发现一次磁带只能装入一
道作业,而且这些矛盾还可以进一步优化。于是就出现了批处理系统。批处理系统旨在提高系统资源的利用率和系统吞吐量。
批处理系统分为单道批处理系统和多道批处理系统
(1)单道批处理
通常是把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitr),在它的控制下使这批作业能一个接一个地连
续处理。其自动处理过程是:首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完
时,又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。计算机系统就这样自动地一个作业一个作业
地进行处理,直至磁带(盘)上的所有作业全部完成,这样便形成了早期的批处理系统。
特点
1.自动性。在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无须人工干预。
2.顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序在正常情况下应完全相同,亦即先调入内存的作业先完成。
3.单道性。内存中仅有-道程序运行, 即监督程序每次从磁带上只调入一-道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。
此时面临的问题是:每次主机内存中仅存放一道作业,每当它在运行期间(注意这里是“运行时”而不是"完成后”)发出输入/输出请求
后,高速的CPU便处于等待低速的IO完成状态。为了进一步提高资源的利用率和系统的吞吐量,引入了多道程序技术。
(2)多道批处理
在该系统中,用户所提交的作业都先存放在外存上并排成一个队列, 称为“后备队列”:然后,由作业调度程序按一定的算法从
后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
特点
多道程序设计的特点是多道、宏观上并行、微观上串行。
1.多道。计算机内存中同时存放多道相互独立的程序。
2.宏观上并行。同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕。
3.微观上串行。内存中的多道程序轮流占有CPU,交替执行。
优点
(1)提高CPU的利用率。当内存中仅有一道程序时,每逢该程序在运行中发出I/O请求后,CPU空闲,必须在其IO完成后CPU
才 继续运行;尤其因I/O设备的低速性,更使CPU的利用率显著降低。
(2)在内存中允许多道作业并发执行,提高内存与I/O利用率。
(3)系统吞吐量大,CPU和其它资源保持忙碌状态,单位时间内完成的工作量也就越大。
缺点
(1)作业周转时间长,在内存中并发执行,作业越多,现象越明显。
(2)无交互,作业进入内存后,调度受作业调度程序控制,用户不能了解自己程序的执行情况。
1.2.3 分时操作系统
在操作系统中采用分时技术就形成了分时系统。所谓分时技术,是指把处理器的运行时间分成很短的时间片,按时间片轮流把处
理器分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作
业使用,等待下一轮再继续运行。由于计算机速度很快,作业运行轮转得也很快,因此给每个用户的感觉就像是自己独占一台计
算机。
分时操作系统是指多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干
扰。因此,实现分时系统最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能
及时接收并及时处理该命令,再将结果返回用户。分时系统也是支持多道程序设计的系统,但它不同于多道批处理系统。多道
批处理是实现作业自动控制而无须人工干预的系统,而分时系统是实现人机交互的系统,这使得分时系统具有与批处理系统不同
的特征。
(1)及时接收
配置多路卡,使主机同时接收各用户从终端上输入的数据,并且为每个终端配置缓冲区,用来暂存用户键入的命令或数据。
(2)及时处理
作业必须在内存中,作业在磁盘上不能运行,作业应直接进入内存,不允许一个作业长期占用处理机。为此,应该规定每个作业
只运行一个很短的时间(例如0.1秒钟,通常把这段时间称为时间片),然后便暂停该作业的运行,并立即调度下一个程序运行。如
果在不长的时间(如3秒)内能使所有的用户作业都执行一次(一个时间片的时间),便可使每个用户都能及时地与自己的作业交互,从
而可使用户的请求得到及时响应。
分时系统的主要特征如下:
(1)同时性。
同时性也称多路性,指允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接, 终端上的这 些用户可以同
时或基本同时使用计算机。
(2)交互性。
用户能够方便地与系统进行人机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。
(3)独立性。
系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台
计算机一样。
(4)及时性。
用户请求能在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够 对系统的及时
响应感到满意。虽然分时操作系统较好地解决了人机交互问题,但在一些应用场合, 需要系统能对外部的信息在规定的时间(比时
间片的时间还短)内做出处理(比如飞机订票系统或导弹制导系统)。因此,实时系统应运而生。
1.2.4 实时操作系统
为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:若某
个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统,如飞行器的飞行自动控制系统,这类系统必须提供
绝对保证,让某个特定的动作在规定的时间内完成。若能够接受偶尔违反时间规定且不会引起任何永久性的损害,则称为软实时
系统,如飞机订票系统。实时系统的主要特点是及时性和可靠性。
1.2.5 网络操作系统和分布式计算机系统
网络操作系统把计算机网络中的各台计算机有机地结合起来,提供一种统一 、 经济而有效的使用各台计算机的方法,实现各台计
算机之间数据的互相传送。网络操作系统最主要的特点是网络中各种资源的共享及各台计算机之间的通信。分布式计算机系统是
由多台计算机组成并满足下列条件的系统:系统中任意两台计算机通过通信方式交换信息;系统中的每台计算机都具有同等的地位,
即没有主机也没有从机;每台计算机上的资源为所有用户共享:系统中的任意台计算机都可以构成一个子系统,并且还能重构:任何
工作都可以分布在几台计算机上,由它们并行工作、协同完成。用于管理分布式计算机系统的操作系统称为分布式计算机系统。
该系统的主要特点是:分布性和并行性。分布式操作系统与网络操作系统的本质不同是,分布式操作系统中的若干计算机相互协同
完成同任务。
1.2.6 个人计算机操作系统
主要应用于办公、娱乐 中,常见的有UNIX、Linux、Windows 等