操作系统复习(五)[王道]

第二章.操作系统
2.2处理机调度
1.调度层次
(1)高级调度(作业调度):从外存的后备队列挑选作业,为它分配内存、建立进程。作业调度是外存与内存之间的调度。
(2)中级调度(内存调度):将不能运行的进程调至外存(即挂起),这时进程进入挂起态。当内存有空闲时,由中级调度决定将外存上的哪些进程调入内存,放入就绪队列(唤醒)。
(3)低级调度(进程调度):负责从就绪队列选进程,将CPU分配给它。

2.进程调度方式
(1)非剥夺调度方式:当一个进程占用CPU时,即使有优先级更高的进程进入就绪队列,也要等原进程完成或阻塞。
优点:实现简单,系统开销小,适用于大多数批处理系统
(2)剥夺式调度方式

系统吞吐量:单位时间内CPU完成作业的数量
周转时间:作业从 提交 到 完成所经历的时间
带权周转时间=周转时间/实际运行时间
等待时间:进程在就绪队列中等待处理机的时间之和
响应时间:从用户提交请求到系统首次产生响应所用的时间

(1)FCFS调度算法:适用于作业调度和进程调度,属于不可剥夺算法。对长作业有利
(2)短作业优先算法(SJF):适用于作业调度和进程调度,对短作业有利。长作业可能出现“饥饿”现象。平均等待时间/平均周转时间最少。
(3)高响应比优先调度算法:用于作业调度,每次调度时计算响应比,选响应比最高的作业。(若相等,则用FCFS)响应比=(等待时间+要求服务时间)/要求服务时间
等待时间相同,短作业的要求服务时间更短,响应比较高
要求服务时间相同,等待时间越长,响应比越高(解决了长作业“饥饿”问题)
(4)时间片轮转算法:主要适用于分时系统
(5)优先级调度算法:分为剥夺式/非剥夺式,静态/动态优先级。
(6)多级反馈队列调度算法:多个队列,第1级队列优先级最高。优先级越高的队列,时间片越小

实时操作系统:优先级调度算法
分时操作系统:时间片轮转算法,多级反馈队列调度算法,高响应比优先调度算法

2.3进程同步
1.引入进程同步的原因:协调进程之间的相互制约关系
2.进程制约关系分类
(1)同步:也称为直接制约关系,例如进程A等待进程B完成某项工作。
(2)互斥:也称为间接制约关系,一个进程等待另一个进程使用完临界资源

3.进入临界区的准则
(1)空闲让进
(2)忙则等待
(3)有限等待:请求访问临界区的进程应该在有限时间内进入临界区。
(4)让权等待:当进程不能进入临界区,释放处理器,防止进程忙等。

4.管程
(1)是提供给进程进行资源管理的程序
(2)组成
局部于管程的共享结构数据(用这种数据结构来表示系统中的共享资源)
对该数据结构进行操作的一组过程
对局部于管程的共享数据设置初始值的语句

2.4死锁
1.死锁的起因:对不可剥夺资源的竞争和进程推进顺序非法
2.死锁产生的必要条件:(全部满足才可能产生死锁)
(1)互斥条件
(2)不剥夺条件
(3)请求并保持条件:进程在保持资源的情况下,提出新的资源请求,导致自己被阻塞,且对自己已获得的资源保持不放
(4)循环等待条件:

3.死锁的处理
(1)死锁预防:设置限制条件,破坏死锁必要条件,缺点是系统资源利用率低
(2)死锁避免:在运行时判断是否可能死锁,寻找可能的安全允许顺序。必须知道将来的资源需求
(3)死锁检测:允许死锁发生,定时检查死锁是否发生。通过剥夺解除死锁,造成损失。

4.死锁的避免:银行家算法
安全状态:系统能按某种进程推进顺序为每个进程分配资源,使每个进程都可完成。
不安全状态:无法找到某个安全序列,能够使系统进入安全状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值