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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

操作系统作业答案Word格式.doc

1、 进程在信号量上执行V操作后,不会对自己有任何影响,但当信号量的值不大于0时,需要唤醒在该信号量上所对应的等待队列中的进程。2、设课程的前驱、后继关系如下,若每修一门课程看作进程Px(x1.6)试用P、V操作算法描述这种前驱与后继关系。答:Semaphore:S1:=S2:=S3:=S4:=S5:=S6:=0;Begin Cobegin P1、P2、P3、P4、P5、P6 coend; end.P1() P2() P3()Begin begin begin 修计算机导论; P(S1); P(S2); V(S1); 修高级语言程序设计 修计算机组成原理; V(S2); V(S3) V(S4);E

2、nd; End; End;P4() P5() P6()Begin begin begin P(S3); P(S4); P(S5); 修数据结构; 修86汇编语言; P(S6); V(S5); V(S6); 修操作系统; End;习题四1、有三个进程 R、W1、W2,进程 R 从输入设备上读数据送缓冲区 B,若是奇数由 W1 进程从 B 取数输出;若是偶数则由 W2 进程从 B 取数输出。设缓冲区 B 只有一个单元,试用信号量机制设计实现算法。1、se,sf1,sf2:semaphore;se:=1;sf1:=sf2:=0; R()、W1()、W2()并发执行Process R process

3、W1 process W2repeat repeat repeat 读数; P(sf1); P(sf2); P(se); 从B中取数; 从B中取数; 送数到B; V(se); V(se); if B mod 2!=0 then until false until false V(sf1); else V(sf2);until false2、设有一台计算机,挂有一台输入机和一台打印机。现在从输入机上把数据输入到缓冲区 B 中,处理程序处理后再把结果送到缓冲区B中,(设B只能放1个数据)然后在打印机上输出。问: (1)系统可设哪些进程来完成这一任务? (2)这些进程之间有什么样的制约关系? (3)

4、用 PV 操作写出这些进程的同步算法. (1) 输入进程、处理进程、输出进程 (2) 处理进程不能在输入进程之前执行、输出进程不能在处理进程之前执行;输入进程在未得到处理进程、输出进程的消息前不能运行。 (3) 输入()、处理()、输出()进程并发执行Semaphore:s1、s2、s3;=1;S2: process 输入() process 处理() process 输出() L1: 读数 L2: P(S2) L3: P(S3) P(S1) 从B取数处理后再送B 从B取数输出 送数到B V(S3) V(S1) V(S2) Goto L2 Goto L3 Goto L1 习题五1、设系统中有

5、M 个资源,N 个进程,每个进程都要求 K 个资源;若 M=5、N=5、K=2,问:(1)如何分配会导致死锁?(2)要不死锁应该如何分配? 如果对每个进程平均分配1个资源,则系统中的可用资源为 0,而每个进程都还需要1个资源,才能向前推进;因此、系统发生死锁。 只要保证有1个进程能获得2个资源,则它在有限的时间内就可以运行完成并释放资源,这样系统就不会死锁。例如、先给4个进程各分配1个资源,让它们先运行,通过安全性算法测试可以知道第5个进程的资源申请将被拒绝;再把最后1个资源分配给这4个进程中的1个即可。2、假设甲、乙、丙三个并发进程间的PV操作同步算法如下所示, 信号量S1,S2,S3 的初

6、值都为1,问这些算法在什么情况下发生死锁?如何防止死锁? 甲 乙 丙 . . .L1:P(S1) L2:P(S2) L3:P(S3) P(S2) P(S3) P(S1) V(S2) V(S3) V(S1) V(S1) V(S2) V(S3) goto L1 goto L2 goto L3甲P(S1)后暂停、乙P(S2) 后暂停、丙P(S3) 后暂停 采用按序分配,丙改为P(S1)、P(S3)。也可以改甲或乙进程的P、V操作次序,以限制进程的并发执行。习题六1.设有5个哲学家,共享一张放有五把椅子的桌子,每人分得一把椅子。但是,桌子上总共只有5支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时

7、才试图分两次从两边拾起筷子就餐。条件:(1) 只有拿到两支筷子时,哲学家才能吃饭。(2) 如果筷子已在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子。(3) 任一哲学家在自己未拿到两支筷子吃饭之前,决不放下自己手中的筷子。试:(1)描述一个保证不会出现两个邻座同时要求吃饭的通信算法。(2)描述一个既没有两邻座同时吃饭,又没有人饿死(永远拿不到筷子)的算法。(3) 在什么情况下,5 个哲学家全部吃不上饭?使用非对称解决 即奇数号的哲学家先拿起他左边的筷子,接着拿起他右边的筷子,而偶数号的哲学家先拿起他右边的筷子,接着再拿他左边的筷子。(1)设信号量c0c4,初始值均为1,分别表示i号筷子

8、被拿(i=0,1,2,3,4),send(i):第i个哲学家要吃饭beginthink;P(ci); P(ci+1 mod 5);eat;V(ci+1 mod 5); V(ci);该过程能保证两邻座不同时吃饭,但会出现5个哲学家一人拿一只筷子,谁也吃不上饭的死锁情况(2)解决的思路:让奇数号的哲学家先取右手边的筷子,让偶数号的哲学家先取左手边的筷子.这样,任何一个哲学家拿到一只筷子之后,就已经阻止了他邻座的一个哲学家吃饭的企图,除非某个哲学家一直吃下去,否则不会有人会饿死. 第i个哲学家要吃饭BeginIf i mod 2=0 then P(ci); P(ci+1mod 5)V(ci; ci+

9、1 mod 5) else P(ci+1 mod 5)P(ci)EatV(ci+1 mod 5)V(ci) End(3)非对称解决,并发主程序略Program diningphilosophers; Var chopstick:array0.4 of semaphore(:=1),i:integer;Procedure philosopher(i:integer);RepeatThink;If(i mod 2!=0) thenBeginP(chopsticki);P(chopstick(i+1) mod 5);吃面;V(chopstick(i+1) mod 5);V(chopsticki);EndElseP(chopstick(i+1) mod 5);P(chopsticki);Forever习题七1、某程序在虚拟(逻辑)地址100处有一条取数指令LOAD 1,500 而500单元存放数据51888。若程序分配

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

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