操作系统复习习题20页word资料Word格式.docx

上传人:b****3 文档编号:18291200 上传时间:2022-12-15 格式:DOCX 页数:15 大小:41.06KB
下载 相关 举报
操作系统复习习题20页word资料Word格式.docx_第1页
第1页 / 共15页
操作系统复习习题20页word资料Word格式.docx_第2页
第2页 / 共15页
操作系统复习习题20页word资料Word格式.docx_第3页
第3页 / 共15页
操作系统复习习题20页word资料Word格式.docx_第4页
第4页 / 共15页
操作系统复习习题20页word资料Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

操作系统复习习题20页word资料Word格式.docx

《操作系统复习习题20页word资料Word格式.docx》由会员分享,可在线阅读,更多相关《操作系统复习习题20页word资料Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

操作系统复习习题20页word资料Word格式.docx

varflag:

integer;

//flag=0:

盘中无水果;

=1盘中有苹果;

=2盘中有梨子

empty:

condition;

//用于A或B等待空盘子

W:

array[1..2]ofcondition//W[1]用于等待苹果,W[2]用于等待梨子

procedureentryput(integerk)

begin

ifflag>

0thenempty.wait;

//生产者A或B进程阻塞

flag=k;

放一k号水果入盘中;

//设1号水果为苹果,2号水果为梨子

ifW[k].queuethenfull.signal;

//若有等待k号水果者,则唤醒之

end

procedureentryget(integerk)

ifflag<

>

kthenW[k].wait;

//消费者C或D进程阻塞

从盘中取k号水果;

flag:

=0;

ifempty.queuethenempty.signal;

//若等待队列非空,则唤醒队首的一个生产者进程

=0;

//初始化内部数据

A、B、C、D四个进程的同步算法可描述如下:

ProcessA

任取一个苹果;

MPC.put

(1);

ProcessB

任取一个梨子;

MPC.put

(2);

ProcessC

MPC.get

(1);

吃苹果;

ProcessD

MPC.get

(2);

吃梨子;

2.设自行车生产车间有两个货架,货架A可以存放8个车架,货架B可以存放20个车轮;

又设有4个工人,他们的活动是重复劳动,分别为:

工人1加工一个车架放入货架A中;

工人2、3分别加工车轮放入货架B中(每人每次放入1个车轮);

工人4从货架A中取一个车架,再从货架B中取两个车轮,组装成一辆自行车。

试用PV操作实现四个工人的合作。

【分析】信号量Aempty表示货架A的空位数,其初值为8;

信号量Afull表示货架A上存放的车架数,其初值为0;

信号量Bempty表示货架B的空位数,其初值为20;

信号量Bfull表示货架B上存放的车轮数,其初值为0;

信号量mutex用于互斥(初值为1)。

BEGIN

semaphoreAempty,Bempty,Afull,Bfull,mutex;

Aempty:

=8;

Bempty:

=20;

Afull:

=0;

Bfull:

mutex:

=1;

PARBEGIN

Worker1:

L1:

生产1个车架;

P(Aempty);

//测试货架A是否有空位置

P(mutex);

//互斥使用货架A

车架放到货架A;

V(Afull);

//货架A上的车架数增1,必要时唤醒等待的进程

V(mutex);

gotoL1;

END

Worker2、3:

L2:

生产1个车轮;

P(Bempty);

//测试货架B是否有空位置

//互斥使用货架B

车轮放到货架B;

V(Bfull);

//货架B上的车轮数增1,必要时唤醒等待的进程

gotoL2;

Worker4:

L3:

P(Afull);

//测试货架A上是否有车架

P(Bfull);

//测试货架B上是否有2个车轮

取1个车架;

取2个车轮;

V(Aempty);

//货架A空位置增1

V(Bempty);

//货架B空位置增2

组装成一辆自行车;

gotoL3;

PAREND

3.有两个作业A和B,分别在7:

00和8:

30到达系统,它们估计的计算时间分别为0.8小时和0.1小时,系统在9:

00开始以响应比高者优先算法进行调度。

在单道系统中该两个作业被选中时的响应比各为多少?

9:

00时,作业A的响应比=1+2/0.8=3.5

作业B的响应比=1+0.5/0.1=6

所以9:

00时作业调度程序选中作业B

06作业B结束,调度作业A,此时作业A的响应比=1+2.1/0.8=3.625

综上可知,在单道系统中A、B两个作业被选中时的响应比分别为3.625和6

4.有一个具有两道作业的批处理系统(最多可有两道作业同时装入内存执行),作业调度采用计算时间短的作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法,今有如下作业序列,作业优先数即为进程优先数,优先数越小优先级越高:

作业名

到达时间

估计运行时间

优先数

J1

10:

10

20分钟

5

J2

20

30分钟

3

J3

30

25分钟

4

J4

50

6

列出所有作业进入内存时间及结束时间。

(1)计算平均周转时间。

先作必要的分析(可在草稿纸上完成,分析过程不计分):

10:

