操作系统:控制和管理整个计算机系统的硬件和软件的资源,合理地组织计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
现代操作系统的特征是 并发性 和 共享性 虚拟性 和 异步性 的特征。
操作系统具有四大功能:处理机管理、存储器管理、设备管理、文件管理。
操作系统提供接口分两类:命令接口(分为联机命令接口(又称交互式命令接口)和脱机命令接口又称批处理接口)、程序接口也称广义指令,通过用户程序间接使用(系统调用)。
操作系统的发展:手工操作阶段(无操作系统),批处理阶段(操作系统开始出现),分时操作系统,实时操作系统,网络操作系统和分布式操作系统,个人计算机操作系统。
内核态、用户态
特权指令是指不允许用户直接使用的指令。
非特权指令是指允许用户直接使用的指令。
CPU运行模式分为用户态(目态)和核心态(管态、内核态)。
由内核态转变为用户态需要一条修改PSW的特权指令;
由用户态转变为内核态需要由中断引起的,硬件自动完成。
内核包含 时钟管理、中断机制、原语、系统控制的数据结构及处理。
中断、异常
中断也称外中断,指CPU执行外部的事件,通常用于信息输入/输出。分为可屏蔽中断和不可屏蔽中断。
异常也称内中断,指来自CPU执行的内部事件,异常不能被屏蔽。异常可分为 故障(运算溢出、缺页、程序非法操作码、除数为0)、自陷(事先安排的异常,用于用户在用户态下调用操作系统内核程序)、终止(硬件中断,如控制器出错)。
系统调用
是操作系统向用户程序提供的接口,是指用户在调用操作系统所提供的一些子功能上,系统调用可视为特殊的公共子程序。系统调用会触发trap(自陷)指令。
若程序从用户态切换为核心态,则会用到访管指令,访管指令是在用户态下使用的,所以不是特权指令。
操作系统结构
1.分层法:
将操作系统分成若干层,为底层为硬件,做高层为用户接口,每层只能调用紧邻它的底层给功能和服务(单向依赖)。
优点:便于系统调试和验证,简化了系统设计和实现。易扩充,易维护。
缺点:合理定义各层比较困难。效率差。
2.模块化:
是将操作系统按功能划分为若干具有一定独立性的模块。(高内聚,低耦合)
优点:提高了操作系统设计的正确性、可理解性和可维护性;增强了操作系统的可适应性;加速了操作系统的开发过程。
缺点:模块间的接口规定很难满足对接口的实际需求。各个模块的设计者齐头并进。每个决定无法建立在上一个已验证的正确确定基础上,因此无法找到一个可靠的决定顺序。
3.按内核架构划分:
3.1宏内核:
也称单内核或者大内核,是指系统的主要的功能模块都作为一个紧密联系的整体运行在核心态,从而为用户程序提供系统服务。因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。
3.2微内核:
是指内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能转移到用户态执行,从而降低内核的设计复杂性。在微内核结构中,为了实现高可靠性,只有在微内核运行在内核态,其余模块运行在用户态,不会因为一个模块的错误而导致系统崩溃。
微内核结构采用“机制与策略分离”原理,具有 进程管理、低级存储器管理、中断和陷入处理。
优点:扩展性和灵活性。可靠性和安全性、可移植性、分布式计算。
填空题
1.设计现代OS的主要目标是 提高资源的利用率 和 方便用户。
2.单道批处理系统是在解决 人机矛盾 和 CPU与I/O设备速度不匹配 的矛盾中发展起来的。
3.在单处理机环境下的多道程序设计具有 多道、宏观上同时运行、微观上交替运行的特点。
4.现代操作系统的两个基本特征是 并发性 和 共享性 ,除此之外还具有 虚拟性 和 异步性 的特征。
5.从资源管理角度看,操作系统具有四大功能:处理机管理、存储器管理、设备管理、文件管理;为了方便用户,操作系统还必须提供 友好的用户接口。
6.现代操作系统还增加了 系统安全、网络 和 多媒体 等功能。
7.操作系统的基本类型主要有 批处理系统、分时系统 和 实时系统。
8.批处理系统的主要优点是 资源利用率高 和 系统吞吐量大 ;主要缺点是 无交互能力 和 作业周转平均时间长。
9.实现 分时系统的关键问题是 人机交互 ;为此必须引入 时间片 的概念;并采用时间片轮转调度算法。
10.分时系统的基本特征:多路、独立、交互、及时。
11.若干事件在同一时间间隔内发生称为 并发;若干事件在同一时刻发生称为 并行。
12.实时系统可分为 实时信息系统 和 实时控制系统 、多媒体系统和嵌入式系统等,民航售票系统属于实时信息系统;导弹飞行系统属于 实时控制系统。
13.为了使实时系统高度可靠和安全,通常不强求 资源利用率高。
14.当前比较流行的微内核的操作系统结构,在建立在层次化结构的基础上的,而且还采取了 客户机/服务器 模式和 面向对象程序 技术。
易错题
1.单道处理系统中,可以并发但不可以并行的工作是 进程与进程。
2.进程多不意味着CPU利用率钆高,可能会由于进程之间的资源的竞争激烈,而导致死锁。
3.分时系统的一个重要性能就是系统的响应时间,对操作系统的 优先级+非抢占式调度算法 因素进行改进有利于改善系统的响应时间。
4.批处理主要缺点是缺少交互性;输入/输出指令需要中断操作,中断需在核心态下完成,所以输入/输出指令在核心态下完成。
5.广义指令即系统调用命令,广义指令的调用的可能发生在用户态,但是执行一定在核心态。
6.用户态不能执行特权指令,但是核心态下CPU可以执行系统中任何指令。
7.中断处理和子程序调用都需要压栈,子程序调用只需要保存程序断点,即下一条指令地址;中断处理不仅要保存断点(PC的内容),还要保存程序状态字寄存器(PSW)内容。(硬件自动保存)
8.外部中断处理时,PC值由硬件自动保存,而通用寄存器内容由操作系统保存。
9.执行系统调用的过程:传递系统调用参数,执行陷入(trap)指令,执行相应的服务程序,返回用户态。
10.微内核由于需要频繁地切换核心态和用户态,影响了系统的效率。
综合题
1.处理器为什么分核心态和用户态,在什么情况下进行两种方式的切换。
区分执行态是保护系统程序。由用户态转变为核心态需要由中断引起的,而核心态转用户态则发生中断返回程序时。
2.为什么直到中断和通道技术出现后,多道程序概念才变有用。
多道程序并发执行是指有的程序正在 CPU 上执行,而另一些程序正在I/O设备上进传输,即通过 CPU 操作与外设传输在时间上的重叠必须有中断和通道技术的支持,原因如下:
1)通道是一种控制一台或至多台外部设备的硬件机构,它一旦被启动就独立于 CPU 运行,因而做到了输入/输出操作与 CPU 并行工作。但早期 CPU 与通道的联络方法是由 CPU 向通道发出询问指令来了解通道工作是否完成的。若未完成,则主机就循环访问直到通道工作结来为止。因此,这种访问方式是无法真正做到CPU 与I/O设备井行工作的。
2)在硬件上引入了中断技术。所谓中断,就是在输入/输出结来时,或硬件发生某种故障时,由相应的硬件 (即中断机构)向 CPU 发出信号,这时 CPU 立即停下工作而转向处理中断请求,待处理完中断后再维持原来的工作。
因此,通道技术和中断技术结合起来就可实现 CPU 与I/O 设备并行工作,即CPU 启动通道
传铪数据后便去执行其他程序的计算工作,而通道则进行输入/输出操作:当通道工作结束时,再通过中断机构向 CPU 发出中断请求,CPU 则暂停正在执行的操作,对出现的中断进行处理,处理充后再继续原来的工作。这样,就真正做到了 CPU 与 I/O 设备并行工作。此时,多道程序的概念才变为现实。