0、无操作系统计算机系统
![](https://img-my.csdn.net/uploads/201206/30/1341071986_3729.jpg)
缺点:计算机资源的利用率低,即存在CPU等待人工操作和高速CPU与低速I/O间矛盾等问题
1、批处理系统 (Batch System)
1)、初级单道批处理系统
目标:为了解决人工操作(无操作系统)严重降低了计算机资源的利用率的问题,即解决CPU等待人工操作和高速CPU与低速I/O间矛盾等问题。
脱机输入输出技术:该技术利用一台外围机,脱离主机先将低速输入设备(如纸带机)的数据,输入到较高速大容量的输入设备(如磁带)上。
批处理技术:它利用磁带容量较大的特点,先将一批作业按序以脱机方式输入到磁带上。主机在监督程序控制下,根据卡片机读入控制作业操作信息,逐个从磁带上读入作业到内存,调入汇编/编释程序将源程序翻译成目标代码,连接装配后执行,结果输出打印。执行完毕后再调入下一个作业,系统就这样自动地一个一个作业地进行处理,直至完成,这是早期单道批处理系统,它解决了作业自动转换,从而减少作业建立和人工操作时间。
基本控制卡片,是现代作业控制语言和命令解释器的先驱
2)、现代多道批处理系统
目标:为了进一步提高资源利用率,在硬件采用通道和中断技术支持并行操作的情况下,引入了多道程序设计技术,由此引入多道批处理系统。
多道程序设计技术:
它是在计算机内存同时存放几道相互独立的程序,这几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。多道程序在宏观上并行执行,而在微观上多道程序在某个部件上(如CPU、I/O)是串行,即多道程序轮流地使用部件,交替执行。
一个有一个CPU和二个I/O设备(磁盘和磁带)的二道批处理系统运行情况如下图所示:
上图说明:
- 在计算机内存同时存放几道程序(程序A、 B和监督程序(调度和分配))
- 系统各部件(如CPU、IOA、IOB)支持并行工作,在某个时刻各部件可运行不同的程序。
- 多道程序(程序A、 B和监督程序)在某个部件上(如CPU、IOA、IOB)是串行工作。
- 在多道程序中,监督程序(操作系统)是控制中心,程序要使用某个部件(CPU、IOA、IOB),必须由监督程序调度和分配。
(一)、从图中可看出CPU与I/O A(磁盘)、I/O B(磁带)设备可并行工作,而对系统的某个部件如CPU,二个程序A、 B和操作系统(监督程序)都是串行,即交替运行。程序在CPU与I/O设备间切换,CPU运行哪个程序由监督程序控制,并根据一定的算法调度,对I/O设备调度采用非抢占方式即一旦将该I/O设备分配给某进程,那就要等该程序I/O完成后再进行分配,而CPU调度可采用二种方式,一种是同上的非抢占方式,另一种是抢占方式。如采用抢占方式调度CPU,当一个优先级更高的程序要使用CPU时,就要暂停正在CPU上运行的优先级较低程序,让优先级高的程序运行完毕后再运行原程序。
(二)、图中开始时程序A、 B都在内存中,先运行程序A。当程序A要请求盘输入时,转由CPU运行监督程序来启动盘,启动成功后I/O A(磁盘)进行程序A盘输入。
这时CPU空闲,CPU运行监督程序来调度程序 B,接着CPU运行程序B。同时,I/O A(磁盘)进行程序A盘输入。
程序B运行一段时间后请求带输入时,转由CPU运行监督程序来启动磁带,启动成功后I/O B(磁带)进行程序B磁带输入。
此时I/O A(磁盘)进行程序A盘输入,I/O B(磁带)进行程序B磁带输入,CPU空操作。CPU空操作到I/O A(磁盘)结束程序A盘输入,产生中断。转由CPU运行监督程序的中断处理程序处理程序A中断,处理后调度程序A,接着运行程序A。
在程序A运行时,I/O B(磁带)结束程序B磁带输入,产生中断。CPU暂停正在CPU上运行的程序A转而运行监督程序的中断处理程序处理程序B中断,处理后根据一定的算法调度程序A或B,这里调度程序B,接着运行程序B。
2、分时系统( Time Sharing System)
1)、分时系统原理
目标:分时系统的形成和发展的动力是用户的需要。用户希望自己能直接控制程序的运行及时进行人-机交互,以便能方便地修改程序的错误。用户希望一台计算机能为多台用户共享,解决当时(六十年代)计算机昂贵而缺少的矛盾,方便用户上机。
实现原理:分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,它同时允许许多用户通过终端以交互方式使用计算机共享主机中的资源。所谓分时是指多个用户分时共享使用同一台计算机,也就是说把计算机的系统资源(尤其是CPU时间)进行时间上分割,即将整个工作时间分成一个个的时间片,每个时间片分给一个用户使用,这样将CPU工作时间分别提供给多个用户使用,每个用户依次地轮流使用一个时间片。
2)、分时系统的实现
- 采用调进/调出的单道分时系统
在单道分时系统内存中只驻留一道程序,其余程序都在外存上。每当内存中一个程序运行一个时间片后,便调至外存(称为调出)。再从外存中选一个程序装入内存(称为调进)并运行一个时间片,依此方法使所有的作业都能在一规定的时间内轮流运行一个时间片,这样便能使所有的用户都能与自己的作业交互。在多个作业的轮流运行过程中,每个作业往往可能频繁地调进调出多次,开销大,故使系统的性能较差。
- 基于多道程序设计的多道分时系统
由于现代计算机系统采用大容量内存并采用内存与磁盘对换技术扩充内存,现代分时系统引入多道程序设计技术,在内存中存放多道作业排成一个队列,依次轮流地获得一个时间片来运行。
由于切换作业就在内存,不要花费大量时间用于调进调出,故多道分时系统具有较好的系统性能。作业调度算法也不限于时间片不变,次序不变的简单轮转。像UNIX操作系统对系统中各进程采用可抢占的动态优先级调度算法,它也实现了各作业分时共享计算机,但时间片大小和轮转次序都在变化。
批处理系统和分时系统都是多道程序系统,是属于处理用户作业的系统。系统本身没有要完成的作业,它只是起着管理调度系统资源,向用户提供服务的作用,这类系统可以说是“通用系统”。
3)、分时系统的特征
- 多路性:允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。宏观上是多个用户同时工作,共享系统资源,而微观上则是每个用户作业轮流运行一个时间片。多路性即同时性,它提高了资源利用率,从而促进了计算机更广泛的应用。
- 独立性:每个用户各占一个终端,彼此独立操作,互不干扰。因此用户会感觉到就象他一人独占主机。
- 交互性:用户可通过终端与系统进行广泛的人机对话。用户可以请求系统提供多方面服务,如文件编辑,数据处理和资源共享等。
- 及时性:用户的请求能在很短时间内获得响应,此时间间隔是以人们所能接受的等待时间来确定的,通常为1-2秒。
4)、分时系统的重要指标――响应时间
响应时间是分时系统的重要指标,它是用户发生终端命令到系统开始作出响应间的时间间隔。系统的响应时间主要是根据用户所能接受的等待时间确定的。假设分时系统中用户数为n,每个用户的运行时间片为q,则系统的响应时间为t=n×q。每个用户分到的时间片q由二部分组成,用于对换时间S和用于真正处理时间T(处理)。
- t= n × q
- q = S(对换) + T(处理)
- 分时系统中时间片q的选择是一个复杂和关键的任务。如时间片选得过大,造成响应时间不变时用户数减少,或造成响应时间过长,当时间片过小时,在一个时间片内切换开销相对增加,一个进程相对要花费更多的时间片才能运行结束,一个进程在系统中的周转时间大大增长。最佳的时间片值应既能使分时用户得到好的响应时间,同时又要使在一个时间片内切换开销相对较小可忽略。
- UNIX系统是典型的分时系统,UNIX系统是一个多用户,多任务操作系统。
3、实时系统( Real-Time Systems )
目标:为了提高系统的响应时间,对随机发生的外部事件作出及时响应并对其进行处理。
1)、实时系统分类
- 实时控制系统:此类实时控制系统主要用于生产过程的自动控制,实验数据自动采集,武器的控制、包括火炮自动控制、飞机自动驾驶、导弹的制导系统。
- 实时信息处理系统:这类系统主要用于实时信息处理,象飞机订票系统、情报检索系统。
2)、实时系统特征
- 快速的响应时间:实时系统是为了提高系统响应时间而设计的操作系统,特别是实时控制系统,对外部事件的响应要十分及时迅速。实时系统的响应时间则是由控制对象所能接受的时延确定的。外部事件往往以中断方式通知系统,系统有较强的中断处理能力,实时系统的设计也以“事件驱动”方式来设计。
- 有限的交互能力:批处理系统和分时系统是“通用系统”,实时系统一般是专用系统,它为专门的应用而设计,系统本身就包含有控制某实时过程和处理实时信息的专用应用程序。实时系统(如实时信息处息系统)它能提供人机交互方式,但用户只能访问系统中某些特定的专用服务程序,不能象分时系统一般向终端用户提供多方面服务。
- 高可靠性:批处理系统和分时系统虽也要求系统可靠,相比之下,实时系统则要求系统高度可靠。因此实时系统中往都采用双机系统,多级容错措施来保证系统和数据的安全。