操作系统(二) 操作系统的发展过程
一、无操作系统的计算机系统
1、人工操作方式
缺点:
- 用户独占全机
- CPU等待人工操作
由此将会产生人机矛盾:CPU-I/O设备速度不匹配的矛盾,指在慢速的手工操作和高速的计算机运算之间形成的一种矛盾。
2、脱机输入/输出(Off-Line I/O)方式
在外围计算机的控制下,实现程序和数据的自动输入输出;这里的脱机是指脱离主机进行的,故称为脱机输入/输出。(联机I/O是指在主机的直接控制下进行的输入/输出)
脱机I/O示意图如下:
优点
- 减少了主机CPU的空闲时间
- 提高了I/O速度
缺点
- 磁盘上的程序不能被连续的处理
二、批处理技术的计算机系统
批处理技术指在管理程序的控制下,对一批作业自动进行处理而不需要人工干预的一种技术。该技术旨在提高提醒的吞吐量和资源的利用率。
1、单道批处理系统
为了实现对作业的连续处理,需要先把一批作业以脱机的方式输入到磁带上,系统中的监督程序将这批作业一个接一个的连续处理。
虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业。其目的是减少作业间转换时的人工操作,从而减少CPU的等待时间。
单批道处理系统的处理流程如下:
单道程序运行情况如下:
特点
- 有监督程序
- 成批处理
- 作业自动过渡
- 内存中始终保持一道作业
缺点
- 内存中仅有一道作业,系统资源不能很好地利用
2、多道批处理系统
多道程序设计技术:在内存中同时存放若干个作业,使它们共享系统资源并同时运行的技术,单机环境下,作业仅在宏观上同时运行,微观上交替执行。
多批道处理系统的处理流程如下:
多道程序运行情况如下:
引入多道程序设计技术可带来以下好处:
- 提高CPU的利用率
- 提高内存和I/O设备利用率
- 增加系统吞吐量(系统吞吐量是指系统在单位时间内所完成的总工作量)
优缺点:
- 优点:资源利用率高、系统吞吐量大
- 缺点:平均周转时间长、无交互能力 (周转时间是指作业进入系统开始,直至其完成并退出系统为止所经历的时间。作业需要排队进行处理)
3、分时系统
分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。
分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。
满足人机交互的需求:
- 人-机交互
- 共享主机
分时系统实现中的关键问题
- 及时接收(多路卡、缓冲区)
- 及时处理(直接进入内存、分配时间片轮转)
多路卡配置示意图如下:
特点
- 多路性:同时有多个用户使用一台计算机;宏观上:多人同时使用一个CPU;微观上:多个人在交替使用CPU
- 交互性:用户根据系统响应结果进一步提出新请求(用户直接干预每一步)
- 独占性:用户感觉不到计算机为其他人服务(OS作为虚机器使各个用户的工作互不干扰)
- 及时性:系统对用户提出的请求及时响应
4、实时系统
实时系统(Real-Time System)是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
实时操作系统的分类
- 实时控制系统:通常是指以计算机为中心的生产过程控制系统,又称计算机控制系统
- 实时信息处理系统:以计算机为中心的实时信息查询系统和实时事务处理系统,如机票订购系统
实时任务的类型
(1)按任务执行时是否呈现周期性来划分
- 周期性实时任务
- 非周期性实时任务
(2)根据对截止时间的要求来划分
外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间(Deadline):① 开始截止时间——任务在某时间以前必须开始执行;② 完成截止时间——任务在某时间以前必须完成。
按截至时间的要求划分可分为
-
硬实时任务(hard real-time task)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。
-
软实时任务(Soft real-time task)。它也联系着一个截止时间, 但并不严格,若偶尔错过了任务的截止时间, 对系统产生的影响也不会太大。
5、实时系统与分时系统的比较
- 多路性:实时信息处理系统也按分时原则为多个终端用户服务。实时控制系统的多路性则主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而分时系统中的多路性则与用户情况有关,时多时少。
- 独立性:实时信息处理系统中的每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。
- 及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,--般为秒级到亳秒级,甚至有的要低于100微秒。
- 交互性:实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。
- 可靠性:分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性后果,所以在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。