操作系统课后习题答案(副本).docxVIP

  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文档。上传文档
查看更多
5.1为什么对调度程序而言,区分CPU约束程序和I/O约束程序很重要?答:在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。而CPU约束程序一般来说不会使用很多的CPU。另一方面,CPU约束程序会利用整个时间片,且不做任何阻碍I/O操作的工作。因此,通过给I/O约束程序优先权和允许在CPU 约束程序之前运行,可以很好的利用计算机资源。5.3考虑用于预测下一个CPU区间长度的指数平均公式。将下面的值赋给算法中的参数的含义是什么?A.a=0 且t0=100 msB.a=0.99 且t0=10 ms答:当a=0且t0=100ms时,公式总是会预测下一次的CPU区间为100毫秒。当 a=0.99且t0=10毫秒时,进程将给予更高的重量以便能和过去相比。因此,调度算法几乎是无记忆的,且简单预测未来区间的长度为下一次的CPU执行的时间片。5.4考虑下面一组进程,进程占用的CPU区间长度以毫秒来计算:进程区间时间优先级P1103P211P323P414P552假设在0时刻进程以P1、P2、P3、P4、P5的顺序到达。a.画出 4 个 Gantt 图分别演示用 FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。b.每个进程在每种调度算法下的周转时间是多少?c.每个进程在每种调度算法下的等待时间是多少?d.哪一种调度算法的平均等待时间最小?答a.FCFS:P1P2P3P4P5SJF:P2P4P3P5P1非抢占优先级:P2P5P1P3P4RR:P1P2P3P4P5P1P3P5P1P5P1P5P1P5P1b.周转时间:FCFSSJF非抢占优先级RRP110191619P211112P3134187P4142194P5199614c.等待时间:FCFSSJF非抢占优先级RRP10969P210001P3112165P4131183P514429d.从上表中可以看出SJF的等待时间最小。5.5下面哪种调度算法能导致饥饿?a.先到先服务b.最短作业优先c.轮转法d.优先级答:最短作业优先和优先级调度算法能导致饥饿。因为对于优先级较低的作业来说,最短作业优先和优先级调度算法会使其无穷等待CPU,长期得不到调用,这就导致了饥饿问题,也叫无穷阻塞。5.9考虑下面的动态改变优先级的抢占式优先级调度算法。大的优先级数代表高优先级。当一个进程在等待 CPU 时(在就绪队列中,但未执行),优先级以α速率改变;当它运行时,优先级以β速率改变。所有的进程在进入等待队列时被给定优先级为 0。参数α和β可以进行设定得到许多不同的调度算法。a.βα0是什么算法?b.αβ0时是什么算法?答:a.FCFS先到先服务调度算法。当进程进入到就绪队列时,其PCB链接到队列的尾部,优先级以α速率改变;当CPU空闲时,CPU分配给位于队列头的进程,优先级加快,以β速率改变,接着该运行进程从队列中删除。 b.LIFO后进先服务调度算法。同上,当进程进入到就绪队列时,优先级以α速率改变,等待后进的进程先调度,之后轮到该进程时,优先级加快,以β速率改变,完成调度。6.1第一个著名的正确解决两个进程的临界区问题的软件方法是Dekker设计的。两个进程P0和P1共享以下变量:boolean flag[2];/*initially false*/int turn;进程Pi(i==0或1)的结构见6.25,,另一个进程为Pj(j==0或1)。证明这个算法满足临界区问题的所有三个要求。do{flag[i]=TRUE; while(flag[j]){ if(turn==j){ flag[i]=false; while(turn==j); //do nothingflag[i]= TRUE;}}//critical sectionturn==j;flag[i]=FALSE; //remainder section}while(TRUE);答:这个算法满足临界区问题的三个要求:(1)在标记和返回变量的使用中,互斥条件是保证的。如果两个进程将它们的标识设为真,那么只有一个进程会成功进行,即轮到的那个进程。当另一个进程更新它的返回变量时,等待的那个进程只能进入它的临界区域。(2)就绪的进程,通过标志,返回变量。这个算法没有提供严格的交替。如果一个进程想要进入它们的临界区域,它可以将它的标识设为真,然后进入它们的临界区域。当退出它的临界区域,它可以设置转向其他进程的值。如果这个进程想要在其他进程之前再次进入它的临界区域,它会重复这样的进程:进入它的临界区域,在退出时转向另一个进程。(3)在双 T 返回变量的使用过程中,临界等待受阻。假设两个进程想要进入它们的责任所在的临界区域。它们都将它们的标志的值设为真;而只有轮到的那个线程可以执行;其他的线程处于等待状态

文档评论(0)

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

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

1亿VIP精品文档

相关文档