什么是操作系统?
操作系统
(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如:划分CPU时间,内存空间的开辟,调用打印机等。
操作系统的目标和作用
操作系统的目标:(主要目标:方便性、有效性、可扩充性和开放性)
1.改造裸机,使其功能更强大,使用更方便
目标:配置了OS后的计算机变得更容易使用(方便性)。
作用:OS提供是用户接口的提供者,该接口提供了各类公共服务。
2.有效管理系统中的软硬件资源,使其得到充分利用
目标:有效管理资源,合理组织系统工作流程,增强系统性能(提高资源利用率和系统的吞吐量)。
作用:OS是资源的管理者,管理资源是OS的特权。
操作系统的硬件基础
操作系统是如何被激活从而获得控制权的?
操作系统最为重要的硬件基础是硬件的中断机构
1. 当操作系统无事可做时以“闲逛”的形式等待事件的发生。各种事件以各种中断源发向CPU,经过中断机构响应后,进入对操作系统某些功能的调用,OS从而被驱动。
2. 因为操作系统的所有功能都是由中断驱动的,所以只有借助中断,OS才能获得系统监控权。(所以,中断是驱动和激活OS唯一的手段)
3. 操作系统内核代码运行在系统态(也叫管态、核心态)。
4. 用户程序代码运行在用户态(也叫目态、常态)。
5. 从用户态进入核心态的唯一途径是中断。
CPU的主要寄存器
数据寄存器:暂存来自内存的数据或将要写入内存的数据。
指令寄存器:存放正在执行的指令,以便指令译码器能译码执行。
地址寄存器:保存CPU当前访问的内存地址,直至内存读写操作完成。
累加寄存器:暂存算数逻辑单元ALU运算的结果。
程序计数器(Program Counter,PC):存放现行程序将要执行的指令地址。
程序状态字(Program Status Word,PSW):用于保留及指示与程序相关的所有系统信息。
CPU及其工作状态
特权指令:仅供OS内核程序使用的指令。(如:启动外设、清空内存、加载PSW、加载PC等敏感操作)
普通指令:除特权指令以外的指令。
管态:可执行指令全集、访问全部内存和所有系统资源。
目态:只能执行规定的指令、访问指定寄存器和指定存储区域。
中断(iterrupt)的含义
中断是指计算机在执行程序过程中,遇到需要立即处理的事件,暂停当前正在运行的程序,转而执行相应的事件处理程序(中断处理程序,设置在OS内核中),处理完成再返回断点或调度其他程序执行的过程。
什么是现场?
指在中断那一刻,确保被中断程序能恢复继续运行的信息:如PC(断点)、通用寄存器、特殊寄存器(如PSW)等。
中断机构
发现中断源的中断请求,保留现场,识别中断源,引出中断处理程序的硬件机构。
中断处理程序
设置于OS内核,处理各类中断事件的系统程序。
中断源的分类
自愿性中断是一次系统调用(System Call)的过程。
系统调用时OS提供程序一级的接口,是目态程序获得OS服务的唯一手段。
操作系统的形成
手工操作及其存在的效率问题
1. 装卡(建立作业):安装卡片或纸带,按下控制台按钮装入程序。
2. 用“拨开关”的方式控制程序的执行过程。
3.
通过“看氖灯”来观察程序的运行情况。
4. 卸带取卡(作业衔接):前一程序运行结束,手工安装下一个作业的卡片。
存在的效率问题:
人机矛盾:高速的CPU等待缓慢的人工干预,导致机器闲置。也就是
高速CPU与低速I/O设备所产生的矛盾
。
监督程序(
单道批处理系统
)
单道批处理:
作业按照作业说明书的控制要求自动运行,消除了人工干预。
1. 联机单道批处理系统:
联机I/O:低速外设的I/O过程由主机直接控制的I/O方式。
2. 脱机单道批处理系统:
脱机I/O:低速外设的I/O过程由卫星机控制脱离主机运行。
代价:消耗卫星机的代价。
3. 特点:
批处理(脱机控制)特性:在作业运行过程中,不允许用户对其进行干预。
单道性:处理机中至始至终只有一道用户程序运行。
多道程序设计
技术思想:允许多个程序同时进入内存并运行的方法。
宏观上:多个程序处于已经开始运行,尚未结束运行的状态,它们同时运行。
微观上:在某个时刻,CPU里只有一道程序运行,它们交替执行。
并行性:若干个事件在同一时刻发生。
并发性:若干个事件在同一时间间隔内发生。
用户程序的执行过程
多道程序的并发过程
多道程序设计的特点:
1. 充分发挥CPU和外设的并行性,提高了各类资源的利用率。
2. 增加了系统的吞吐量(系统单位时间的算题量)。
操作系统的基本类型
一、多道批处理系统:允许多个用户将作业批量地提交给系统,由系统以脱机方式加以多道并发处理的操作系统。
多道批处理系统
特点:
- 资源利用率高(多道并发)。
|
- 系统吞吐量大(脱机控制)。
|
- 无联机交互,需书写作业说明书。
|
- 平均周转时间长。
|
二、分时系统:一台主机连接多个带显示器和键盘的终端,允许多个用户同时使用该系统进行联机交互式运算的操作系统。
分时系统的特点:
- 多路性:分时OS同时处理来自多个终端的信息交互
|
- 独立性:分时OS各个终端用户彼此独立操作,互不干扰
|
- 交互性:支持广泛的人机交互,请求OS多方面的服务
|
- 及时性:用户的请求能在合理的时间内得到响应
|
三、实时系统:及时响应随即发生的外部请求或信号,并且能在限定时间内完成对该事件处理的操作系统。
实时系统分为:
实时控制系统
、
实时信息处理系统
。
实时控制系统:
实时信息处理系统:
实时系统的特点:
- 实时性:对外部事件在严格的时间内接收、分析和处理
|
- 可靠性:确保正确响应,系统要高度可靠
|
- 交互性:以多路方式独立地、有限地交互
|
- 专用性:只运行系统中固定的程序,不接收外来程序
|
操作系统的特征
并发性(Concurrency) |
两个或以上的活动或事件在同一时间间隔内发生 |
共享性(Sharing) |
系统资源不再为某个程序所独占,而为多个用户程序共同使用 |
虚拟性(Virtual) |
把物理上的一个实体变为逻辑上的多个对应物,或者把物理上的多个实体变为逻辑上的一个对应物。 |
异步性、随机性、不确定性(Asynchronism) |
并发程序以不可预知的速度向前推进,并发活动具有不可再现性,可能导致程序的执行结果不唯一,OS需要在随机环境下保证程序确定结果。
|
随机环境:
1. 程序众多而且资源有限,从而程序的执行是走走停停的,其状态不可预测。
2. 到达系统的作业类型和时间是随机的,导致程序的执行速度呈快慢变化。
3. 形形色色的中断发生是随机的,导致程序执行时间不可预测。