复习内容:
1、第一章 操作系统引论
2、第二章 进程的描述与控制
3、第三章 处理机调度与死锁
参考:计算机操作系统(第四版) - 汤小丹、梁红兵、哲凤屏、汤子瀛 - 西安电子科技大学出版社出版
一、第一章 操作系统引论
1、操纵系统的目标和作用 P1
操作系统目标: 方便性、有效性、可扩充性和开放性
OS是什么以及有何作用(简答题):
- OS是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,是现代计算机系统中最基本和最重要的系统软件
- OS作为用户与计算机硬件之间的接口,便于用户使用
- OS作为计算机系统资源的管理者
- OS实现对计算机资源的抽象
- OS提高计算机硬件设备的利用率和系统的吞吐量
2、操作系统的基本类型 P6 - P11
操作系统的基本类型如下:
- 批处理:分为单道批处理系统和多道批处理系统
- 分时系统:多路性、独立性、及时性、交互性
- 实时系统:及时性、可靠性
3、操作系统的基本特征 P13
操作系统的四大基本特征:并发、共享、虚拟、异步
4、操作系统的主要功能 P16
主要功能如下:
- 处理机管理
- 存储器管理
- 设备管理
- 文件管理
- 作业管理
二、第二章 进程的描述与控制
1、前趋图 P32 - P33
什么是前趋图,为什么要有前趋图,前趋图的作用:
指用于描述进程之间执行的先后顺序的一个有向无循环图,为了描述进程之间执行的先后顺序
2、进程 P36 - P37
什么是进程:
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础
进程的特效:
- 动态性
- 并发性
- 独立性
- 异步性
创建进程的过程:申请PCB =》 分配资源 =》 初始化PCB =》 插入就绪队列
3、进程的状态 P37 - P39
进程三状态:
- 执行(running): 进程已获得CPU正在执行中
- 就绪(ready): 进程已经分配到除CPU资源外的所有资源,只要再获得CPU就可以马上执行
- 阻塞(block): 正在执行的进程由于发生某些事件(IO请求、申请缓冲区失败等)暂时无法继续执行的状态
进程三状态之间的转换:
- 执行 =》 阻塞: IO请求
- 阻塞 =》 就绪: IO完成
- 就绪 =》 执行: 进程调度 执行 =》 就绪: 时间片完
进程五状态:
引入挂起操作和激活操作之后进程三状态中的就绪和阻塞就有两种类型(活动和静止)
此时进程状态如下所示:
4、PCB P40 - P41
PCB是什么:PCB作为进程的一部分,用于记录进程信息
PCB的具体作用:
- 作为独立运行基本单位的标志
- 能实现间断性运行方式
- 提供进程管理所需要的信息
- 提供进程调度所需要的信息
- 实现与其他进程的同步与通信
PCB中的信息:
- 进程标识符
- 处理机状态
- 进程调度信息
- 进程控制信息
5、进程同步 P50
临界区: 每个进程中访问临界资源的那段代码被称为临界区
6、进程与线程 P76 - P78
进程:
进程是系统中拥有资源的基本单位
线程:
- 将线程作为调度和分派的基本单位(切换代价原小于进程)
- 线程的并发性更好
- 线程本身不拥有系统资源(多个线程共享进程拥有的资源)
- 在同一进程中的不同线程之间的独立性要比不同进程之间的独立性低
- 创建线程的系统开销比创建进程的系统开销更小
三、第三章 处理机调度与死锁
1、处理机调度算法的目标 P86 - P87
处理机调度算法的目标:
- 资源利用率
- 公平性
- 平衡性
- 策略强制执行
各种处理机调度算法的目标:
- 批处理系统 =》 平均周转时间短、系统吞吐量高、处理机利用率高
- 分时系统 =》 响应时间快、均衡性
- 实时系统 =》 截止时间的保证、可预测性
2、处理机调度算法详细内容 P89 - P94
处理机调度算法有如下几种:
- 先来先服务调度算法(FCFS):按照作业到达的先后顺序来进行调度,先来的先处理
- 短作业优先(SJF):短作业优先执行
- 优先级调度算法(PSA):优先级越高的作业越先执行
- 高响应比优先调度算法(HRRN):优先权=(等待时间+要求服务时间)/要求服务时间 优先权越高越先执行
- 轮转调度算法(RR):基于时间片的轮转算法 让就绪队列中的每个进程每次只运行一个时间片
处理机调度算法计算公式:
- 周转时间 = 完成时间 - 到达时间
- 带权周转时间 = 周转时间/服务时间
3、死锁 P104 - P105
什么是死锁及产生死锁的原因(简答题):
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统
处于死锁状态或系统产生了死锁
死锁源于多个进程对资源的争夺,不仅对不可抢夺资源(临界资源)进行争夺时会引起死锁,而且对可消耗资源进行争夺时也会引起死锁
4、银行家算法 P113
在银行家算法中,若出现下述资源分配情况:
问题:
(1)该状态是否安全?
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
解答:
(1)利用安全性算法对上面的状态进行分析(见下表),找到了一个安全序列{P0,P3,P4,P1,P2},故系统是安全的
(2)P2发出请求向量Request(1,2,2,2),系统按银行家算法进行检查:
- Request2(1,2,2,2)<=Need2(2,3,5,6)
- Request2(1,2,2,2)<=Available(1,6,2,2)
- 系统先假定可为P2分配资源,并修改Available,Allocation2和Need2向量: Available=(0,4,0,0) 、Allocation2=(2,5,7,6)、Need2=(1,1,3,4)
此时再进行安全性检查,发现 Available=(0,4,0,0) 不能满足任何一个进程,所以判定系统进入不安全状态,即不能分配给P2相应的Request(1,2,2,2)