进程的调度与死锁

  今天看了进程的调度与死锁,感觉眼前一亮,我就发现学计算机的小哥哥小姐姐真的了不起,为了让这个电脑告诉的运行,前辈们想出来的方法是多么的伟大,用我的话说——刺啦六啊。现在就让我来介绍一下操作系统进程的调度与死锁吧。

  当你看到进程的调度,你最先想到的是什么?什么是进程调度,为什么要进行进程调度?这很关键。

 

   例子比如你安装一个内存比较大的应用程序,花费时间会很长,而这个应用程序又不着急用使用。这时你又想打开一个运行时间短的且紧急的应用程序,可是那个花费时间长的应用程序正在占用你的CPU,导致目前执行的小程序非常缓慢,所以你该怎么办呢?我想大家可能先终止,或者中断目前安装应用的程序,让小应用程序先运行。这样看来,这就是进程的调度。

 

先来一张思维导图来具体介绍进程的调度:

 

 

什么是进程的调度?

  个人理解:进程从就绪态到执行态,就是让就绪对列的一个或多个进程占用CPU。

 

如何让进程更好的合理的分配资源,使得CPU高效的工作,这里我们用到了进程的调度算法。

 

先来先服务调度算法(FCFS):谁先来谁先用CPU,适合长进程,不利于短进程。

  个人理解:好比排队买饭,队列首的人先买到饭,队列后的人后买。如果这个队列中有一个订饭的人,他需要花费很多时间买饭,其他买饭的人买饭需要花费很短,如果一直是别人买饭,是不是这订饭店人需要我穷的等待下去。如果让订饭的人先买,只要它订完饭,后面的买饭的人会很快的运行起来。所以说适合长进程,不利于短进程。(PS:书上说的是适合,不是利于长进程。)

 

短进程优先调度算法(SPF):谁在CPU上运行的时间越短,谁先运行。

  优点:降低进程平均等待时间,提高系统吞吐量。

  缺点:对长进程不利、紧迫进程无法及时处理、不一定能做到真正的短进程优先。

 

优先权调度算法(PS):赋予优先等级,优先权高的执行,优先权低的后执行。

 

时间片轮换调度算法(RR):每个进程赋予不同的时间片,CPU执行一个时间片,时钟中断执行,将进程插入就绪队列,用赋予该进程的时间片执行下一个进程,不断的重复。

  时间片大小的确定:T=Nq   T:系统响应的时间    N:进程的数量     q :时间片

  

基本原理如图所示:

 

 

多级队列调度:根据进程的属性,分配不同的就绪队列,不同的就绪对列采用不同的调度算法。一旦确定就绪队列,该进程无法进入别的就绪队列。

多级反馈队列调度:在多级队列调度的基础之上,进程可以在不同队列间移动,改变自己的就绪队列。课降低进程调度开销。

 

死锁

死锁是什么?为什么会产生死锁?

  死锁:多进程竞争共享资源引起进程无法向前推进的僵死状态称为死锁。

 

一张思维导图帮你解释一下:

 

 

死锁的避免:让系统资源分配状态为安全状态。

 

银行家算法:唯一的目的是让资源分配合理,保证系统安全运行。

   可利用资源向量Available

   最大需求矩阵Max

   分配矩阵Allocation

   需求矩阵Need。

个人理解:可利用资源给需求矩阵,完成任务的执行,释放该任务所有占有的资源。将释放的资源再次进行不断分配,直到所有的任务结束。

 

上面是我对进程调度和死锁的看法,希望小伙伴提出宝贵的建议,您的建议就是我收到的最好的礼物!

PS:来的小哥哥,小姐姐,记得顶一个吧。奋斗

 

评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值