第二章、操作系统(6~8分)
1、进程管理
1、进程的概念
1、进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
2、它是有程序块、进程控制块(PCB)和数据块三个部分组成。
1、进程和程序的区别
1、进程:
- 是程序的一次执行过程,没有程序就没有进程。
- 有创建而产生,完成任务后因撤销而消亡。
- 动态概念。
- 是系统进行资源分配和调度的独立单位。
2、程序:
- 是完成某个特点功能的一系列程序语句的集合,只要不被破坏,就永远存在。
- 程序是一个静态的概念
- 程序不是
2、进程的状态
1、就绪
2、运行
3、等待(阻塞)
1、三态模型(重点)

2、五态模型

3、进程的同步与互斥
1、直接制约关系
2、间接制约关系
3、临界资源
4、同步:一起出发,速度可能有差异,在一定情况下等待
5、互斥:千军万马过独木桥
4、PV操作
1、概念
1、临界资源:诸进程间需要互斥方式对其进行共享的资源。例如打印机
2、临界区:每个进程中访问临界资源的那段代码称为临界区
3、信号量:是一种特殊的变量(一般用来记录)
4、P是荷兰语 Passeren 。也是资源申请操作
5、V是荷兰语 Verhoog。 也是资源释放操作
6、如图

2、多个进程共享一台打印机问题(互斥模型)

1、PV成对出现
3、单缓冲区生产者、消费者问题(同步模型)
1、如图

2、这里s1是生产的产品,s2是可以消费的产品
3、在生产者中消费s1,产生s2
4、在消费者中消费s2,产生s1
4、例子1

1、从收银员入手,b1,是要开始扫描然后卖书就申请资源P(S1)。收完费我们就释放资源b2 V(S2),目的是让下一个可以来扫码拿书了。
2、对应a1就是先释放资源我要买书V(S1),然后a2对应就是申请付款V(S2)
5、例子2—前驱图

1、箭头进来是P操作
2、箭头出去是V操作
5、死锁问题
1、概念
1、进程管理是操作系统的核心,如果设计不当,就会出现死锁问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了
2、如果一个或多个进程产生死锁,就会造成系统死锁
2、避免和预防死锁
1、预防死锁的四大条件
- 互斥
- 环路等待
- 不剥夺
- 保持和等待
2、死锁的避免
- 有序资源分配
- 银行家算法
3、银行家算法
1、分配资源的原则
1、当一个进程对资源的最大需求量不超过系统中的资源数时,可以接纳该进程
2、进程可以分期请求,但请求总数不能超过最大需求量
3、当系统现有的资源不能满足进程尚需资源数时,对进程可以推迟分配,但总能使进程在有限的时间里得到资源。
2、例子

1、答案:

2、存储管理
1、页式存储组织
1、概念
1、将程序与内存均匀划分为同样大小的块,以页为单位将程序调入内存。
2、物理块又称为页帧号
3、逻辑地址计算
- 逻辑地址 = 页号 + 页内地址
4、物理地址计算
- 物理地址 = 物理块号(页帧号)+ 页内地址
5、完整的页号

2、优缺点
1、优点:利用率搞,碎片小,分配及管理简单
2、缺点:增加了系统开销,可能产生抖动现象
2、段式存储组织
1、概念
1、按用户作业的自然段来划分逻辑空间,然后调入内存段,段的长度可以不一样。(就是这个程序要多少内存就调用多少)
2、完整结构

2、优缺点
1、优点:多道程序共享内存,各段程序修改互不影响
2、缺点:内存利用率低,内存碎片浪费大
3、段页式存储组织
1、概念
1、段式和页式的综合题,先分段,再分页。
2、1个程序有若干段,每个段可以有若干页,每个页的大小相同,但每个段的大小不同
3、完整结构

2、优缺点
1、优点:空间浪费小,存储容易共享,存储容易保护,能动态链接
2、缺点:管理软件增加,复杂性和开销也变大,需要硬件及占用的内容也增加,使得执行速度大大下降。
4、页面置算法
1、最优(Optimal,OPT)算法
2、随机(RAND)算法
3、先进先出(FIFO)算法
- 可能产生抖动,可能进进出出
- 性能也会差
4、最近最少使用(LRU)算法
- 不会抖动,LRU的理论依据是“局部性原理”
5、时间局部性:刚被访问的内容,立即又被访问
6、空间局部性:刚被访问位的内容,邻近的空间很快被访问
5、磁盘管理
1、概念
1、寻道时间:指磁头移动到磁道所需的时间。
2、等待时间:等待读写的扇区转到磁头下方所用的时间。
3、存取时间的计算
- 存取时间 = 寻道时间 + 等待时间;
4、图示

5、每个磁道的大小是一样的,圈越小密度越大。
6、磁盘调度算法
1、先来先服务(FCFS)
2、最短寻道时间优先(SSTF)
3、扫描算法(SCAN) —也叫电梯算法
4、循环扫描(CSCAN)算法
7、读取磁盘数据时间计算
1、三部分
- 找磁盘的时间
- 找块(扇区)的时间,旋转延迟时间
- 传输时间
2、例子

3、作业管理
1、作业状态与作业管理
1、四个状态:
- 提交
- 后备
- 执行
- 完成
2、如图

2、作业的调度算法
1、先来先服务法
2、时间片轮转法(时间片调度算法)
3、短作业优先法
4、最高优先权优先法
5、高响应比法
4、文件管理
1、索引文件结构
1、用1个索引节点
2、如图

3、编号是从0开始的
4、一级间接索引:256K
5、二级间接索引:64MB
6、三级间接索引:16G
2、树型目录结构
1、这里以Linux为例
2、主要考察的是相对路径和绝对路径
3、例子
- 题目
- 求F2的相对路径?
- 答:W2/F2
- 求F2的绝对路径?
- 答:/D1/W2/F2
3、空闲存储空间的管理
1、位示图
2、可以理解为电影院订票的那个页面
5、设备管理
1、 数据传输控制方式
1——5效率会越来越高,价格也越来也贵
1、程序控制(查询)方式
- 分为无条件传送和程序查询方式两种
- 方法简单,硬件开销小,I/O能力不高,严重影响CPU的利用率
2、程序中断方式:
- 与程序控制方式相比,中断方式因为CPU无需等待,所以提高了传输请求的响应速度
3、DMA方式(常考)
- DMA方式是为了在主存与外设之间实现高速、批量数据交而设置的。
- DMA方式比程序控制方式与中断方式都高效。
4、通道方式
- 专门弄个通道,价格昂贵
5、I/O处理机
- 这个也很重要
2、虚设备与SPOOLING技术
1、概念
1、SPOOLING是关于慢速字符设备如何与计算机主机交换信息的一种技术
2、通常称为“假脱机技术”。
3、SPOOLING技术通过磁盘实现
2、理解

3、图示

