操作系统习题最经典.docx

上传人:b****7 文档编号:9498199 上传时间:2023-02-05 格式:DOCX 页数:10 大小:56.35KB
下载 相关 举报
操作系统习题最经典.docx_第1页
第1页 / 共10页
操作系统习题最经典.docx_第2页
第2页 / 共10页
操作系统习题最经典.docx_第3页
第3页 / 共10页
操作系统习题最经典.docx_第4页
第4页 / 共10页
操作系统习题最经典.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

操作系统习题最经典.docx

《操作系统习题最经典.docx》由会员分享,可在线阅读,更多相关《操作系统习题最经典.docx(10页珍藏版)》请在冰豆网上搜索。

操作系统习题最经典.docx

操作系统习题最经典

1、设有两个优先级相同的进程P1,P2如下所示。

令信号量S1,S2的初值为0,试问P1,P2并发运行结束后,x=,y=,z=

进程P1进程P2

y:

=1;x:

=1;

y:

=y+2;x:

=x+1;

V(S1);P(S1);

z:

=y+1;x:

=x+y;

P(S2);V(S2);

y:

=x+yz:

=x+z

X=5,y=8,Z=9.

2、在生产者-消费者问题中,假定在生产者和消费者之间的公用缓冲池中有n个缓冲区,可利用互斥信号量mutexP使生产者进程实现对缓冲池的互斥使用,利用互斥信号量mutexC使消费者进程实现对缓冲池的互斥使用;利用资源信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量。

又假定这些生产者和消费者相互等效,只要缓冲池未满,生产者便可将产品送入缓冲池;只要缓冲池未空,消费者便可从缓冲池中取走一个产品。

试用记录型信号量正确实现生产者和消费者的同步。

SemaphoremutexP=1,mutexC=1,empty=n,full=0;

Itembuffer[n];

intin=out=0;

voidproducer()

{

While

(1)

{

Produceaniteminnetxp;

wait(empty);

wait(mutexP);

buffer[in]=nextp;

in=(in+1)modn;

signal(mutexP);

signal(full);

}

}

Voidconsumer()

{

While

(1)

{

….

wait(full);

wait(mutexC);

nextc=buffer[out];

out=(out+1)modn;

signal(mutexC);

signal(empty);

……..

Consumetheiteminnextc;

…….

}

}

3、在读者—写者问题中,假定为实现Reader与Writer进程间在读或写时的互斥而设置了一个互斥信号量Wmutex。

另外,再设置一个整型变量Readcount表示正在读的进程数目。

由于只要有一个Reader进程在读,便不允许Writer进程去写。

因此,仅当Readcount=0,表示尚无Reader进程在读时,Reader进程才需要执行Wait(Wmutex)操作。

若Wait(Wmutex)操作成功,Reader进程便可去读,相应地,做Readcount+1操作。

同理,仅当Reader进程在执行了Readcount减1操作后其值为0时,才须执行signal(Wmutex)操作,以便让Writer进程写。

又因为Readcount是一个可被多个Reader进程访问的临界资源,因此,也应该为它设置一个互斥信号量rmutex。

试用记录型信号量正确实现读者—写者问题的同步。

semaphorermutex=wmutex=1;

intreadcount=0;

voidreader(inti)

{

while

(1)

{

wait(rmutex);

if(readcount==0)wait(wmutex);

readcount++;

signal(rmutex);

Performreadoperation;

wait(rmutex);

readcount--;

if(readcount==0)signal(wmutex);

signal(rmutex);

}

}

voidwrite(intj)

{

while

(1)

{

wait(wmutex);

performwriteoperation;

signal(wmutex);

}

}

4、有两个作业A和B,分别在7:

00和8:

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

00开始以响应比高者优先算法进行调度,请问在单道执行时这两道作业被选中的次序以及被选中时的响应比。

按照响应比的定义是:

响应比=优先权=(等待时间+要求服务时间)/要求服务时间

∴在9:

00开始调度时两作业的啊应比如下:

A作业的响应比=(120分钟+48分钟)/48分钟=3.5

B作业的响应比=(30分钟+6分钟)/6分钟=6

因而应先选中作业B执行;作业B被选中时的响应比为6,待作业B执行结束后再选作业A执行。

此时A的响应比=(120分钟+6分钟+48分钟)/48分钟=

5、已知分段地址的结构如下:

段内地址

段号

15

8

0

7

1在这样的地址结构中,允许一个作业最多可以分为多少个段

2每个段的最大长度是多少

3已知有一逻辑地址是0296H,段表如下,物理地址是多少

段号

段长

基址

1

50

8K

2

200

6K

3

100

10K

4

150

20K

1)28=256

2)28=256

3)0296H=0000001010010110

2150

+0001100000000000=1896H

6K+150=6294

6、某采用分页存储管理的操作系统中,物理地址占32位,逻辑地址中页号占4位,页大小为4KB,

1该系统的内存空间的大小为多少

2每个物理块的大小为多少

3逻辑地址共几位

4每个作业的最大长度为多少

5若0页放在第3块中,1页放在第1块中,2页放在第9块中,逻辑地址1020H对应的物理地址是多少

1)内存大小为232=4GB

2)每个物理块的大小和页的大小相等4KB

3)逻辑地址共16位(页号占4位,由于页大小为4K,页内地址占12位)

