资源描述:
《操作系统部分作业参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章进程管理作业3.在测量控制系统中的数据采集任务DataCollection()时,把所有采集的数据送到一个单缓冲区,计算任务DataCompute()从该缓冲区取出数据进行计算。试写出利用信号量机制实现两任务共享缓冲区Buffer的同步算法。方法一:Varmutex,empty,full:semaphore:=1,1,0;DataCollection:beginrepeat……gatherdatainnextp;wait(empty);wait(mutex);buffer:=nextp;signal(mutex);signal(full);untilfals
2、e;endDataCompute:beginrepeat……wait(full);wait(mutex);nextc:=buffer;signal(mutex);signal(empty);computedatainnextc;untilfalse;end方法二:Varempty,full:semaphore:=1,0;DataCollection:beginrepeat……gatherdatainnextp;wait(empty);buffer:=nextp;signal(full);untilfalse;endDataCompute:beginrepeat……
3、wait(full);nextc:=buffer;signal(empty);computedatainnextc;untilfalse;end如下的方法三有问题吗?Varmutex:semaphore:=1;DataCollection:beginrepeat……gatherdatainnextp;wait(mutex);buffer:=nextp;signal(mutex);untilfalse;endDataCompute:beginrepeat……wait(mutex);nextc:=buffer;signal(mutex);computedatainne
4、xtc;untilfalse;end答:如果有多个DataCollection和多个DataCompute,则可能会出现多个同类进程依次操作同一数据的情况,这种情况通常是不允许的。比如,多个DataCollection依次生产了多个data,只有最后一个数据得以保留。算法进程名ABCDE平均到达时间01346服务时间57382FCFS完成时间512152325周转时间51112191913.2带权周转时间111/7419/819/25.29SJF完成时间51782510周转时间516521410.2带权周转时间116/75/321/8222.用时间片轮转法RR调度
5、进程A、B、C、D和E,时间片q分别为2和4,完成下面的表格(参考教材P96图3-6)。算法进程名ABCDE平均到达时间01234服务时间62598RRq=2完成时间164212830周转时间16319252617.8带权周转时间8/31.53.825/93.253.25RRq=4完成时间226112630周转时间2259232617带权周转时间22/65/29/523/926/82.753.在银行家算法中,出现如下资源分配情况:进程/资源AllocationNeedAvailableABCABCABCP0P1P2P3P4021101013321020410231
6、404422513352问:(1)该状态是否安全,如果不安全说明理由,如果安全给出安全序列;安全序列是:P1,P0,P2,P3,P4(2)若进程P3提出请求Request(1,2,1)后,系统是否安全,如果不安全说明理由,如果安全给出分配后的安全序列。假设P3的请求Request(1,2,1)得到满足,即:进程/资源AllocationNeedAvailableABCABCABCP0P1P2P3P4021101013442020410231404301513231安全序列是:P1,P3,P0,P2,P41.假设有一批作业A、B、C、D、E、F,它们的大小分别为A:
7、7KB、B:18KB、C:9KB、D:20KB、E:35KB、F:8KB,根据不同的算法把它们分配到如下空闲分区表中。16168326432816641)首次适应算法A7*C9*F8*88B18*14D20*E35*932816642)循环首次适应算法A,F,1168B,14C,55D,12816E,293)最佳适应算法1616A7*1B18*C9*5E35*29D20*12F8*16644)最坏适应算法16168F,24A,C,D,2832816B,E,11“*”表示已分配2.假设物理块数M=3,有一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、
8、5、6、2