网站大量收购独家精品文档,联系QQ:2885784924

第三章作业、处理机调度技术总结.ppt

  1. 1、本文档共204页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
 (2) 从进程集合中找到一个能满足下述条件的进程:   ① Finish[i]=false;   ② Need[i,j]≤Work[j];若找到,执行步骤(3),否则,执行步骤(4)。   (3) 当进程Pi获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行: Work[j]:= Work[j]+Allocation[i,j]; Finish[i]:=true; go to step 2;   (4) 如果所有进程的Finish[i]=true都满足,则表示系统处于安全状态;否则,系统处于不安全状态。 银行家算法之例   假定系统中有五个进程{P0,P1,P2,P3,P4}和三类资源{A,B,C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图3-16所示。 图3-16 T0时刻的资源分配表   (1) T0时刻的安全性:利用安全性算法对T0时刻的资源分配情况进行分析(见图 3-17所示)可知,在T0时刻存在着一个安全序列{P1,P3,P4,P2,P0},故系统是安全的。  图3-17 T0时刻的安全序列  (2) ?P1请求资源:P1发出请求向量Request1(1,0,2),系统按银行家算法进行检查:   ① Request1(1,0,2)≤Need1(1,2,2)   ② Request1(1,0,2)≤Available1(3,3,2)   ③ 系统先假定可为P1分配资源,并修改Available,Allocation1和Need1向量,由此形成的资源变化情况如图3-16中的圆括号所示。 ④ 再利用安全性算法检查此时系统是否安全。 如图3-18所示。  图3-18 P1申请资源时的安全性检查 (3)P4请求资源:P4发出请求向量Request4(3,3,0),系统按银行家算法进行检查:  ① Request4(3,3,0)≤Need4(4,3,1);  ②Request4(3,3,0)≤Available(2,3,0),让P4等待。  (4)P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查:  ① Request0(0,2,0)≤Need0(7,4,3);  ② Request0(0,2,0)≤Available(2,3,0);  ③ 系统暂时先假定可为P0分配资源,并修改有关数据,如图3-19所示。 图3-19 为P0分配资源后的有关资源数据  (5) 进行安全性检查:可用资源Available(2,1,0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。   如果在银行家算法中,把P0发出的请求向量改为Request0(0,1,0),系统是否能将资源分配给它,请考虑。 解除死锁: 释放进程或资源 1、资源剥夺法 以花费最小资源数为依据,强行剥夺足够数量的资源给死锁进程。 还原算法、建立检查点 2、撤消进程法 按照某种顺序逐渐地撤消已死锁的进程,直到获得为解除死锁所需要的足够可用的资源为止。 撤消代价最小的进程 小结: 进程:定义、状态、与程序的区别、与线程 的区别。 同步与互斥 同步原语P、V操作的定义、信号量概念 经典的同步与互斥问题 消息缓冲区的send和receive的实现 死锁问题 并发程序设计 作业: 1、作业的状态及转换关系 2、叙述三级调度的功能 (1)按先来先服务原则计算T、W 作 业 号? ? 1 ? ?2 ? 3 ?? ? 4 ?? 到达时间 8.00 9.30 9.00 9.50 运行时间 1.00 0.50 0.10 0.20 (2)按最短作业优先法计算T、W 作 业 号? ? 1 ? ?2 3 ??? ? 4 ?? 到达时间 8.00 9.30 9.00 9.50 运行时间 1.00 0.50 0.10 0.20 (3)按时间片轮转调度算法T、W(取时间片=3) 进??程??? ?P1 ??? P2????? P3 下一个CPU周期 ?? 22???? ??3 ????? 3 实验: 1、编程计算(2)的T和W 实验: 设计一个有N个进程并行的进程调度程序。进程调度调度算法:采用最高优先数法。每个进程有一个进程控制块(PCB )表示,包括进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等。 开始 初始化PCB、输入信息 按优先数排列 队列空 结束 就绪队列首进程投入运行 时间片到,运行进程已占用CPU时间+1 运行进程已占用CPU时间到达所需时间 撤消进程 使运行进程的优先数减1,把运行进程插入就绪队列 1、建立一个链表,每个结点包括:学

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档