4)每个作业的最大长度24*4KB=64KB

5)1020H

1020H=0001000000100000H

1000000100000(偏移量)

第一页对应第1块所以4K=1000000000000

+000000100000

0001000000100000

1020H

7、某操作系统采用动态分区分配存储管理技术,用户区存储空间为512KB,空闲区由空闲分区表管理。

分配时采用从低地址部分开始的方案,并假设初始时存储空间处于全部空闲状态。

对下述申请次序:

req(300KB),req(100KB),release(300),req(150KB),req(30KB),req(40KB),req(60KB)

1若采用首次适应算法,在完成上述申请次序后,空闲区表应该是什么状态(空闲区始址和分区大小)

2若采用最佳适应算法,在完成上述申请次序后,空闲区表应该是什么状态(空闲区始址和分区大小)

3若申请序列后再加上req(90KB),那么采用上述两种不同算法,将会使空闲区表呈现什么状态

1)空闲区表中有两个表目,第一个的起始地址是280KB,大小为20KB;第二个的起始地址是400KB,大小为112KB。

2)空闲区表中有两个表目,第一个的起始地址是210KB,大小为90KB;第二个的起始地址是470KB,大小为42KB。

3)第一种方式中,第二个空块可以满足申请要求,分配后第二个空块的起始地址变为490KB,大小为22KB。

第一个空块不变。

第二种方式中,第一个空块正好满足申请要求,全部分配出去。

只剩下第二个空块。

8、在分页虚拟存储管理系统中,假定系统为某进程分配了4个内存块(将开始4页装入内存),页的引用顺序为:

7,1,2,0,3,0,4,2,3,0,3,2,7,0,若采用FIFO调度算法、LRU调度算法时,分别产生多少次缺页中断依次淘汰的页是什么

FIFO:

共发生了3次缺页中断,依次淘汰的页为7、1、2

LRU:

共发生了3次缺页中断,依次淘汰的页为7、1、4

 

9、系统中磁头停留在磁道号为100的磁道上,这时先后有4个进程提出了磁盘访问请求,要访问磁盘的磁道号按申请到达的先后顺序依次为:

55、120、39、110。

移动臂的运动方向:

沿磁道号递减的方向移动。

若分别采用FCFS磁盘调度算法、SSTF算法、SCAN算法时,所需寻道长度分别为多少

FCFS算法:

100-55+120-55+120-39+110-39=262

SSTF算法:

110-100+120-110+120-55+55-39=

SCAN算法:

100-55+55-39+110-39+120-110=

 

10、在FAT16文件系统中,且每个盘块的大小是512字节,

1如果每个簇可以有4个盘块,可以管理的最大分区空间是多少

2如果每个簇可以有64个盘块,可以管理的最大分区空间又是多少

1)216*4*512=128M

2)216*64*512=2G

11、某操作系统的磁盘文件空间共有500块,若用字长为32位的位示图管理盘块空间,试问:

1位示图需要多少个字

2如果b(盘块号),i,j从1开始计数,第i字第j位对应的块号是多少

3如果b(盘块号),i,j从0开始计数,第i字第j位对应的块号是多少

1)[500/32]=16

2)b=32*(i-1)+j

3)b=32*i+j

12、存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。

如果每个盘块的大小为4KB,若盘块号需要用4个字节来描述,请问系统中允许文件的最大长度是多少

直接地址:

10*4KB+

一次间接地址:

(4KB/4B)*4KB+

二次间接地址:

(4KB/4B)*(4KB/4B)*4KB+

三次间接地址:

(4KB/4B)*(4KB/4B)*(4KB/4B)*4KB=

40KB+4MB+4GB+4TB

13、设有一分页存储管理系统,向用户提供的逻辑地址空间最大为16页,每页4096字节,

1试问逻辑地址至少应为多少位

每页4096B,所以页内位移部分地址需要占12个二进制位,

逻辑地址空间最大为16页,所以页号部分地址需要占4个二进制位。

故逻辑地址至少应为16位。

14、在两级索引分配方式下,如果每个盘块的大小为4KB,每个盘块号占4个字节,

1所允许的文件最大长度是多少

(4KB/4B)*(4KB/4B)*4KB=4GB

15、有3200个磁盘块可用来存储信息,如果用字长为16位的字来构造位示图,若位示图部分内容如图所示。

1位示图共需多少个字

2若某文件长度为3200B,每个盘块为512个字节,采用链接结构且盘块从1开始计数,系统将为其分配哪些磁盘块

3试具体说明分配过程。

4若要释放磁盘的第300块,应如何处理

1)3200/16=200

2)3200/512=7;20、24、25、26、27、37和38

3)顺序检索位示图,从中找到第一个值为0的二进制位,得到行号i=2,列号j=4;计算出找到的第一个盘块是B1=(2-1)*16+4=20

第二个值为0的二进制位,得到行号i=2,列号j=8.;计算出找到的第一个盘块是

B2=(2-1)*16+8=24

………….

修改位示图,令Map[2,4]=Map[2,8]=…..=1,并将对应块20、24…….分配出去。

4)计算出磁盘第300块所对应的二进制位的行号i和列号j:

i=(300-1)/16+1=19j=(300-1)MOD16+1=12修改位示图,令Map[19,12]=0,表示对应块为空闲块。

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

当前位置:首页 > PPT模板 > 可爱清新

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

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