1概述
- 操作系统的作用
- 4个特征:并发性、共享性、虚拟性、不确定性
- 5大部分:
1. 进程管理:对CPU时间的管理,包括进程控制、进程同步、进程通信和进程调度
2. 文件管理:文件存储空间管理、目录管理、文件的读/写管理和存取控制
3. 存储管理:对主存储器空间管理,包括存储分配与回收、存储保护、地址映射(变换)和主存扩充
4. 设备管理:对硬件设备管理,包括输入/输出设备的分配、启动、完成和回收
5. 作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实。
2 进程管理
进程是程序在一个数据集合上运行的过程,他是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB) 和 数据块三部分组成
- 进程与程序的区别
- 进程是程序的一次执行过程,没有程序就没有进程
- 程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,就永远存在
- 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是
2.1 进程的状态
2.2 前趋图
2.3 信号量与PV操作
进程的状态管理
PV操作
- 临界资源:进程间需要互斥方式对其进行共享的资源,如打印机
- 临界区:每个进程中访问临界资源的那段代码教临界区
- 信号量:是一种特殊的标量(分为互斥信号量、同步信号量)
同步模型
例题
2.4 前驱图+PV操作
例题
2.5 死锁及银行家算法
- 进程管理是操作系统的核心,但如果设计不当,容易出现死锁问题。
- 如果一个进程在等待一件不可能发生的事,则该进程就进入了死锁。
- 多个进程发生死锁,就会导致系统发生死锁。
- 例子:如果有A、B、C、D、E,5个进程,每个进程需要4个资源,则最少有多少个资源,系统就不会发生死锁?
解答:每个进程所需资源数-1的和 + 1:3*5+1=16
原理是:每个进程执行完毕后会释放资源给下一个进程,每个进程拿着四个资源,只要多出来的可灵活分配的资源给到进程,进程就能执行完毕并且释放5个资源。
死锁的预防和避免
银行家算法
银行家算法:分配资源的原则
- 当一个进程对资源的最大需求量不超过系统现有可分配资源数时可接纳该进程
- 进程可以分期请求资源,但请求的总数不能超过最大需求量
- 现有系统资源不能满足进程当前所需资源时,则推辞分配,但总能在有限的时间内让进程得到所需资源
真题
详细题解
3 存储管理
3.1 分区存储组织
3.2 段页式存储
页式存储
- 高级程序语言使用逻辑地址;
- 运行状态,内存使用物理地址。
- 优点:利用率高,碎片小,分配及管理简单。
- 缺点:增加了系统开销;可能产生抖动现象
真题
段式存储
- 优点:多道程序共享内存,各段程序修改互不影响
- 缺点:内存利用率低,内存碎片浪费大
段页式存储
先按程序逻辑关系分段,再按页面大小将段分为若干个页(先分段,后分页)
- 优点:空间浪费小,存储更容易,存储保护容易,能动态连接
- 缺点:由于软件管理的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度下降
3.3 快表
是一块小容量的相联存储器,由高速缓存器组成,速度快,并且可以从硬件上保证按内容进行查找,一般用来存放当前访问最频繁的少数活动页的页号
3.4 页面置换算法
- 最优算法(OPT)
- 随机算法(RAND)
- 先进先出算法(FIFO):有可能产生抖动
- 最近最少使用算法(LRU):不会抖动,LRU依据是局部性原理
局部性原理
- 时间局部性:刚被访问的内容,立即又被访问。
- 空间局部性:刚被访问的内容,其临近容间的内容很快被访问。
例题
1
2
3.5 磁盘结构
3.6 磁盘调度算法
先来先服务算法(FCFS)
- 算法根据进程请求访问磁盘的先后顺序进行调度,这是一种最简单的调度算法、
- 该算法的优点是具有公平性。如果只有少量进程需要访问,且大部分请求都是访问簇聚的文件扇区,则有望达到较好的性能;
- 但如果有大量进程竞争使用磁盘,那么这种算法在性能上往往接近于随机调度。所以,实际磁盘调度中考虑一些更为复杂的调度算法。
- 算法思想:按访问请求到达的先后次序服务
- 优点:简单,公平
- 缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。
1)最短寻找时间优先算法 SSTF
- 算法选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。
- 当然,总是选择最小寻找时间并不能保证平均寻找时间最小,但是能提供比FCFS算法更好的性能
- 这种算法会产生“饥饿”现象。
- 算法思想:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先
- 优点:改善了磁盘平均服务时间
- 缺点:造成某些访问请求长期等待得不到服务
2)扫描算法(电梯算法)SCAN
- 算法在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象
- 由于磁头移动规律与电梯运行相似,故又称为电梯调度算法
- SCAN算法对最近扫描过的区域不公平,因此,它在访问局部性方面不如FCFS算法和SSTF算法好。
3)单向\循环扫描算法
- 在扫描算法的基础上规定磁头单向移动来提供服务,回返时直接快速移动至起始端而不服务任何请求。
- 由于SCAN算法偏向于处理那些接近最里或最外的磁道的访问请求,所以使用改进型的C-SCAN算法来避免这个问题
4)驱动调度算法对比
3.7 磁盘读取时间例题
4 文件管理
4.1 文件组织结构
逻辑结构
文件的逻辑结构是用户可见结构。逻辑文件从结构上分成二种形式:
- 无结构的流式文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。
- 有结构的记录式文件, 是用户把文件内的信息按逻辑上独立的含义划分信
息单位,每个单位称为一个逻辑记录(简称记录)
物理结构
文件的物理结构又称为文件的存储结构,它是指文件在外存上的存储组织形式,与存储介质的存储性能有关。常用的物理结构有三种:
- 连续文件结构,它是最简单的物理文件结构,它把一个在逻辑上连续的文件信息依次存放到物理块中。
- 串联文件结构,串联文件结构用离散分配,即非连续的物理块来存放文件信息,这些非连续的物理块之间没有顺序关系,其中每一个物理块设有一个指针,指向其后续物理块,从而使得存放同一文件的物理块链接成一个串联队列
- 索引文件结构,索引文件要求系统为每个文件建立一张索引表,表中每一个栏目指出文件信息所在的逻辑块号和与之对应的物理块号
4.2 索引文件结构
例题
4.2 树形目录结构
4.3 空闲存储空间的管理
例题
5 作业管理
6 设备管理
数据传输控制方式
- 程序控制方式(查询):分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/O能力不高,严重影响了CPU的利用率。
- 程序中断方式:CPU无需等待,提高了传输请求的响应速度。
- DMA方式:用于主存与外设之间高速、批量交换数据,比前两种方式都高效。
- 通道方式:输入/输出通道是一个独立于CPU的,专门管理I/O的处理机,CPU调用启动指令使用通道工作。字节多路/ 选择通道
- I/O处理机 对通道方式的进一步方展,用于早期的大型计算机系统
中。