10J1被调入,开始运行

20J2进入内存,因优先级高,开始运行

J1运行了10分钟,还剩10分钟,因优先级低,运行态变就绪态

30J1继续就绪

J2运行了10分钟,还剩20分钟

J3到达,但不能被调入

50J2运行结束,J4到达

调入短作业J4,但因J4优先级比J1低,J1开始继续运行

11:

00J1运行结束

J3被调入,因优先级高,开始运行

J4因优先级低,仍就绪

25J3运行结束,J4开始运行

45J4运行结束

(1)各个作业进入主存时间、结束时间和周转时间如下表所示:

(6分)

提交时间

进入时间

结束时间

周转时间

10

00

50

20

30

25

55

45

(2)平均周转时间:

(50+30+55+55)/4=47.5(min)

5.有一个多道程序设计系统,采用不可移动的可变分区方式管理主存空间,设主存空间为100K,采用最先适应分配算法分配主存,作业调度采用响应比高者优先算法,进程调度采用时间片轮转算法(即内存中的作业均分CPU时间),今有如下作业序列:

需要执行时间

要求主存量

00

40分钟

25K

15

60K

50K

35

18K

J5

40

15分钟

20K

假定所有作业都是计算型作业且忽略系统调度时间。

回答下列问题:

(1)列表说明各个作业被装入主存的时间、完成时间和周转时间;

(2)写出各作业被调入主存的顺序;

(3)计算5个作业的平均周转时间。

J1到达,被调入内存并开始运行,内存剩75KB

15

J2到达,被调入内存并开始与J1一起运行。

J1运行了15分钟,还需执行25分钟。

内存剩15KB

J3到达,因内存不能满足,不被调入。

J1、J2继续运行。

35

J4到达,因内存不能满足,不被调入。

此时J1相当于已运行了15+10=25分钟,还需执行15分钟;

J2相当于已运行了10分钟,还需执行20分钟。

40

J5到达,因内存不能满足,不被调入。

05

J1运行结束,J2还需执行5分钟。

内存中的2个空闲分区分别是25K和15K,能满足J4或J5需求,但不能满足J3的需要。

J4的响应比=1+30/25=2.2;

J5的响应比=1+25/15=2.67,J5被调入内存并与J2一起运行,内存中的空闲分区大小是5KB和15K。

J2运行结束,内存中的空闲分区是65KB和15K。

J3的响应比=1+45/20=3.25,J4的响应比=1+40/25=2.6,J3被调入内存与J5一起运行。

内存中的空闲分区大小是15KB和15K。

J3需执行20分钟,J5还需执行10分钟。

J5运行结束,J4调入内存运行。

J3还需执行10分钟,J4还需执行25分钟。

J3运行结束

12:

J4运行结束

答:

(1)各个作业被装入主存的时间、完成时间和周转时间如下表所示:

装入主存时间

作业完成时间

65

60

85

95

(2)作业被调入主存的顺序为J1,J2,J5,J3,J4。

(3)平均周转时间=(65+60+85+95+55)/5=72(分钟)。

(3)(北京大学1997年试题)某系统有A,B,C三类资源(数量分别为17,5,20)和P1~P5五个进程,在T0时刻系统状态如下表所示:

进程

最大资源需求量

已分配资源数量

A

B

C

P1

9

2

1

P2

P3

11

P4

P5

系统采用银行家算法实施死锁避免策略,请回答下列问题:

①T0时刻是否为安全状态?

若是,请给出安全序列。

②在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?

为什么?

③在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?

 

①由已知条件可得尚需矩阵Need和可用资源向量Avalable如下:

NeedAvalable

ABCABC

P1347233

P2134

P3006

P4221

P5110

利用银行家算法对此时刻的资源分配情况进行分析如下表:

Work

Need

Allocation

Work+Allocation

Finish

233

221

204

437

true

134

402

839

006

405

12314

110

314

15418

347

212

17520

从上述分析可知,存在一个安全序列P4,P2,P3,P5,P1,故T0时刻系统是否安全的。

②在T0时刻若进程P2请求资源(0,3,4),不能实施资源分配。

因为当前C类资源剩余3个而P2请求4个,客观条件无法满足它的请求,因此不能实施资源分配,P2阻塞。

③在②的基础上,若进程P4请求资源(2,0,1),可以实施资源分配。

因为由①可知,P4是安全序列中的第一个进程,只要P4的请求量没有超出它的尚需量,系统满足它的请求后仍处于安全状态,即仍然存在安全序列P4,P2,P3,P5,P1。

6.有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10,6,2,4,8min。

其优先级分别为3,5,2,1和4,这里5为最高优先级。

对于下列每一种调度算法,计算器平均进程周转时间(进程切换开销不考虑)。

(1)先来先服务(按A,B,C,D,E顺序)算法;

(2)优先级调度算法;

(3)时间片轮转算法(设时间片为1min——原题无此假设)。

(1)采用先来先服务算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示。

执行顺序

预计运行时间

