操作系统作业答.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题一 1、举例说明为什么对并发执行的程序不加控制会产生与执行时间有关的错误? 解:程序在并发执行时由于资源是共享的,而且常常资源数少于程序对这些资源的需求数,致使这些并发执行的程序之间因为竞争资源导致存在间接制约关系,这种间接制约使得并发执行的程序具有随机性(异步性),即“执行—暂停—执行”,它们何时启动、何时停止是未知的。例如:飞机售票系统、堆栈的存数与取数过程等(示例说明略)。 2、程序并发执行为什么会失去顺序执行时的封闭性和可再现性? 解:所谓“封闭性”是指程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。在程序并发执行时由于资源共享,导致这些资源的状态将由多个程序来改变,又由于存在程序执行的随机性,所以程序的运行失去封闭性。由于失去了封闭性,也将导致其失去可再现性。即虽然它们执行时的环境和初始条件相同,但得到的结果却可能各不相同。 习题二 1、试用加锁的方法解决飞机售票系统的问题。 例:民航售票系统,n个售票处 2、用机器指令(testAndset)解决飞机售票系统中任一进程的算法。 习题三 1、进程在做P、V操作时对自己和其他进程有何影响? 进程在信号量上执行P操作后,若信号量的值为正,当前进程继续执行;若信号量的值为负,当前进程变为等待状态、放弃处理机,其它进程则有机会获得CPU。 进程在信号量上执行V操作后,不会对自己有任何影响,但当信号量的值不大于0时,需要唤醒在该信号量上所对应的等待队列中的进程。 2、设课程的前驱、后继关系如下,若每修一门课程看作进程Px(x∈1..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); End; End; End; P4() P5() P6() Begin begin begin P(S3); P(S4); P(S5); 修数据结构; 修86汇编语言; P(S6); V(S5); V(S6); 修操作系统; End; End; 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 W1 process W2 repeat 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);

文档评论(0)

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

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

1亿VIP精品文档

相关文档