第5章-资源分配与调度.ppt

第5章-资源分配与调度.ppt

ID:61772271

大小:512.00 KB

页数:27页

时间:2021-03-19

第5章-资源分配与调度.ppt_第1页
第5章-资源分配与调度.ppt_第2页
第5章-资源分配与调度.ppt_第3页
第5章-资源分配与调度.ppt_第4页
第5章-资源分配与调度.ppt_第5页
资源描述:

《第5章-资源分配与调度.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1计算机操作系统第五章资源分配与调度2本章要点两种资源分配方式静态分配动态分配死锁定义、起因、产生死锁的必要条件、不产生死锁的最小资源数规避死锁的方法预防避免检测与恢复银行家算法35.1资源管理概述1、操作系统对资源管理和分配的目标保证资源有高的利用率;在合理的时间内使所有用户进程具有获得所需资源的机会;(尽可能满足更多用户的需求)对不可共享的资源实施互斥使用;防止由于资源分配不合理而引起的死锁。45.1资源管理概述2、资源分配的两种方式静态分配:在作业级实施当一个作业运行前,将它要求的所有资源一次性分配给该作业,直到该作业完成时释放其占用的所有资源,分配给

2、作业的资源伴随作业的整个运行过程。缺点:效率太低动态分配:在进程级实施当一个进程要求使用某个(类)资源时,向系统提出资源的请求,系统响应进程的请求将某种资源分配给进程,进程使用完毕后立即释放该资源优点:系统资源的利用率提高缺点:有可能造成死锁55.3死锁分配分配请求请求P1P2R1R2图5‑1一种死锁状态5.3.1死锁的定义与例子[例1]:假设系统中有P1、P2两个进程并发执行,P1和P2在执行中都同时需要资源R1和R2,R1和R2都是一次只能给一个进程使用的临界资源,如左图所示。而右图则标示了系统在某种资源分配方式下产生的死锁状态。6算法描述:main()

3、{intfull=0;intempty=n;intmutex=1;cobeginproduceri();consumerj();coend}/*某个生产者进程i*/produceri(){while(生产未完成){生产一个产品;P(empty);//请求缓冲区有空条件P(mutex);//请求进入临界区送一个产品到缓冲区;//临界区V(mutex);//释放临界区V(full);//释放缓冲区有数条件}}/*某个消费者进程j*/cosumerj(){while(还要继续消费){P(full);//请求缓冲区有数条件P(mutex);//请求进入临界区从缓冲区

4、中取一个产品;//临界区V(mutex);//释放临界区V(empty);//释放缓冲区有空条件消费产品;}}例[2]多个生产者、多个消费者共享多个缓冲区5.3.1死锁的定义与例子7/*某个生产者进程i*/produceri(){while(生产未完成){生产一个产品;P(mutex);//请求进入临界区P(empty);//请求缓冲区有空条件送一个产品到缓冲区;//临界区V(mutex);//释放临界区V(full);//释放缓冲区有数条件}}/*某个消费者进程j*/cosumerj(){while(还要继续消费){P(full);//请求缓冲区有数条件P

5、(mutex);//请求进入临界区从缓冲区中取一个产品;//临界区V(mutex);//释放临界区V(empty);//释放缓冲区有空条件消费产品;}}将mutex与empty(或full)信号量的申请颠倒:5.3.1死锁的定义与例子8死锁的定义死锁:系统中所有的并发进程彼此互相等待对方所拥有的资源,且它们在得到对方资源之前不会释放自己所拥有的资源,从而造成互相死等,却永远等不到的一种任一进程都不能继续运行的系统状态。在死锁状态下,进程都处于阻塞态,解除它们阻塞的事件或条件永远也不会发生5.3.1死锁的定义与例子95.3.2产生死锁的原因和必要条件产生死锁的

6、根本原因:系统资源不足死锁是资源竞争和资源分配不合理两个因素同时作用所产生的可能结果资源不足资源共享资源竞争合理分配不合理分配提高资源利用率死锁105.3.2产生死锁的原因和必要条件如果不考虑资源分配的合理性,若要不产生死锁,则资源的个数必须满足以下条件(即系统不会产生死锁的最小资源数):设系统所拥有的资源总数为M,共享该资源的进程数为P,每个进程所需使用该资源的最大需求为N,则M≥P*(N-1)+1时无论如何分配都不会产生死锁。115.3.2产生死锁的原因和必要条件证明方法一:∵不产生死锁的条件是至少有一个进程能运行,其分配的极端情况是:当每个进程都占有了

7、N-1个该类资源,只缺一个即可运行,若此时系统正好有一个资源剩余,满足:M≥P*(N-1)+1时系统不会产生死锁。证明方法二(反证法):如果M≥P*(N-1)+1会产生死锁,则表示M个资源已经分配完毕,且每个进程至少缺一个资源而都不能运行,∴至少缺少P个资源不能满足,即M≤P*N-P=P*(N-1)与题意M≥P*(N-1)+1矛盾∴系统不会产生死锁。12思考:设某类资源是独占资源,系统拥有该类资源数为M,有N个进程竞争该类资源,其中各进程对该类资源最大需求为W,当M,N,W分别取下列各值时,判断是否可能发生死锁?1、M=2N=2W=1;2、M=3N=2W=2

8、;3、M=3N=2W=3;4、M=5N=3W=2;5

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

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

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