《福州大学操作系统作业及答案整理概要》由会员分享,可在线阅读,更多相关《福州大学操作系统作业及答案整理概要(10页珍藏版)》请在金锄头文库上搜索。
1、多道程序设计1.一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行。程序A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。程序B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。答案:解答:1)CPU在100-150ms之间的时间段内是空闲的;2)A进程没有等待CPU情况,B进程则在0-50ms和180-200ms两个时间段内等待CPU内存调度作业在
2、某联机单道批处理系统中,有一批作业,它们的提交时刻和作业大小如下表所示。假设9:00开始调度,请写出分别采用SJF、HRN作业调度算法时的调度顺序和平均周转时间。作业号提交时刻作业大小(小时)J19:000.8J29:101.0J39:450.6J410:000.4答案:(1)SJF作业提交时刻运行时间(小时)顺序开始时间完成时间Ti(分钟)J19:000.8(48分钟)19:009:489:48-9:00=48J29:101(60分钟)410:4811:4811:48-9:10=158J39:450.6(36分钟)29:4810:2410:24-9:45=39J410:000.4(即24分钟
3、)310:2410:4810:48-10:00=48平均周转时间=(48+158+39+48)/4=73.25 (2)HRN作业提交时刻运行时间(小时)顺序开始时间完成时间Ti(分钟)J19:000.8(48分钟)19:009:489:48-9:00=48J29:101(60分钟)29:4810:4810:48-9:10=98J39:450.6(36分钟)411:1211:4811:48-9:45=123J410:000.4(24分钟)310:4811:1211:12-10:00=72调度二: R2=(9:48-9:10)/60=0.63,R3=(9:48-9:45)/36=0.08,所以选择
4、J2调度三: R2=(10:48-9:10)/60=1.63,R4=(10:48-10:00)/24=2,所以选择J4平均周转时间=(48+98+123+72)/4=85.25 磁盘调度作业假定某移动磁盘上,磁头的当前位置为100磁道,磁头正向磁道号增加方向移动。现有一磁盘读写请求队列:23, 376, 205, 132, 19, 61, 190, 398, 29, 4, 18, 40。请写出:(1)用最短寻道时间优先算法,列出响应的次序,并计算平均寻道长度。(2)用电梯调度算法,列出响应的次序,并计算平均寻道长度。答:(1)最短寻道时间优先算法(5分)响应的次序为:132、190、205、6
5、1、40、29、23、19、18、4、376、398。 (3分)平均寻道长度:58.3 (2分)(2)电梯调度算法(5分)响应的次序为:132、190、205、376、398、61、40、29、23、19、18、4。 (3分)平均寻道长度:57.7 (2分)内存管理作业2. 题目: 在采用虚拟页式管理的系统中,设某作业占有10个页,而系统只允许装入3个物理页面,现有作业的一个访问页号序列:2,3,2,1,5,2,4,5,3,2,5,2。请分别给出采用FIFO与LRU页面调度算法的页号淘汰顺序,并计算它们的缺页中断次数。(假设开始时3个页面是空的,要求写出分析过程)请将答案按照课本上的计算过程,
6、给出计算步骤及结果!以doc文档方式提交!答案:(1) 按FIFO调度算法将产生9次缺页中断;依次淘汰的页号为:2,3,1,5,2,4.(2) 按LRU调度算法将产生7次缺页中断;依次淘汰的页号为:3,1,2,4.课本习题答案1、可能的结果如下: 0 , 1, 10 ,1 1,10110、信号量变量Sr=1,表示进程R是否可用B; Sw1=0,表示进程W1是否能够取数; Sw2=0,表示W2是否能够取数 process R while(1) 从设备上读入一个数num; P(Sr); 把数num存入B; if(num是奇数) V(Sw1); else V(Sw2); process W1 whi
7、le(1) P(Sw1); 从B中取数; V(Sr); 打印输出; process W2 while(1) P(Sw2); 从B中取数; V(Sr); 打印输出; 11、号量变量Sr1=1,表示进程R与进程D同步; Sr2=1,表示进程R与进程S同步; Sd=0,表示进程D是否能够取数; Ss=0,表示S是否能够取数 process R while(1) 从设备上读入一个数num; P(Sr1); P(Sr2); 把数num存入buff; V(Sd); V(Ss); process D while(1) P(Sd); 从buff中取数; V(Sr1); 打印输出; process W2 whi
8、le(1) P(Ss); 从buff中取数; V(Sr2); 打印输出; 12、号量变量Sr=n,表示进程R与进程M同步; Sm1=0,表示进程M是进程R同步; Sm2=m,表示进程M是进程P同步; Sp=0,表示进程P是否能够取数; int i1=i2=0;表示buff1的存取下标; j1=j2=0;表示buff2的存取下标; process R while(1) 从设备上读入一个数num; P(Sr); 把数num存入buff1i1; i1=(i1+1) mod n; V(Sm1); process M while(1) P(Sm1); 从buff1i2中取数; i2=(i2+1) mod
9、 n; V(Sr); 加工数据; P(Sm2); 把数存入buff2j1中取数; j1=(j1+1) mod m; V(Sp); process W2 while(1) P(Sp); 从buff2j2中取数; ij2=(j2+1) mod m; V(Sm2); 打印输出; 13、与吃水果十分相似,请参考上次PV作业中改进版的是水果题目的解答。死锁-安全状态设系统中有3种类型的资源(A,B,C)和5个进程(P1,P2,P3,P4,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如下表:进程最大资源需求量已分配资源数量A B CA B CP15 5 92 1 2
10、P25 3 64 0 2P34 0 114 0 5P44 2 52 0 4P54 2 43 1 4系统采用银行家算法实施死锁避免策略。(1)T0时刻是否为安全状态(请写出分析过程)?若是,请给出安全序列。(2)若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?答案:【答】:当前剩余资源数:2,3,3。判断是否为安全状态,关键在于能否找到一个安全序列。这与进程剩余需求量有关,列表如下:进程剩余需求量系统剩余资源P13,4,72,3,3P21,3,4P30,0,6P42,2,1P51,1,0进程继续申请时,检查系统剩余量能否满足该进程剩余的所有需求量,若不能则继续分配。这样做,能保证在
11、任何时刻至少有一个进程可以得到所需的全部资源而执行到结束;在结束之后,可将其归还的资源加入到系统的剩余资源中,这些资源又至少可以满足一个进程的最大需求。于是最终保证了所有进程都能在有限的时间内得到需要的全部资源。(1) 根据这一思想,系统现剩余量为2,3,3,此时P4,P5均可满足,依次进入安全序列,并将所占资源归还;同理又可将P3,P1进入安全序列,最后可判断T0时刻为安全状态,因为至少可以找到一个安全序列,答案不惟一。 所有以P5打头的序列均正确,以P4打头的只要不紧跟P1也正确,以P1,P2,P3打头的均错。 (3分)(2) 可以分配。因为至少可以找到一个安全序列P4,P5,P1,P2,
12、P3。所有以P4打头的不紧跟P1的安全序列均正确。 (3分)索引文件某个文件系统,采用混合索引方式,其FCB中共有13个地址项(10个直接地址项、1个一次间址项、1个二次间址项和1个三次间址项),每个盘块的大小为512字节,每个盘块号需要用4个字节来描述,请回答下列问题:(1)请计算直接地址范围,一次间址范围,二次间址范围。(2)对某个长度为17999880字节的文件,它需要占用多少个盘块来存放数据(包括间址块)?答案:【答】:(1)直接地址范围:512B10=5120B=5KB (1分) 一次间址范围:一次间址项可以寻址到(512/4=128)个盘块,地址范围:128512B+5120B =65536B+5120B=64KB+5