《《补充习题解答》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《补充习题解答》PPT课件.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1题n一个二元信号量是一个其值只能取0、1的信号量,给出一个用二元信号量实现一般信号量p、v操作的程序。第1题1n一个二元信号量的值只能是0或1,二元信号量的定义:np(s):if(s=1)s=0;else将进程放入等待队列nv(s):if(队列为空)s=1;else将等待队列队首进程移出并放入就绪队列第1题2n本题使用两个二元信号量及一个变量:nm用来互斥访问变量c,初值为1。nb用来代替信号量S,初值为0。将应挂在信号量S上的进程挂在b上。nc中存放信号量S的值n用二元信号量实现一般信号量S的描述如下:第1题3nP(S)P(m);c=c-1;if(c0)V(m);P(b):elseV(m
2、);第1题4nV(S)P(m);c=c+1;if(ca0导出的是什么调度算法n(2)ab0导出的是什么调度算法第5题1n(1)先来先服务n(2)后进先出第6题n有一个具有两道作业的批处理系统,作业采用短作业优先调度算法,进程调度采用基于优先级的抢占式调度算法。在如下所示的作业序列中,作业优先数即为进程优先数,优先数越小优先级越高。n作业到达时间估计运行时间优先数nA10:0040min5nB10:2030min3nC10:3050min4nD10:5020min6第6题1n本题中的作业和进程推进顺序如下:n10:00时,A到达,作业调度将A调入内存,进程调度程序调度它运行。n10:20时,B到
3、达,作业调度将B调入内存,因B的优先级高于A,进程调度暂停A的运行,调度B运行。n10:30时,C到达,因内存中已有两道作业,故C在后备队列中等待。第6题2n10:50时,B运行30分钟结束,D到达。因系统中只有A在内存,按短作业优先调度策略,作业D被装入内存,作业C仍在后备队列等待。内存中,A的优先级高于D,A运行。n11:10时,A运行40分钟结束。因系统中只有D在内存,作业调度将C装入内存。因C的优先级高于D,C运行。n12:00时,C运行50分钟结束。D运行。n12:20时,D作业运行20分钟结束。第6题3n由上述分析可得出各作业进入内存和结束时间,如下表所示。作业名进入时间结束时间A
4、10:0011:10B10:2010:50C11:1012:00D10:5012:20第6题4n各作业执行时的周转时间为:n作业A:70分钟n作业B:30分钟n作业C:90分钟n作业D:90分钟n作业的平均周转时间为:(70309090)/4=70分钟。第7题n考虑一个请求分页系统,测得如下的利用率数据:ncpu利用率20%;分页硬盘的利用率97%;其他I/O设备利用率5%。下列措施中,哪些可改善cpu的利用率?n(1)使用速度更快的cpun(2)使用户容量更大的分页硬盘n(3)减少系统内程序的道数n(4)增加系统内程序的道数n(5)使其他外部设备的速度更快第7题n(1)降低利用率n(2)无作
5、用n(3)有作用n(4)可能更低n(5)可能有很小作用第8题n考虑一个请求分页系统,它是用一个分页盘。利用全局LRU置换算法和一种平均分配给进程内存的策略。程序道数固定为4道。测得系统的CPU和分页硬盘的利用率为:n(1)cpu利用率13%;盘的利用率为97%;n(2)cpu利用率87%;盘的利用率为3%;n(3)cpu利用率13%;盘的利用率97%;上述哪种情况可能出现什么问题?能否用增加程序道数来增加CPU利用率?第9题n有一矩阵inta100100按先行后列次序存放,在虚拟页式存储管理中,采用LRU淘汰算法,一个进程有3页内存空间,每页存放200个整数,其中第1页存放程序,且假定程序已在
6、内存,试分别计算程序A和程序B的缺页次数?n程序A程序Bfor(i=0;i100;i+)for(j=0;j100;j+)for(j=0;j100;j+)for(i=0;i100;i+)aij=0;aij=0;第9题2n因数组以行为主存放,每页可存放200整数,故每2行占一个页面。n程序A的内层循环将每行的所有列置为0,故1次缺页中断可以调入2行。n外层循环100次,总缺页次数为50。n程序Afor(i=0;i100;i+)for(j=0;j100;j+)aij=0;第9题3n因数组以行为主存放,每页可存放200个整数,故每2行占一个页面。n程序A的内层循环将每行中的指定列置为0,故产生50次中
7、断。n外层循环100次,总缺页次数为50100。n程序Bfor(j=0;j100;j+)for(i=0;i100;i+)aij=0;第10题n如磁盘的每个磁道分成9个块,现有一文件包含有A,B,I共9个记录,每个记录的大小与块的大小相等,设磁盘转速为27ms/转,每读出一块后需要2ms的处理时间。若忽略其他辅助时间,试问:n(1)如果顺序存放这些记录并顺序读取,处理该文件要多少时间?n(2)如果要顺序读取该文件,记录如何存放处理时间最短?第10题2n磁盘转速为27ms/转,每磁道存放9个记录,因此读出1个记录的时间是:27/93msn(1)读出并处理A后,磁头已转到B的中间,因此必须再转将近一圈才能读B。处理9个记录的总时间为:n9272245ms盘块123456789记录ABCDEFGIJ第10题3n(2)不妨设记录A放在第1个盘块中,为了能顺序读到记录B,应将它放到第3个盘块中,即应将记录按如下表所示的方式存放。n这样处理一个记录并将磁头移到下一个记录的时间是:3216msn所以,处理9个记录的总时间为:68553ms盘块123456789记录AFBGCHDIE
限制150内