青岛理工大学操作系统第二章简答题答案.docVIP

青岛理工大学操作系统第二章简答题答案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
青岛理工大学操作系统第二章简答题答案

一、比较进程与程序的异同 区别: (1)进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。 (2)进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存。 (3)程序和进程的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。 联系: (1)进程是程序的一次执行,进程总是对应着一个特定的程序,执行程序的代码,一个进程至少要对应一个程序; (2)一个程序可以对应多个进程。同一个程序段可以在不同的数据集合上运行,因而构成若干个不同的进程。 二、PCB的作用是什么,为什么说PCB是进程存在的唯一标志? 作用: (1)作为独立运行基本单位的标志:进程存在的唯一标识 (2)能实现间断性运行方式 (3)提供进程管理所需要的信息 (4)提供进程调度所需要的信息 (5)实现与其它进程的同步与通信 唯一标识: 在进程的整个生命周期中,系统总是通过PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 三、如何保证各进程互斥地访问临界资源? 为使多个进程能互斥地访问某临界资源,只须为该资源设置一互斥信号量mutex,并设其初始值为1,然后将各进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操作之间即可。这样,每个欲访问该临界资源的进程,在进入临界区之前都要先对mutex执行wait操作,若该资源此刻未被访问,本次wait操作成功,进程便可进入自己的临界区,这时若再有其他进程也欲进入自己的临界区,由于对mutex执行wait操作必然失败,因而阻塞,从而保证了该临界资源能被互斥地访问。当访问临界资源的进程退出临界区后,又应对mutex执行signal操作,释放该临界资源。 四、何谓“忙等”?它有什么缺点? “忙等”:不让权等待,即进程因为某事件的发生而无法继续执行时,它仍占CPU,并不执行循环测试指令来等待该事件的完成。? 缺点:没有做到“让权等待”,降低了CPU的使用效率。 五、我们为某临界区设置一把锁W,当W=1时,表示关锁,W=0时表示锁已打开。试写出开锁和关锁原语,并利用他们去实现互斥。 开锁原语:unlock(W):W=0; 关锁原语: lock(W):while W=1 do no_op; W=1; 利用开关锁原语实现互斥: var W: semaphore:=0; begin parbegin process : begin repeat lock(W); critical section unlock(W); remainder section until false; end parend 六、嗜睡理发师问题:一个理发店由一个有N张沙发的等候室和一个放有一张理发椅的理发室组成。没有顾客要理发时,理发师便去睡觉。当一个顾客走进理发店时,如果所有沙发都已被占用,他便离开理发店;否则,如果理发师正在为其他顾客理发,则该顾客就找一张空沙发坐下等待;如果理发师因无顾客正在睡觉,则由新到的顾客唤醒理发师为其理发。在理发完成后,顾客必须付费,直到理发师收费后才能离开理发店。 分析:本题中,顾客进程和理发师进程之间存在着多种同步关系: (1)?只有在理发椅空闲时,顾客才能做到理发椅上等待理发师理发,否则顾客便必须等待;只有当理发椅上有顾客时,理发师才可以开始理发,否则他也必须等待;这种同步关系类似于单缓冲的生产者-消费者问题中的同步关系,故可通过信号量empty和full来控制;? (2)?理发师为顾客理发时,顾客必须等待理发的完成,并在理发完成后理发师唤醒他,这可单独使用一个 信号量cut来控制;? (3)?顾客理完发后必须向理发师付费,并等理发师收费后顾客才能离开;而理发师则需等待顾客付费,并 在收费后唤醒顾客以允许他离开,这可分别通过两个信号量payment和receipt来控制。 (4)等候室中的N帐沙发是顾客竟争的资源,故还需为它们设置了一个资源信号量sofa? (5)?为了控制顾客的人数,使顾客能自所有的沙发都被占用时离开理发店,还必须设置一个整型变量count来对理发店重的顾客进行计数,该变量将被多个顾客进程互斥地访问并修改,这可通过一个互斥信号量mutext来实现。? 答:为解决上述问题,需设置一个整型变量count用来对理发店重的顾客进行计数,并需设置7个信号量,其中:mutex用来实现顾客进程对count变量的互斥访问,其初值为1;sofa是对应于等候室中N张沙发的资源信号量,其初值为N;empty表示是否有空闲的理发椅,其初值为1;full表示理发椅上是否有等待理发的顾客,其初值为0;cut用来等待理发的完成,

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档