首页 > 技术文章 > 操作系统概述

shawnhuang 2019-01-24 15:50 原文

 

多道程序系统
多道程序设计技术
1. 允许多个程序同时进入内存并运行,允许它们交替在CPU中运行
2. 共享系统中的各种硬、软件资源
3.当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序

比如有A、B两道程序同时存放在内存中,它们在系统的控制下,可相互穿插、交替在CPU上运行
1.当A程序因请求I/O操作而放弃CPU时,B程序就可占用CPU运行
2.这样CPU不再空闲,而正进行A I/O操作的I/O设备也不空闲
3.显然,这样大大提高了资源的利用率,从而提高了系统的利用率

多道程序设计技术的好处:
1.使CPU得到充分利用
2.改善I/O设备和内存的利用率
3.提高了整个系统的资源利用率和系统吞吐量(即单位时间内处理程序的个数)
4.提高了整个系统的效率

单处理机系统中多道程序运行时的特点:
1.多道:计算机内存中同时存放几道相互独立的程序
2.宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都并未运行完毕
3.微观上串行:实际上,各道程序轮流地用CPU,并交替运行

多道程序系统的出现,标志着操作系统渐趋成熟的阶段,先后出现了以下功能:
1.作业调度管理
2.处理机管理
3.存储器管理
4.外部设备管理
5.文件系统管理等

由于多个程序同时在计算机中运行,开始有了空间隔离的概念
只有内存空间的隔离,才能让数据更加安全、稳定
除了空间隔离之外,多道技术还第一次体现了时空复用的特点
遇到I/O操作就切换程序,使得CPU的利用率提高了,计算机工作效率随之提高


多道批处理系统
1.多道:
系统内可同时容纳多个作业。这些作业放在外存中,组成一个后被队列
系统按一定的调度原则每次从后背作业队列中选取一个或多个作业进入内存运行
运行作业结束,退出运行和后备作业进入运行均由系统自动实现
从而在系统中形成一个自动转接的、连续的作业流

2.成批:
在系统运行过程中,不允许用户与其作业发生交互作用
作业一旦进入系统,用户就不能直接干预其作业的运行

多道批处理系统的追求目标:
提高系统资源利用率和系统吞吐量,以及作业流程的自动化

多道批处理系统的一个重要缺点:
不提供人机交互能力,给用户使用计算机带来不便
虽然用户独占全机资源,并且直接控制程序的运行,可以随时了解程序运行情况
但是这种工作方式因独占全机造成资源效率极低
因此有了新的追求目标:既能保证计算机效率,又能方便用户使用计算机


分时系统:
由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端
而每个用户可在自己的终端上联机使用计算机

分时技术:
把处理机的运行时间分成很短的时间片
按时间片轮流把处理机分配给各联机作业使用
若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断
然后把处理机让给另一个作业使用,等待下一轮时再继续其运行
由于计算机速度很快,作业运行轮转得很快
因此给用户的印象就是他独占了一台计算机
而每个用户可以通过自己的终端向系统发出各种操作控制命令
在充分的人机交互情况下,完成作业的运行

具有上述分时技术特征的计算机系统称为分时系统,它的特点如下:
1.多路性。
若干个用户同时使用一台计算机。
微观上看是各用户轮流使用计算机
宏观上看是各用户并行工作
2. 交互性
用户可根据系统对请求的响应结果,进一步向系统提出新的请求
这种能使用户与系统进行人机对话的工作方式,明显有别于批处理系统
因而分时系统又称为交互式系统
3. 独立性
用户之间可以相互独立操作,互不干扰
系统保证各用户程序运行的完整性,不会发生混淆或破坏现象
4.及时性
系统可对用户的输入及时做出响应。
分时系统性能的主要指标之一是相应时间
它是指从终端发出命令到系统予以应答所需时间

分时系统的主要目标:
对用户响应的及时性,不至于用户等待每一个命令的处理时间过长

分时系统运行概况:
分时系统可以同时接纳数十个甚至上百个用户
由于内存空间有限,往往采用对换(又称交换)方式的存储方法。
即将未“轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存
而时间片用完后,又将作业存回磁盘(俗称“滚进”、“滚出“法)
使同一存储区域轮流为多个用户服务。

多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。

注意:
分时系统的分时间片工作,在没有遇到IO操作的时候就用完了自己的时间片被切走了
这样的切换工作其实并没有提高cpu的效率,反而使得计算机的效率降低了。
但是牺牲了一点效率,却实现了多个程序共同执行的效果
这样就可以在计算机上一边听音乐一边聊qq了。

实时系统
虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间
但却不能满足实时控制与实时信息处理两个应用领域的需求。
于是就产生了实时系统,即系统能够及时响应随机发生的外部事件
并在严格的时间范围内完成对该事件的处理。

实时系统在一个特定的应用中常作为一种控制设备来使用。
实时系统可分成两类:
1.实时控制系统。
当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员。当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机构。
   2.实时信息处理系统。
当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。此类对响应及时性的要求稍弱于第一类。

实时操作系统的主要特点:
1.及时响应。
每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。
   2.高可靠性。
需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。

分时系统和实时系统的比较
分时——
现在流行的PC,服务器都是采用这种运行模式
即把CPU的运行分成若干时间片分别处理不同的运算请求 linux系统
实时——
一般用于单片机上、PLC等
比如电梯的上下控制中,对于按键等动作要求进行实时处理

总结
操作系统的三种基本类型:
多道批处理系统
分时系统
实时系统

操作系统的作用
操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。

推荐阅读