操作系统
操作系统的发展过程
多道批处理的产生
1.用户所提交的作业先存放在外存上,排成一个"后备队列",由调度程序按一定的算法,从后备队列中选择若干个作业调入内存,共享系统各种资源,形成多道批处理系统
单道批与多道批处理系统的作业运行情况:
多道程序设计技术
单道批系统中,内存只放一道作业,按照先进先出的原则顺序执行.
在多道批处理系统中,内存中存放若干道程序,课交替执行.如果正在运行的程序,因I/O而暂停执行时,系统课调度另一个程序,使得CPU与设备同时处于忙碌阶段,从而提高了系统资源利用率.
多道批处理系统的特征
1.多道性:内存中同时存放几个作业,并发执行.
2.调度性:当前运行的作业需作I/O处理时,CPU转而执行另一个作业
3.无序性:由于作业调度,各作业可交替使用CPU,造成程序走走停停,没有确定的执行顺序
多道批处理系统的优缺点
1.资源利用率高
2.系统吞吐量大
3.平均周转时间长(周转时间:指作业从提交到完成所用的时间)
4.无交互能力
分时系统的产生
多道批处理系统提高了资源利用率和系统吞吐量,但无交互能力
分时系统产生的主要动力:用户的需求
分时系统
1.定义
指在一台主机上连接了多个带有显示器和键盘的终端,同时,允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源
2.== 关键技术==
1.配置多路卡
当用户在自己的终端上键入命令时,系统利用多路卡(可连接多个用户),能够及时接受各用户从终端输入的数据
2.时间片轮转技术
把计算机的系统资源(CPU时间)进行时间上的分割,每个时间段称为一个时间片q,每个用户一次轮流使用时间片.只要用户登录,即可将作业放入内存,按照时间片轮转方式进行调度,主机性能高,每个时间片很小,切换速度快,当用户输入请求时,响应时间很短,用户感觉不到其他用户的存在,像是独占全机一样
分时系统的特征
1.多路性
2.独立性
3.及时性
4.交互性
分时系统的技术指标
响应时间:从用户向系统发出请求,到系统响应为止的时间
实时系统
实时系统是指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
周期性实时任务,指任务在固定的周期内执行
非周期性实时任务,指任务在截止时间内执行
应用需求
1.实时控制,如:卫星发射 称为硬实时任务
2.实时信息处理,如:售票 称为软实时任务
实时系统的技术指标
为保证系统可靠性,其技术指标为:截止时间
1.开始截止时间:任务在某时间以前必须开始执行
2.完成截止时间:任务在某时间以前必须完成
操作系统特征与功能
操作系统的特征
并发与并行
1.定义
并发指在单处理机系统中,两个或多个事件在同一时间间隔内发生
(宏观上有多个程序在同时运行,微观上每一时刻仅能有一道程序执行,这些程序只能是交替执行)
并行:在多处理器环境下,两个或多个事件在同一时刻发生
共享
指系统中的资源可供多个并发执行的进程共同使用
由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式:
互斥共享方式
同时访问方式
虚拟性
指通过某技术把一个物理实体变为若干个逻辑上的对应物
异步性
也称不确定性,因为进程的并发执行,在调度过程中,进程的执行顺序,完成时间都不确定,进程走走停停,按不可预知的速度向前推进,称为异步性
操作系统的功能
完成处理机资源的分配调度
进程控制:创建,撤销,挂起,改变运行优先级
进程同步:协调并发进程之间的推进步骤,以协调资源共享
进程通信:进程之间传送数据,以协调进程间的协作
进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能
内存管理功能
管理目标:提高内存利用率,提供足够的存储空间,方便进程并发运行
1.存储分配与回收
2.存储保护:保证进程间互不干扰,相互保密
3.地址变换:进程逻辑地址到内存物理地址的映射
4.虚拟存储器:提高内存利用率,扩大进程的内存空间
设备管理功能
1.设备操作:利用设备驱动程序完成对设备的操作
2.缓冲区管理:匹配CPU和外设的速度,提高两者的利用率
3.设备独立性:提供统一的I/O设备接口,使应用程序独立于物理设备
4.虚拟设备:通过SPLOOLING技术使1个独占设备变成多个共享设备
文件管理功能
解决软件资源的存储,共享,保密和保护
用户接口
目标:提供一个友好的,用户访问操作系统的接口
操作系统的结构设计
整体或无结构
最早期
缺点:因为缺乏清晰的程序结构,所有错误多,调试难,增加维护的难度
模块化结构
操作系统不再由众多的过程直接组成,而是分成若干个具有一定独立性和大小的模块.
优点
1.模块的开发齐头并进,提高了开发效率,加度OS的开发过程
2.提高OS可理解性,便于维护
缺点
当模块数目增加时,每个模块的规模将将减小,开发单个模块需要的成本减小了,但是,设计模块间接口所需要的工作量也增加
1.系统设计时,模块划分和接口定义不够精确,很难满足实际需求
2.各模式设计齐头并进,很难做到每一步都可靠,造成模块间依赖关系复杂
分层式结构
指每一步设计都是建立在可靠的基础上
与机器特点紧密相关的软件放在最低层
存储器管理放在次低层
资源分配策略放在最外层
优点
1.功能明确,调用关系清晰(高对低单向依赖),有利于保证设计和实现的正确性
2.低层和高层可分别实现(便于扩充),高层错误不会影响到低层,避免递归调用
缺点
每执行一个功能,通常要自上而下穿越多个层次,降低运行效率
微内核结构
建立在模块化,分层式的基础上,采用了客户/服务器技术,面向对象的现代操作系统结构
微内核是精心设计的,能实现现代OS核心功能的小型内核
绝大部分功能放在微内核外面的一组服务器中实现
优点
1.可扩充性:只需添加支持新功能的服务进程即可
2.可靠性号:调用关系明确,执行转移不易混乱
3.可移植性:操作系统的服务器均与硬件无关
4.便于网络服务,实现分布式处理
缺点
消息传递效率较低