操作系统死锁和分页管理部分习题

一、单选题

1
死锁的预防是根据( )采取措施实现的。
A、
配置足够的系统资源

B、
使进程的推进顺序合理

C、
破坏产生死锁的四个必要条件之一

D、
防止系统进入不安全状态

正确答案: C
2
某系统中有13台磁带机,k个进程共享这些设备,每个进程最多请求使用3台,则系统不会死锁的k值是( )
A、
不小于3

B、
不大于6

C、
不大于13

D、
在6与10之间

正确答案: B
3
在没有快表的情况下,分页系统每访问一次数据,要访问( )次内存。

A、
1

B、
2

C、
3

D、
4

正确答案: B
4
在页面置换算法中,存在Belady现象的算法是( )

A、OPT B、FIFO C、OPT D、NRU
A、
OPT

B、
FIFO

C、
OPT

D、
NRU

正确答案: B
5
在请求分页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起( )。
A、
输入输出中断

B、
时钟中断

C、
越界中断

D、
缺页中断

正确答案: C
6
在执行v操作时,当信号量的值( )时,应释放一个等待该信号量的进程。

A.>0 B.<0 C.>=0 D.<=0

正确答案: D
7
实现进程同步时,每一个消息与一个信号量对应,进程( )可把不同的消息发送出去。
A、
在同一信号量上调用P操作

B、
在不同信号量上调用P操作

C、
在同一信号量上调用v操作

D、
在不同信号量上调用v操作

正确答案: D
8
允许多个用户以交互方式使用计算机的操作系统是( )。

A.分时操作系统 B.批处理单道系统

C.实时操作系统 D.批处理多道系统

A、
分时操作系统

B、
批处理单道系统

C、
实时操作系统

D、
批处理多道系统

正确答案: A
9
分段存储管理中,分段是由用户决定的,因此( )
A、
段内的地址和段间的地址都是连续的

B、
段内的地址是连续的,而段间的地址是不连续的

C、
段内的地址是不连续的,而段间的地址是连续的

D、
段内的地址和段间的地址都不是连续的

正确答案: B
10
最佳适应算法的空白区是 。
A、
按大小递减顺序排列

B、
按大小递增顺序排列

C、
按地址由小到大排列

D、
按地址由大到小排列

正确答案: B

二、简答题

1.相对于分页存储管理,分段存储管理方式有哪些优势?
答:
1 )方便编程:通常,用户把自己的作业按照逻辑关系划分为若干个段(一个函数或一个子程序对应一个段),每个段都从0开始编址,并有自己的名字和长度。因此,程序员们都迫切地需要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的,这不仅可以方便程序员编程,也可使程序非常直观,更具可读性。
2 ) 信息共享:在实现对程序和数据的共享时,是以信息(就是数据)的逻辑单位为基础的。比如,共享某个函数。分页系统中的“页”只是存放信息的物理单位(块),并无完整的意义(因为一个函数可能放在若干页中,当然也可能一页中包含几个函数的代码),不便于实现共享;然而段却是信息的逻辑单位。由此可知,为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。
3 ) 信息保护:信息保护同样是对信息的逻辑单位进行保护,因此,分段管理方式能更有效和方便地实现信息保护功能(分页系统中一个函数可能放在若干页中,要实现一个函数的保护显然是困难的)。
4 ) 动态增长:在实际应用中,往往有些段,特别是数据段,在使用过程中会不断地增长(例如:可能在程序的执行过程中产生了一些临时数据导致长度增加),而事先又无法确切地知道数据段会增长到多大。前述的其它几种存储管理方式,都难以应付这种动态增长的情况,而分段存储管理方式却能较好地解决这一问题。
5 ) 动态链接:动态链接是指在作业运行之前,并不把几个目标程序段链接起来。要运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将目标程序段临时调入内存并进行链接。可见,分段存储管理方式较容易实现动态链接。(分页系统的页中除了有某个函数的代码,也可能有其它函数的代码,不好实现动态链接)

2.简述分段存储管理方式的地址变换原理?
答:为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表始址和段表长度TL(就是段表的行数)。在进行地址变换时,系统将逻辑地址中的段号S(0~TL-1)与段表长度TL进行比较。若S>=TL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置(段表的始址+段号段表项的长度),从中读出该段在内存的起始地址,然后再检查段内地址d是否超过该段的段长SL。若超过,即d>SL,同样发出越界中断信号;若未越界,则将该段的基址与段内地址d相加(下图:8K+100=81024+100=8192),即可得到要访问的内存物理地址。

3.分页存储管理和分段存储管理的主要区别?
答:
1 ) 需求:分页是出于系统管理的需要,是一种信息(就是数据)的物理划分单位,分段是出于用户应用的需要,是一种逻辑单位,通常包含一组意义相对完整的信息(在一个段中仅包含一个完整的函数或子程序)。一个函数或子程序可能会跨越两个页的分界处(即一个函数或子程序可能放在若干页中),而不会跨越两个段的分界处。
2 ) 大小:页大小是系统固定的,而段大小则通常不固定(因为多个函数或子程序的大小显然不相等)。分段没有内部碎片(因为段的大小就是按存放于其中的函数或子程序决定的),但连续存放段产生外碎片,可以通过内存紧缩(紧凑)来消除;分页产生内部碎片(最后一页)。相对而言分段方式空间利用率高。
3 ) 逻辑地址:分页是一维的,各个模块在链接时必须组织成同一个地址空间;分段是二维的,在标识一个地址时,既需给出段号,又需给出段内地址。
4 ) 通常段的大小比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。分段模式下,还可针对不同类型采取不同的保护;按段为单位来进行共享;方便实现动态链接。

4.现有五个进程A,B,C,D,E共享Rl,R2,R3,R4这四类资源,进程对资源的需求量和目前分配情况如下表。若系统还有剩余资源数分别为R1类2个,R2类6个,R3类2个和R4类1个,
进程 已占资源数 最大需求量
R1 R2 R3 R4 R1 R2 R3 R4
A 3 6 2 0 5 6 2 0
B 1 0 2 0 1 0 2 0
C 1 0 4 0 5 6 6 0
D 0 0 0 1 5 7 0 1
E 5 3 4 1 5 3 6 2
请按银行家算法回答下列问题:
(1)目前系统是否处于安全状态?
(2)现在如果进程D提出申请(2,5,0,0)个资源,系统是否能为它分配资源?

正确答案:

(1)系统目前尚余有的资源数为(2,6,2,1),五个进程尚需的资源数分别是 A:(2,0,0,0) ; B:(0,0,0,0); C:(4,6,2,0) ; D:(5,7,0,0);   E:(0,0,2,1);由于进程B己满足了全部资源需求,它在有限时间内会归还这些资源,因此可分配资源达到(3,6,4,1),这样就可分配给进程A;等A归还资源后,可分配资源达到(6,12,6,1),再分配给进程c;之后可分配资源会达到(7,12,10,1),分配给进程D并等待一段时间后,可分配资源将达到(7,12,10,2),最后,可分配给进程E,满足其全部请求。所以说目前系统处于安全状态。
(2)若此时给进程D分配(2,5,0,0)个资源,进程D尚需(3,2,0,0),则系统剩余的资源量为(0,1,2,1);若待进程B归还资源后,可分配资源能达到(1,1,4,1),根据各进程尚需资源量,只有先满足E的资源需求,待它归还资源后,可配资源只有(1,1,6,1),显然无法满足进程A,c,D中任何一个进程的资源要求,这样系统就会产生死锁。所以此时系统不能为进程D分配(2,5,0,0)个资源。

你可能感兴趣的:(操作系统,操作系统,死锁,页面管理)