操作系统(第四单元)

4.1调度类型与准则

调度类型:高级调度、低级调度、中级调度

高级调度:
又称作业调度、宏观调度。外存上后备队列中的作业调入内存。适用于批处理系统。

低级调度:
又称进度调度、微观调度。决定就绪队列中哪些进程获得处理机。适用于分时、实时、批处理系统。
调度方式:非剥夺式、剥夺式
抢占原则:时间片、优先权、进程长短

中级调度:
又称对换程序。内存外存对换,解决内存紧张问题。

进程调度方式:
不可剥夺方式(非抢占方式)、可剥夺方式(抢占方式)

进程调度时机:
进程退出、进程阻塞、新进程创建、中断发生、时钟中断

调度性能准则:
面向用户的准则(响应时间快、周转时间短、优先权准则、截止时间保证)
面向系统的准则(系统吞吐量、处理机利用率、各类资源平衡利用、公平)

周转时间=作业完成时刻-作业到达时刻

带权周转时间=周转时间/实际服务时间=(等待时间+实际服务时间)/实际服务时间

4.2调度算法

先来先服务调度算法FCFS:有利于长作业
短作业优先调度算法SJF:(短进程优先调度算法SPN):极端情况下,长作业得不到调度
时间片轮转调度算法
响应时间T=用户数目N时间片q*
最短剩余时间优先SRT
响应比高者优先HRRN
响应比RP=(等待时间+要求执行时间)/要求执行时间=响应时间/要求服务时间
多级反馈队列MFQ
优先权调度算法:
静态优先权:确定因素:静态类型、进程对资源的需求、用户需求
动态优先权:确定因素:等待时间、运行时间

4.3死锁的基本概念

一组竞争系统资源或相互通信的进程相互的“永久”阻塞。若无外力作用,这组进程将永远不能继续执行。

产生死锁的原因
资源数<要求该种资源的进程数
进程的推进顺序非法

可重复资源:
往往一次只能分配给一个进程安全使用,并且不会因为使用而耗尽。进程得到这类资源,使用完毕就释放,其他进程再次使用。如I/O通道、处理机、设备等。
可消耗资源:
是指可以创建和撤消的资源,一个进程使用后,就不在存在。如中断、信号量、消息和缓存区等。

产生死锁的条件:

产生死锁的必要条件
互斥条件
请求保持条件
不可剥夺条件
产生死锁的充分条件
环路条件

死锁的处理方法:
死锁的预防
死锁的避免
死锁的检测与恢复

4.4死锁的预防与避免

死锁的预防:

互斥条件不可禁止
去掉“请求保持条件”
采用预先静态分配方法:系统要求所有进程一次性地申请其所需的全部资源。
去掉“不可剥夺条件”
去掉“环路条件”
采用资源的有序分配:令所有资源排队,并赋予序号。当进程请求资源,必须严格按照递增次序提出,从而消除环路。
死锁的预防效率低。
死锁的避免:
银行家算法
进行资源预分配
实施安全检测
(安全:真正资源分配;不安全:回到预分配前状态)

4.5死锁的检测与解除

死锁的检测:资源分配图
死锁的解除
剥夺资源(从其他进程剥夺足够数量的资源给死锁进程)
撤销进程(为接触死锁状态所需撤消的进程数目最小 撤消进程所付出的代价最小)

不会出现死锁的条件:总资源大于(进程需求-1)进程个数

安全状态不会出现死锁,出现死锁一定是在不安全状态,不安全状态不一定是因为死锁。

总结:
(1)调度类型与准则:高级调度(从内存)、中级调度、低级调度(从就绪队列) 不可剥夺、可剥夺
(2)调度算法:先来先服务、短作业优先(最短剩余时间,高响应比优先)、时间片轮询、优先权调度、多级反馈队列
(3)死锁的预防与避免:四个死锁必要条件、死锁预防(按顺序分配资源)、死锁避免(银行家算法)、死锁的检测(资源分配图)、死锁的解除(剥夺资源、撤消进程)
(真实系统解决死锁:鸵鸟算法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值