第2章-处理器管理(17-18)ppt课件.ppt

第2章-处理器管理(17-18)ppt课件.ppt

ID:58707178

大小:529.50 KB

页数:54页

时间:2020-10-04

第2章-处理器管理(17-18)ppt课件.ppt_第1页
第2章-处理器管理(17-18)ppt课件.ppt_第2页
第2章-处理器管理(17-18)ppt课件.ppt_第3页
第2章-处理器管理(17-18)ppt课件.ppt_第4页
第2章-处理器管理(17-18)ppt课件.ppt_第5页
资源描述:

《第2章-处理器管理(17-18)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章处理器管理主讲:周文强课程:操作系统本章内容2.7进程死锁2.8处理器管理新技术2.9Windows操作系统的进程管理2.7进程死锁死锁问题是Dijkstra于1965年在研究银行家算法(该问题原来是为了研究银行家如何将一定的资金安全地借给若干顾客的问题)时首先提出来的,后来Havender等人又进一步认识这一现象并将其发展。实际上,死锁是一个具有普遍性的现象,在各个领域乃至日常生活中也屡见不鲜。研究死锁问题是保证操作系统正确、可靠运行必须考虑的课题。并行进程的执行虽然改善了系统资源的利用率,

2、提高了系统的处理能力,但并行执行的风险增大了,因为并发进程执行的结果与时间有关,且对临界资源的管理或操作不当(如在生产者与消费者问题中的P操作的次序颠倒时等)就会产生死锁。1.死锁的概念死锁(Deadlock),是指在多道程序系统中的两个或多个进程,当某个进程提出资源请求后,使得若干进程在无外力作用下,永远不能再继续前进,称这种情况为系统发生了死锁或僵局(DeadlyEmbrace)。或当两个或多个进程因竞争系统资源而无休止地相互等待时,称这些进程是死锁的,或处于死锁状态。2.死锁的原因1.竞争临界

3、资源当系统中供多个进程共享的临界资源(如输入设备、打印机、公用队列等)的数目不能满足各个进程的需要时,会引起各个进程对资源的竞争而产生死锁。可以说,资源不足是产生死锁的最主要的原因,但是这个问题在多道程序系统中是无法解决的。2.进程推进顺序不当进程在运行过程中,请求和释放资源的顺序不当,也同样会导致死锁的产生。案例条件:1、进程A和进程B均需要申请得到资源R1和资源R2方可运行。2、进程A先申请得到R1,然后进程B申请也得到R2。执行:1、随后进程A又申请R2,但R2因为B进程正占用该资源而阻塞,等

4、待B释放R2。2、进程B又申请R1,但R1因为A进程正占用该资源而阻塞。结论:A、B两个进程都因为申请不到所需的资源而处于阻塞状态,都不能继续运行,就形成了死锁。3.产生死锁的必要条件系统中资源有限,而且进程各自按照自己的顺序向前推进。因此会产生死锁,但并非一定会产生死锁。(1)互斥条件。在同一段时间内,每一资源只能被一个进程使用,若有别的进程也请求该资源,则必须等待该资源被释放。(2)占有并请求条件。允许进程不释放已经分配到了一些资源,并可以请求并等待分配新的资源。(3)不可剥夺条件。已分配给某进

5、程的资源不可被剥夺,只能由占有它的进程使用完后主动释放。(4)循环等待条件。系统必然存在一条由两个或两个以上的进程组成的循环链,链中的每一个进程都在等待相邻进程所占用的资源。这反映在资源分配图(一种有向图:含进程与资源两类结点,由进程结点指向资源结点的边表示资源请求,由资源结点指向进程结点的边表示资源分配)中就是存在有向封闭环路。2.7.2死锁的预防和避免了解产生死锁的必要条件后,下一步就是如何预防和避免死锁的问题。1.死锁的预防死锁的预防就是通过破坏产生死锁的必要条件之一,使系统中不发生死锁的一种

6、操作系统用来对付死锁的办法。这种办法是在系统运行之前就采取措施,即在系统设计时确定资源分配算法,消除发生死锁的任何可能性。该方法虽然比较保守、资源利用率低,但因简单明了并且安全可靠,仍被广泛采用。产生死锁的四个必要条件中,互斥条件和不可剥夺条件几乎都是由共享资源本身的使用特性所决定的,因此不好破坏。那么,实用的死锁预防办法就是通过破坏占有并请求条件和循环等待条件来实现的。(1)静态资源分配法采用这种方法时,系统规定每—个进程在开始运行前,都必须—次性地申请其在整个运行过程中所需的全部资源。此时,若系

7、统有足够的资源,便把进程想要的全部资源一次性地分配给它;若不能全部满足进程的资源请求,则一个资源也不分给它。这样,进程在运行过程中就不会再提出资源请求,从而破坏了占有与请求条件。该方法的优点是简单、安全、易实现,缺点是资源被严重浪费。(2)有序资源使用法在采用这种方法时,系统中的所有资源按类都被赋予一个唯一的编号,每个进程只能按编号的升序申请资源。即对同一个进程而言,它一旦申请了一个编号为n的资源,就不允许再申请编号比n小的资源了,因此,破坏了循环等待条件。该方法的优点是安全且资源利用率比静态资源分

8、配法有所提高,因为它实际是一种半动态的资源分配法。缺点是实现较困难,因为难给出合适的资源编号,不便于系统增添新设备,不便于用户编程,且仍有一定的资源浪费现象。2.7.3死锁的避免在死锁的预防中我们采用限制死锁的必要条件的方法虽然简单,但严重损害了系统的性能。如果将限制条件弱化,既能获得满意的系统性能,也能够有效地避免死锁。安全状态与不安全状态安全状态是指系统能够按照某种进程顺序,即一种进程推进序列(称为安全序列),来为每个进程分配其所需资源,使每个进程都可以顺利完成。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。