linux处理机调度与死锁

linux处理机调度与死锁

ID:36209653

大小:897.31 KB

页数:35页

时间:2019-05-07

linux处理机调度与死锁_第1页
linux处理机调度与死锁_第2页
linux处理机调度与死锁_第3页
linux处理机调度与死锁_第4页
linux处理机调度与死锁_第5页
资源描述:

《linux处理机调度与死锁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、7.3死锁的概念7.3.1死锁的定义可重用资源(reusableresource):各个进程可以轮流使用,如处理机、内存、I/0外设、文件等都是可重用资源,在使用可重用资源时可能出现的死锁(Deadlock)。通常是由于各进程巳拥有部分资源,同时请求其他进程已占有的资源,从而造成永远等待。可消耗资源(consumableresource):是指可以动态生成和动态消耗的资源,一般不限制数量,如中断、信号量、消息、缓冲区等都是可消耗资源。由于可消耗资源的生成和消耗存在依赖关系,因此他们的使用也可能因为双方

2、都等待对方生成资源而形成死锁。1图7-1进程之间通信时的死锁2死锁的定义:死锁是一组并发进程,它们共享系统的某些资源,该组进程中每个进程都已经占有了部分资源,但都在不释放自己占有资源的情况下要求获得被其它进程已经占有的资源,从而造成它们相互等待,永远不能继续推进的状态.说明:①参与死锁的进程最少是两个(两个以上进程才会出现死锁)。②参与死锁的进程至少有两个已经占有资源。③参与死锁的所有进程都在等待事件。④参与死锁的进程是当前系统中所有进程的子集。37.3.2资源分配图(2)凡属于E中的一个边e∈E,都

3、连接着P中的一个结点和R中的一个结点,e={pi,rj}是资源请求边,由进程pi指向资源rj,它表示进程pi请求一个单位的rj资源。e={rj,pi}是资源分配边,由资源rj指向进程pi,它表示把一个单位的资源rj分配给进程pi。该图是由一组结点V和一组边E所组成的:G=(V,E),具有以下形式的定义和限制:(1)V被分为两个互斥的子集,一组进程结点P={p1,p2,…,pn},一组资源结点R={r1,r2,…rn},47.3.3产生死锁的原因产生死锁的根本原因是:⒈资源不足,引起资源竞争⒉进程推进顺

4、序不合理5例:设有两个进程Pa和Pb,它们都需要使用系统内的打印机和输入机.它们的算法设计如下:设信号量s1代表输入机资源可用数量,s1=1设信号量s2代表打印机资源可用数量,s2=1Pa:P(s2)…P(s1)…V(s2)…V(s1)Pb:P(s1)…P(s2)…V(s1)…V(s2)67.3.4死锁产生的必要条件⑴互斥条件。进程要求对所分配的资源进行排他性使用,即在一段时间内某资源仅为一个进程所占用。⑵不剥夺条件。进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能由获得该资源的进程自

5、己来释放。⑶请求和保持条件。进程每次申请所需要的一部分资源,在等待新资源的同时,进程继续占有已分配到的资源。⑷循环等待条件。存在进程资源的循环等待链,链中的每一个进程已获得资源,同时被链中的下一个进程所请求。77.4预防死锁解决死锁问题的基本方法有:预防死锁、避免死锁、检测死锁和解除死锁。除此之外还有鸵鸟算法和综合措施。预防死锁是指通过某种策略来限制并发进程对资源的请求,使系统在任何时刻都不满足死锁的必要条件。就是在设计操作系统时,通过设置某些限制条件,去破坏死锁四个必要条件中的一个或多个,来防止死锁

6、,使系统能预先排除死锁的可能性。87.4.1摒弃请求和保持条件采用设备的静态预先分配办法,具体作法:作业调度程序在选择作业时,只选择那些系统能满足其运行时所需的全部资源的作业投入运行,并且在作业运行前,将其所需的全部资源一次性地分配给该作业.该方法的优点和缺点如下:①简单、安全、易于实现。②程序在运行之前很难提出将要使用的全部设备。③直到所有资源满足才能运行,实际上某些资源可能要到运行后期才会用到。④一个进程运行期间,对某些设备的使用时间很短,甚至不会用到。⑤作业的周转时间被加长,系统资源的使用率被降

7、低97.4.2摒弃不剥夺条件为了破坏不可剥夺条件,我们采用这样的策略,一个已拥有资源的进程,若它再提出新资源要求而不能立即得到满足时,它必须释放已经拥有的所有资源,以后需要时再重新申请。拥有资源的进程在运行过程中其资源可能被剥夺,从而破坏了不可剥夺条件。该方法实现复杂,被剥夺资源的进程前期工作失效,重复申请和释放资源给系统增加了开销,系统要付出很大的代价。107.4.3摒弃环路等待条件为了破坏环路等待条件,采用有序资源分配策略。对申请资源的进程规定:同类资源需一次申请,在获得资源后,只能申请较高级号的

8、资源,无权申请低级号资源和同类资源。对于低级号资源和同类资源申请,必须先释放所有高级号的资源,然后再申请,否则不予分配。优点:同前两法相比,其资源利用率和系统吞吐量有较明显的改善。缺点:进程实际需要资源的顺序不一定与资源的编号一致,因此仍会造成资源浪费,系统增加新设备较困难。117.4.4摒弃互斥条件互斥条件是由于设备本身特性所决定的,不能简单的把其打破;只有通过改造设备特性实现.具体办法采用Spooling技术,把独占设备改造成共享设备来实现.127.

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

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

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