考纲内容
- 操作系统的概念、特征、功能和提供的服务
- 操作系统的发展与分类
- 操作系统的运行环境
- 内核态与用户态
- 中断、异常
- 系统调用
- 操作系统体系结构
1. 操作系统的概念、特征、功能
1. 概念
- 操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
2. 特征
1. 并发
- 并行性:两个或多个事件在同一时刻发生。
- 需要有相关硬件的支持
- 并发性:两个或多个事件在同一时间间隔内发生。
- 通过分时实现
- 多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行
- 单处理机系统中,每一时刻仅能有一道程序执行,故微观上这些程序只能是分时地交替执行
2. 共享
-
资源共享(资源复用):指系统中的资源可供内存中多个并发执行的进程共同使用
- 宏观上既限定了时间(进程在内存期间),也限定了地点(内存)
- 系统中的资源远少于多道程序需求的总和,会形成它们对共享资源的争夺。
-
实现资源共享的两种方式
- 互斥共享方式:同一时刻只能允许一个进程访问该资源。
- 同时访问方式:一段时间内允许多个进程对资源进行访问。
-
注意
- 并发和共享是多用户(多任务)OS的两个最基本的特征
- 它们又是互为存在的条件
- 资源共享是以进程的并发执行为条件的,若系统不允许并发执行也就是不存在资源共享问题
- 若系统不能对资源共享实施有效管理,以协调好各进程对共享资源的访问,也必然会影响到各进程间并发执行的程度。
3. 虚拟
-
定义:一个物理实体映射为若干个对应的逻辑实体
-
虚拟处理器—时分复用技术
-
虚拟存储器—空分复用技术
4. 异步
- 定义:多道程序走走停停,进程以不可预知的速度向前推进
3. 功能
1. 处理机管理功能
- 进程控制 :为作业创建进程、撤销已结束的进程,以及控制进程在运行过程中的状态转换
- 进程同步:为多个进程(含线程)的运行进行协调
- 进程通信:实现相互合作进程之间的信息交换
- 调度
-
作业调度:从后备队列中按照一定的算法选择出若干个作业,为它们分配运行所需的资源,在将这些作业调入内存后,分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中。
-
进程调度:从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行线程,使其投入执行。
-
2. 存储器管理功能
- 任务:为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户的使用,并能从逻辑上扩充内存。
- 功能
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
- 共享
3. 设备管理
- 任务:完成用户的I/O请求,方便用户使用设备,提高设备的利用率
- 功能
- 缓冲管理
- 设备分配
- 设备处理
- 虚拟设备
4. 文件管理
- 任务:对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性
- 功能
- 文件存储空间的管理
- 目录管理
- 文件的读/写管理和保护
5. 操作系统与用户之间的接口
- 命令接口——用户利用这些操作命令来组织和控制作业的执行
- 联机控制方式
- 适用于分时或实时系统
- 输入一条指令,执行一条
- 脱机控制方式
- 适用于批处理系统
- 提交一组作业,系统进行处理,用户不能干预
- 联机控制方式
- 程序接口——编程人员可以使用它们来请求操作系统服务
- 由一组系统调用组成
6. 操作系统用作扩充机器
- 提供了资源管理功能和方便用户使用的各种服务功能,将机器改造为功能更强的机器
- 覆盖了软件的机器称为扩充机器,又称之为虚拟机
7. 封装思想
- 操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理
2. 操作系统的发展和分类
1. 手工操作阶段
- 特点:程序的装入、运行、结果的输出都需要人为的干预
- 缺点
- 用户独占全机
- CPU利用不充分
2. 批处理阶段
1. 单道批处理系统—— 解决人机矛盾以及CPU和I/O设备之间速度不匹配的矛盾
- 定义:内存中始终保存一道作业,作业成批进行
- 特点
- 自动性:一批作业自动执行
- 顺序性:各道作业依次执行
- 单道性:仅有一道程序执行
- 优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
- 缺点
- 高速CPU等待I/O设备的完成
- 内存中仅有一道程序运行
2. 多道批处理系统——实现程序并行运行
- 定义:允许多个程序在CPU中交替运行,程序共享各种硬件和软件资源
- 特点
- 多道:计算机中同时存放多道相互独立的程序
- 宏观上并行:多道程序都会开始运行,但都没有运行完毕
- 微观上串行:多道程序轮流占有CPU,交替执行
- 优点
- 资源利用率高
- 多道程序并发执行,共享计算机资源
- CPU和其他资源更能保持”忙碌“状态,系统吞吐量增大
- 缺点
- 设计复杂,要考虑各种资源调度问题
- 响应时间过长,没有人机交互功能
3. 分时操作系统——实现人机交互
- 策略:将处理器运行时间划分为时间片,将时间片分配给不同改作业/用户从而占用处理机
- 特点
- 同时性:许多个中断用户使用同一台计算机
- 交互性:用户通过终端采用人机对话方式控制程序运行
- 独立性:多个用户之间独立的操作,互不干扰
- 及时性:用户请求能在很短时间内获得响应
4. 实时操作系统——实现对紧急任务的优先响应
- 原则:保证在规定时间内完成某项任务
- 分类
- 硬实时系统:必须绝对地在规定时间内完成
- 软实时系统:允许偶尔违反时间规定
- 特点
- 及时性:规定时间内完成规定任务
- 可靠性:输出的结果正确,系统运行时确保稳定
5. 网络操作系统
- 把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间数据的相互传送
6. 分布式计算机系统
- 任意两台计算机通过通信方式交换信息,没有主从之分,并行工作,协同完成
3. 操作系统的运行环境
1. 程序运行
- 过程:CPU执行一条一条的机器指令
2. 操作系统的运行机制
1. CPU执行的两种性质程序
- 操作系统内核程序
- 时钟管理
- 计时
- 实现进程切换
- 时钟中断服务程序
- 处理和时间有关的信息:系统时间、进程的时间片、延时、使用CPU的时间、各种定时器
- 决定是否执行调度程序
- 中断机制
- 初衷是提高多道程序运行环境中CPU的利用率,主要针对外部设备
- 只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关程序
- 原语
- 处于系统的最底层,最接近硬件
- 运行具有原子性,即只能一气呵成
- 实现方式:关中断与开中断配合使用
- 系统控制的数据结构及处理
- 进程管理:进程状态管理、进程调度和分派、创建与撤销PCB
- 设备管理:缓冲区管理、设备分配和回收
- 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序
- 时钟管理
- 用户自编程序
2. 用户态与内核态—PSW的一个标志位区分
- 用户态(目态):此时只能执行非特权指令
- 内核态(管态、核心态):此时可以执行特权指令
3. 用户态与内核态的切换
- 特权指令:具有特殊权限的指令
- 仅能用于操作系统或其它系统软件,不直接提供给用户
- 核心态下执行(核心态可以执行指令系统的全集(除访管指令))
- 非特权指令:除特权指令以外的指令
- 访管指令:用户态下使用,产生一个中断事件(自愿中断),将操作系统转换为核心态
- 内核态–>用户态
- 执行一条特权指令—修改PSW的标志位
- 操作系统主动让出CPU
- 用户态–>内核态
- 中断或执行访管指令(用户态使用),产生中断(唯一途径)
- 硬件自动完成
4. 中断与异常
1. 定义
- (外)中断
- 来自于CPU指令之外的事件,与当前指令执行无关
- 中断的引入:为了支持CPU和设备之间的并行操作
- I/O中断:输入输出已经完成
- 时钟中断:固定时间片已到,让处理机处理
- 异常(内中断)
- 来自于CPU执行指令内部的事件,与当前指令执行有关
- 异常的引入:表示CPU执行指令时本身出现的问题
- 异常不能被屏蔽
- 实例:非法操作码,除零,地址越界,算术溢出
- 缺页:执行完缺页处理程序后,继续回到当前指令执行
- 陷入:执行完陷入指令后,回到陷入指令的下一条指令执行
- 陷入(访管)指令:用户自行设置,执行后,用户态转为核心态
2. 中断处理的过程
- 关中断
- 保存断点
- 引出中断服务程序
- 保存现场和屏蔽字
- 开中断
- 执行中断服务程序
- 关中断
- 恢复现场和屏蔽字
- 开中断、中断返回
3. 工作原理
-
硬件和软件相互配合而使计算机系统得以充分发挥能力
-
硬件——中断/异常响应
- 捕获中断源发出的中断/异常请求,以一定方式响应,将处理器控制权交给特定的处理程序
-
软件——中断/异常处理程序
- 识别中断/异常类型并完成相应的处理
5. 系统调用机制(操作系统向用户程序提供的接口)
1. 系统调用概述
- 系统调用:用户在编程时可以调用的操作系统功能,是操作系统提供给编程人员的唯一接口,使CPU状态从用户态陷入内核态。
- 按功能分类
- 设备管理:完成设备的请求或释放,以及设备启动等功能
- 文件管理:完成文件的读、写、创建及删除等功能
- 进程控制:完成进程的创建、撤销、阻塞及唤醒等功能
- 进程通信:完成进程之间的消息传递或信号传递等功能
- 内存管理:完成内存的分配、回收、获取作业占用内存区大小及始址等功能
2 系统调用机制的设计
- 中断/异常机制——支持系统调用服务的实现
- 选择一条特殊指令:陷入指令——引发异常,完成用户态到内核态的切换
- 系统调用号和参数——每个系统调用都事先给定一个编号(功能号)
- 系统调用表——存放系统调用服务例程的入口地址
3. 系统调用的执行过程
- 当CPU执行到特殊的陷入指令时:
- 中断/异常机制:
- 硬件保护断点
- 通过查中断向量表把控制权转给系统调用总入口程序
- 系统调用总入口程序:
- 保护现场
- 将参数保存在内核堆栈里
- 通过查系统调用表把控制权转给相应的系统调用处理例程或内核函数
- 执行系统调用例程
- 恢复现场,返回用户程序
- 中断/异常机制:
4. 操作系统的体系结构
1. 大内核
- 将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务
- 各管理模块之间共享信息,能有效利用相互之间的有效特性,具有无可比拟的优势
- 代表:Linux、Unix
2. 微内核
- 将内核中最基本的功能保留在内核
- 缺点:需要频繁地在核心态和用户态之间进行切换,执行开销偏大
- 代表:Windows NT