操作系统练习答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习

1、在下列调度算法中,对所有进程和作业都是公平合理的调度算法是(D多级反馈队列),最有利于提高系统吞吐量的作业调度算法是(B短作业优先),能兼顾作业等待时间和作业执行时间的调度算法是(E高响应比优先),最有利于提高资源的利用率,使大部分用户比较满意的调度算法是(C时间片轮转),为实现人机交互而采用的调度算法,能对紧急作业进行及时处理的调度算法是(F可抢占式优先级)。

A.先来先服务B.短作业优先C.时间片轮转

D.多级反馈队列E.高响应比优先F.可抢占式优先级调度

试用剥夺式短进程优先调度算法和时间片轮转调度(时间片为2个基本时间单位),分别给出每个进程的调度次序及平均周转时间。

3、有5个批处理作业1、2、3、

4、5,分别在0、1、3、

5、6时刻到达计算中心。假设它们的预计的运行时间是3、5、2、3、2,且在执行过程中不进行I/O处理和系统调用。它们的优先级分别为5、3、1、2、6(6为最高优先级,1为最低优先级)对于下面的四种调度算法,请写出每个进程的结束时间、周转时间和所有作业的平均周转时间。忽略进程转换所产生的系统开销,且后三种调度算法为非剥夺的调度算法。

(1)时间片轮转调度算法,时间片长度为2;

(2)优先级调度算法;

(3)FCFS算法;

(4)SJF算法。

4、有5个批处理作业A、B、C、D、E,几乎同时到达计算机系统,其估计运行时间分别为10、6、2、4、8分,优先级数分别为3、

5、2、1、4,其中5为最高优先级。假设它们都是纯计算型作业,系统开销时间忽略不记。若系统采用非剥夺式使用CPU,对于以下调度算法,描述执行过程并计算平均周转时间:

(1)优先级调度;

(2)先来先服务(按A、B、C、D、E顺序);

(3)短作业优先。

5、有两个作业A和B,分别在7:00和8:30到达系统,它们估计的计算时间分别是0.8小时和0.1小时,系统在9:00开始以响应比高者优先算法进行调度,请问在单道执行时这两道作业被选中的次序以及被选中时的响应比。

(2+0.8)/0.8=3.5

(0.5+0.1)/0.1=6

9:00 B

9:06 A (2.1+0.8)/0.8=3.625

6、设有某系统有5个作业J1、J2、J3、J4、J5进入系统的时间、计算时间如下表所示。若作业在处理机上按单道方式运行,且作业按响应比高者优先调度算法。试写出作业的执行顺

J2 (29+30)/30=1.97

J3 (18+24)/24=1.75

J4 (12+24)/24=1.50

J5 (6+12)/12=1.50

11:18

J3 (48+24)/24=3

J4 (42+24)/24=2.75 J5 (36+12)/12=4 11:30

J3 (60+24)/24=3.5 J4 (54+24)/24=3.25 11:54

J4

1、在请求页式系统中,一程序的页面走向为

2、

3、

4、

5、2、3、

6、2、3、4、5、6,设分配给该程序的存储块为m。试计算m=3和m=4时,FIFO和LRU两种替换算法的缺页中断次数,并对结果进行分析说明。

答:FIFO算法:

M=3时,缺页9次,M=4时,缺页10次。这说明FIFO算法出现了Belady异常现象。

M=3时,缺页10次,M=4时,缺页8次。

2、在一个请求页式存储管理系统中,进程P的地址空间共有5页组成,访问页面序列为:

3、2、1、0、3、2、

4、3、2、1、0、4,试用FIFO置换算法和LRU置换算法,计算当分配给该进程的页框数分别为3和4时,访问过程中发生的缺页次数和缺页率,比较所得的结果,分析原因。

答:FIFO算法:

算法出现了Belady异常现象。

LRU算法:

M=3时,缺页10次,缺页率为83.3%;M=4时,缺页8次,缺页率为66.7%。

3、在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115、228、120、88、446、102、321、432、260、167。若该作业的第0页已经装入内存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题。

(1)按FIFO调度算法将产生多少次缺页中断?缺页中断率为多少?

(2)按LRU调度算法将产生多少次缺页中断?缺页中断率为多少?

答:定义数组buf[0]、buf[1];bufempty[0],bufempty[1]是P A的私有信号量;buffull[0]、buffull[1]是P B的私有信号量。

初始时:

bufempty[0]=bufempty[1]=n,(n为缓冲区队列的缓冲区个数)

buffull[0]=buffull[1]=0

send(i,m)

begin

local x

P(bufempty[i])

按FIFO方式选择一个空缓冲区buf[i](x)

buf[i](x)=m

buf[i](x)置满标记

V(buffull[i])

end

receive(i,m)

begin

local x

P(buffull[i])

按FIFO方式选择一个装满数据的缓冲区buf[i](x)

m=buf[i](x)

buf[i](x)置空标记

V(bufempty[i])

end

P A调用send(0,m)和receive(1,m)

P B调用send(1,m)和receive(0,m)

练习2:

有3个并发进程in, outA和outB共享一个缓冲区buf(容量为1)。规定:

进程in负责将读入数据放到buf中。

进程outA仅当在buf中有数据且数据为奇数时,outA才可从buf取数据打印,并使buf为空;进程outB仅当在buf中有数据且数据为偶数时,outB才可从buf取数据打印,并使buf为空;试用P,V操作实现三个进程可正确执行的并发程序。

提示:这是一个同步问题,可以设3个私用信号量。

答:根据题意,设三个同步信号量:

SR是进程in的私用信号量,初值为1,表示开始时进程in可向缓冲区buf中送一整数;SW1是进程outA的私用信号量,初值为0,表示开始时缓冲区buf中无奇数可供进程outA 取;

SW2是进程outB的私用信号量,初值为0,表示开始时缓冲区buf中无偶数可供进程outA 取。

相关文档
最新文档