开始执行时间

完成时间

16

18

D

22

E

8

5个进程的平均周转时间为:

(10+16+18+22+30)/5=19.2(min)

(2)采用最高优先级调度算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示。

14

24

26

(6+14+24+26+30)/5=20(min)

(1)采用时间片轮转调度算法时,可以认为5个进程均分CPU时间,它们在系统中的执行情况如下:

第一轮:

A,B,C,D,E(5min)

第二轮:

A,B,C(C完成,即C的周转时间为8min),D,E(5min)

第三轮:

A,B,D,E(4min)

第四轮:

A,B,D(D完成,即D的周转时间为17min),E(4min)

第五轮:

A,B,E(3min)

第六轮:

A,B(B完成,即B的周转时间为23min),E(3min)

第七轮:

A,E(2min)

第八轮:

A,E(E完成,即E的周转时间为28min)(2min)

第九轮:

A(1min)

第十轮:

A(A完成,即A的周转时间为30min)(1min)

所以,5个进程的平均周转时间为:

(8+17+23+28+30)/5=21.2(min)

7.页式存储管理中,主存空间按页分配,可用一张“位示图”构成主存分配表。

假设主存容量为2M字节,页面长度为512字节,若用字长为32位的字作主存分配的“位示图”需要多少个字?

如页号从1开始,字号和字内位号(从高位到低位)均从0开始,试问:

第2999页对应于何字何位;

99字19位又对应于第几页?

(1)内存总块数=2MB/512B=4096

位示图需要字数=4096/32=128

(2)字号=(2999-1)/32=93

位号=(2999-1)%32=22

即第2999内存页对应于位示图中93字的22位。

(3)99*32+19+1=3188

即位示图99字19位对应于内存的3188页

8.某操作系统采用可变分区分配存储管理方法,用户区为512K且始址为0,用空闲分区表管理空闲分区。

若分配时采用分配空闲低地址部分的方案,其初始时用户区的512K空间空闲,对下述申请序列:

申请300K,申请100K,释放300K,申请150K,申请30K,申请40K,申请60K,释放30K;

(1)采用首次适应算法,空闲分区中有哪些空闲块(给出始址,大小)?

(2)采用最佳适应算法,空闲分区中有哪些空闲块(给出始址,大小)?

(1)

(2)

9.一个32位地址的计算机系统使用二级页表,虚地址分为10位顶级页表,10位二级页表,其余是页内偏移。

试问:

(1)页面长度是多少?

(2)虚拟地址空间有多少个页面?

10.在采用页式存储管理的系统中,某作业的逻辑地址空间为4页(每页2048字节),且已知该作业的页表如下表。

试借助地址转换图(即要求画出页式存储管理系统地址转换示意图)求出逻辑地址4688所对应的物理地址。

页表

页号

内存块号

逻辑地址4688所在的页号和页内偏移分别为:

页号P=4688/2048=2

页内偏移W=4688%2048=592

从上述地址转换图可知,进行地址转换的步骤如下:

(1)由虚地址计算出页号和页内偏移量;

(2)根据页号和进程的页表首址,查页表,找到对应的页表项,取出帧号(内存块号);

(3)帧号*页面大小+页内偏移形成物理地址。

即62048+592=12880

11.在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:

115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题:

(此图类似地4题)

(1)按FIFO调度算法将产生的缺页中断次数、依次淘汰的页号和缺页中断率各为多少?

(2)按LRU调度算法将产生的缺页中断次数、依次淘汰的页号和缺页中断率各为多少?

由题目的已知条件,可得页面走向为:

1,2,1,0,4,1,3,4,2,1

(1)FIFO的页面置换图如下:

页面走向

页帧

是否缺页

被淘汰页号

按FIFO调度算法将产生5次缺页中断,依次淘汰的页号为0,1,2,缺页中断率为5/10=50%。

(2)LRU算法的页面置换图如下:

页面队列

按LRU调度算法将产生6次缺页中断,依次淘汰的页号为2,0,1,3,缺页中断率为6/10=60%。

12.某系统对主存采用页式管理,供用户使用的主存区域共640K字节,被分成160块,块号为0,1,…,159。

现有一作业的地址空间共占4页,其页号为0,1,2,3,被分配到主存的第2,4,1,5块中。

请回答:

(1)作业每一页的长度为多少字节?

(2)写出该作业被装入主存时,其对应的页表。

(3)把该作业的每一页在主存中的起始地址(用16进制表示)填在下表中:

页号

起始地址

(1)作业每一页的长度为4K字节

(2)该作业被装入主存时,其对应的页表为

逻辑页号

主存块号

(3)该作业的每一页在主存中的起始地址(用16进制表示)如下表所示。

2000H

4000H

1000H

5000H

希望以上资料对你有所帮助,附励志名言3条:

1、有志者自有千计万计,无志者只感千难万难。

2、实现自己既定的目标,必须能耐得住寂寞单干。

3、世界会向那些有目标和远见的人让路。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1