ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:22.74KB ,
资源ID:13229628      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13229628.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统第4章习题带答案教学教材Word格式.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统第4章习题带答案教学教材Word格式.docx

1、P175P24P3P4利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它? 答:Request(1,2,2,2)=(2,3,5,6)申请合法 Request(1,2,2,2)=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1 没有进程的need满足=work 系统处于不安全状态,系统拒绝此次资源分配。2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。它们向系统申请资源的次序和数量如表所示。回答:次序进程申请量QP问:采用死锁避免的方法

2、进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?第1次申请,Q申请资源2,系统安全,分配 第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配 资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满足。3、一个计算机系统有6个磁带驱动器和4个进程。每个进程最多需要n个磁带驱动器。问当n为什么值时,系统不会发生死锁?并说明理由 n=2理由同第4题(进程资源最大需求1)进程数量1系统资源数量4、 若系统有某类资源mn+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行

3、的每一个进程对该资源的占有量任何时刻都不会超过m+1个。当进程申请资源时只要有资源尚未分配完则满足它的申请,但用限制系统中可同时执行的进程数来防止发生死锁,你认为进程调度允许同时执行的最大进程数应该是多少?并说明原因。答;假设系统中有x个进程的进程,则资源至少要有mx+1个才不会产生死锁,由于系统资源有mn+1个,则可列出不等式:mx+1mn+1解不等式,得到xn,所以系统允许同时执行的最大进程数为n。证明:假设在系统允许同时执行的最大进程数为n时,仍然出现了死锁,此时应该存在一组进程都在等待资源,而且系统已无资源可用。则此时该组进程最多n个,每个进程没有执行完时最多占用m个资源,所以现在系统

4、分配出去的资源最多mn,少于系统资源mn+1,所以不可能有死锁出现。 若系统进程数量为n+1,每个进程占有最大资源数量为m+1,则会出现死锁。例如,当其中n个进程均占有m个资源,剩下的一个进程占有了最后一个资源,所有进程都都还需要资源才可运行完,而此时系统已经无资源可用,产生死锁。因此,系统允许同时执行的最大进程数为n时系统不会有死锁发生5、设系统中有3种类型的资源A、B、C和5个进程P0、P1、P2、P3、P4,A资源的数量为10,B资源的数量为5,C资源的数量为7。在T0时刻系统状态如下表所示。系统采用银行家算法实施死锁避免策略。(12分) MaxABCP0P19. T0时刻是否为安全状态

5、?若是,请给出安全序列。在T0时刻若进程P1发出资源请求Request(1,0,2),是否能够实施资源分配?在的基础上P4发出资源请求Request(3,3,0),是否能够实施资源分配?在的基础上P0发出资源请求Request(0,2,0),是否能够实施资源分配?见课本五、应用题 1、如果有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。当缓冲器中无数时,进程R可以将从输入设备上读入的数存放到缓冲器中。若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。同时规定:进程R必须等缓冲区中的数被取出打印后才能再存放一个数;进程

6、W1或W2对每次存入缓冲器的数只能打印一次;W1和W2都不能从空缓冲中取数。写出这三个并发进程能正确工作的程序。semaphore S=1,SO=SE=0;buffer B;void R1()int x;while(1)从输入设备上读一个数;x=接收的数;wait(S);B=x;if B=奇数 then signal(SO);else signal(SE); void W1()int y; wait(SO);y=B;signal(S);打印y中数;void W2()int z; wait(SE);z=B;打印z中数 ;main() cobegin R(); W1(); W2();2、设计一种可

7、以避免死锁的资源分配算法,要求写明数据结构和相应方案或算法。参考课本上方案3、复印室里有一个操作员为顾客复印资料,有5把椅子供顾客休息等待复印。如果没有顾客,则操作员休息。当顾客来到复印室时,如果有空椅子则坐下来,并唤醒复印操作员;如果没有空椅子则必须离开复印室。利用信号量机制解决该同步互斥问题。设置3个信号量:customers表示正在等待复印的顾客数量(不包括正在复印的顾客);operator记录正在等候顾客的操作员数,只有1和0;mutex用于对变量waiting的互斥访问。1个变量:waiting表示等待的顾客数量。semaphore customers=0,operator=0,mu

8、tex=1;waiting=0;process operator( )/操作员进程 while(1) wait(customers); /等待顾客到来 复印; signal(operator); /通知顾客已经完成复印process cusotmeri( )/顾客进程iwait(mutex); if(waiting5) waiting+;signal(customers);signal(mutex);wait(operator);waiting-;else 离开复印室;main( )cobegin operator( ); customeri( );4、a,b两点之间是一段东西向的单行车道,现

9、要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点和b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。请用信号量机制为工具,对ab段实现正确管理以保证行驶安全。Semaphore S1=1,S2=1,Sab=1; int ab=ba=0; void Pab () while(1) wait(S1);if(ab=0) wait(Sab); ab=ab+1;signal(S1); 车

10、辆从a点驶向b点; wait(S1); ab=ab-1; if(ab=0)signal(Sab); signal(S1); void Pba () wait(S2); if(ba=0)wait(Sab); ba=ba+1; signal(S2); 车辆从b点驶向a点; ba=ba-1;cobegin Pab (); Pba (); 5、某系统五个合作的进程前驱图如下,请用信号量方法控制它们的执行,以确保它们的执行顺序,请写出类c算法。P5参考解题方案 5、一条河上架设了由若干个桥墩组成的一座桥。若一个桥墩只能站一个人,过河的人只能沿着桥向前走而不能向后退。过河时,只要对岸无人过,就可以过。但不

11、允许河对岸的两个人同时过,以防止出现死锁。请给出两个方向的人顺利过河的同步算法。 假设桥墩数量为ksemaphore s, scounteast, scountwest, scount;s=1, scounteast=1, scountwest=1, scount=k;int Counteast=0, Countwest=0;void east(int i) wait(scounteast); if(Counteast=0) wait(s); Counteast+; signal(scounteast); wait(scount4); 上桥,过桥,下桥; signal(scount4); Counteast-; signal(s);void west(int i) wait(scountwest); if(Countwest=0) Countwest+; signal(scountwest); s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1