资源分配与调度

第五章

死锁

image-20211208093131786

死锁:各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进的现象。
饥饿:由于长期得不到想要的资源,某进程无法向前推进的现象。比如:在短进程优先(SPF) 算法中,若有源源不断的短进程到来,则长进程将一直得不到处理机,从而发生长进程“饥饿”。
死循环:某进程执行过程中- -直跳不出某个循环的现象。有时是因为程序逻辑bug导致的,有时是程序员故意设计的。

image-20211208093155769

死锁产生条件

产生死锁必须同时满足一下四个条件, 只要其中任一条件不成立, 死锁就不会发生。
互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁(如哲学家的筷子、打印机设备)。像内存、扬声器这样可以同时让多个进程使用的资源是不会导致死锁的( 因为进程不用阻塞等待这种资源)。

不剥夺条件:进程所获得的资源在未使用完之前,不能由其他进程强行夺走,只 能主动释放。

请求和保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又被其他进程占有,此时请求进程被阻塞,但又对自己已有的资源保持不放。

**循环等待条件:**存在一种进程资源的循环等待链,链中的每一个进程已获得的资源同时被下一个进程所请求。

注意!发生死锁时一-定有循环等待,但是发生循环等
待时未必死锁(循环等待是死锁的必要不充分条件)

如果同类资源数大于1,则即使有循环等待,也未必发生死锁。但如果系统中每类资源都只有一个,那循环等待就是死锁的充分必要条件了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vDYdCd6z-1653748459100)(https://s2.loli.net/2021/12/15/1cTaqSQDzsZyEJd.png)]

第六章

image-20211207170857750

三级调度

高级调度作业调度):

image-20211207171923712

由于内存空间有限,有时无法将用户提交的作业全部放入内存,因此就需要确定某种规则来决定将作业调入内存的顺序。
高级调度(作业调度)。按一定的原则从外存上处于后备队列的作业中挑选-一个(或多个)作业,给他们分配内存等必要资源,并建立相应的进程(建立PCB),以使它(们)获得竞争处理机的权利。
高级调度是辅存(外存)与内存之间的调度。每个作业只调入一次,调出一次。作业调入时会建立相应的PCB,作业调出时才撤销PCB。高级调度主要是指调入的问题,因为只有调入的时机需要操作系统来确定,但调出的时机必然是作业运行结束才调出。

中级调度(作业调度)

image-20211207172128448

引入了虚拟存储技术之后,可将暂时不能运行的进程调至外存等待。等它重新具备了运行条件且内存又稍有空闲时,再重新调入内存。
这么做的目的是为了提高内存利用率系统吞吐量。暂时调到外存等待的进程状态为挂起状态。值得注意的是,PCB并不会一 起调 到外存,而是会常驻内存。PCB中 会记录进程数据在外存中的存放位置,进程状态等信息,操作系统通过内存中PCB
来保持对各个进程的监控、管理。被挂起的进程PCB会被放到的挂起队列中。
中级调度(内存调度),就是要决定将哪个处于挂起状态的进程重新调入内存。一个进程可能会被多次调出、调入内存,因此中级调度发生的频率要比高级调度更高

低级调度(进程调度)

image-20211207172503655

低级调度(进程调度),其主要任务是按照某种方法和策略从就绪队列中选取- -个进程,将处理机分配给它。
进程调度是操作系统中
最基本的一-种调度
, 在一般的操作系统中都必须配置进程调度。

image-20211207172728192

调度算法的指标

image-20211207181945518

image-20211207182118301

调度算法种类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OZW6nm6t-1653748459109)(https://s2.loli.net/2021/12/15/cLglUZOPCnG5p31.png)]

时间片轮调度算法

image-20211207230209769

image-20211207224753580

如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程响应时间。因此时间片不能太大

另一方面,进程调度、切换是有时间代价的(保存、恢复运行环境),因此如果时间片太小,会导致进程切换过于频繁,系统会花大量的时间来处理进程切换,从而导致实际用于进程执行的时间比例减少。可见时间片也不能太小。

优先级调度算法

image-20211207230935430

非抢占级:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xP9YAksS-1653748459116)(https://s2.loli.net/2021/12/15/zNUDyxWECQPgSr5.png)]

抢占级:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xNlClTHR-1653748459116)(https://s2.loli.net/2021/12/15/1TVkCpKRoI3hQ5a.png)]

多级反馈队列调度

image-20211207231732558

image-20211207231608284

思维导图:

[外链图片转存中…(img-i7rVEiO5-1653748459117)]

[外链图片转存中…(img-hzdbcL0P-1653748459118)]

思维导图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-woN4sFby-1653748459119)(https://s2.loli.net/2021/12/15/MrOotxDafdn1lQe.png)]

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值