操作系统总复习 联系客服

发布时间 : 星期三 文章操作系统总复习更新完毕开始阅读11d77164783e0912a2162afb

答:分页是由系统将一个进程的逻辑地址空间划分成若干大小相等的部分,每一部分称做一个页面。

分段是用户根据作业的逻辑关系进行自然划分,每个分段是作业中相对独立的一部分。

分段和分页都是非连续的存储管理方法, 分页和分段的主要区别有:

①页是信息的物理单位,段是信息的逻辑单位。

②页面的大小由系统确定,并且各页大小都相同;各段长度因段而已,由用户决定。 ③分页的作业地址空间是一维的,分段的作业的地址空间是二维的。 ④分页的活动对用户是不可见的,而分段是用户可见的活动。

7在分页系统中页面大小由谁决定?页表的作用是什么?如何将逻辑地址转换成物理地址?

答:在分页系统中页面大小由硬件决定。

页表的作用是:实现从页号到物理块号的地址映射。

逻辑地址转换成物理地址的过程是:用页号P去检索页表,从页表中得到该页的物理块号,把它装入物理地址寄存器中。同时,将页内地址d直接送入物理地址寄存器的块内地址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存地址,从而完成了从逻辑地址到物理地址的转换。 8什么是belady现象?

答:belady现象是指在使用FIFO算法进行内存页面置换时 ,在未给进程或作业分配足它所要求的全部页面的情况下,有时出现的分配的页面数增多,缺页次数发而增加的奇怪现象。 9请求分页技术的基本思想是什么?它与简单分页技术之间有何根本区别?

答:请求分页技术的基本思想是:当一个进程的部分页面在内存时就可调度它运行;在运行过程中若用到的页面尚未在内存,则把它们动态换入内存。这样,就减少了对换时间和所需内存数量,允许增加程序的道数。

请求分页技术是在简单分页技术基础上发展起来的,两者根本区别是:请求分页提供虚拟存储器,而简单分页系统并未提供虚拟存储器。

10为什么分段技术比分页技术更容易实现程序或数据的共享和保护?

答: 每一段在逻辑上是相对完整的一组信息,分段技术中的共享是在段一级出现的。这样,任何共享的信息就可以单独成为一段。同样,段中所有内容可以用相同的方式进行使用,从而规定相同的保护权限。 然而,页是信息的物理单位,在一页中可能存在逻辑上互相独立的两组或多组信息,各有不同的使用方式和存取权限,因而,对分页难以进行共享和保护。 11何谓工作集?它有什么作用?

答:工作集是一个进程在某一小段时间内访问页面的集合。 利用工作集模型可防止抖动,也可以进行页面置换。

12什么是页面抖动?系统怎样检测是否出现抖动?一旦检测到抖动?系统如何消除它? 答:页面抖动是系统频繁进行页面置换的现象。整个系统的页面替换非常频繁,以致大部分机器时间都用在来回进行的页面调度上,只有一小部分时间用于进程的实际运算方面。 操作系统监督每个进程的工作集,并给它分配工作集所需的内存块。若有足够多的额外块,就可以装入并启动另外的进程。如果工作集增大了,超出可用块的总数,即系统中全部进程对内存块的总请求量大于可用内存块的总量,将出现抖动,因为某些进程得不到足够的内存块。

一旦检测到抖动,操作系统要选择一个进程让它挂起,把它的页面写出去,把它占用的内存块分给别的进程。被挂起的进程将在以后适当时机重新开始执行。

综合题

1考虑下面页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为3时,试问LRU,FIFO,OPT三种置换算法的缺页次数各是多少?(注意,所有内存最初都是空的,凡第1次用到的页面都产生一次缺页) 答: LRU

1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6

1 1 1 4 4 4 5 5 5 1 1 1 7 7 7 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 2 2 6 6 6 1 1 1 6 3 3 3 3 3 6 6 6 6 3 3 3 3 3 3 3 3 3 × × × × × × × × × × × × × × × (2’) FIFO

1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 1 1 4 4 4 4 6 6 6 6 3 3 3 3 2 2 2 2 6 2 2 2 2 1 1 1 2 2 2 2 7 7 7 7 1 1 1 1 3 3 3 3 5 5 5 1 1 1 1 6 6 6 6 6 3 3 × × × × × × × × × × × × × × × × (2’) OPT

1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 7 7 7 2 2 2 2 2 3 4 4 4 5 6 6 6 6 6 6 6 6 6 1 1 1 6 × × × × × × × × × × × (2’)

内存块数 置换算法 FIFO LRU OPT 3 16 15 11 (3’)

2考虑下面存储访问序列,该程序大小为460字:10,11,104,170,73,309,185,245,246,434,458,364 设页面大小是100字,请给出该访问序列的页面走向。又设该程序基本可用内存是200字,采用FIFO置换算法,求出缺页率。如果采用LRU算法,缺页率是多少?如果采用最优淘汰算法,其缺页率又是多少? 解:

该序列的页面走向为:0、1、0、3、1、2、4、3。 (1’) FIFO 0 1 0 3 1 2 4 3 0 0 0 3 3 3 4 2 1 1 1 1 2 2 3 × × × × × × (2’)

LRU 0 1 0 3 1 2 4 3 0 0 0 0 1 1 4 4 1 1 3 3 2 2 3 × × × × × × × (2’)

OPT 0 1 0 3 1 2 4 3 0 0 0 3 3 3 3 3 1 1 1 1 2 4 4 × × × × × (2’)

算法 FIFO LRU OPT 缺页次数 6 7 5 缺页率 6/12=0.5 7/12=0.583 5/12=0.417 (3’)

3设某页系统中,页帧大小为100字。一个程序大小为1200字,可能的访问序列如下: 10,205,110,735,603,50,815,314,432,320,225,80,130,270

系统采用LRU算法。当为其分配4个主存块时,给出该作业驻留的各个页的变化情况及页故障数。

答:首先将逻辑地址变换成页号。这样10,205,110,735,603,50,815,314,432,320,

225,80,130,720,通过除以页的大小100,页号分别为0,2,1,7,6,0,8,3,4,2,0,1,2。(3’)

系统为运行进程分配4个主存块,采用LRU算法,因此可以列表给出进程的缺页情况: 0 2 1 7 6 0 8 3 4 3 2 0 1 2 0 2 1 7 6 0 8 3 4 3 2 0 1 2 0 2 1 7 6 0 8 3 4 3 2 0 1 0 2 1 7 6 0 8 8 4 3 2 0 0 2 1 7 6 0 0 8 4 3 3 F F F F F F F F F S F F F S (5’)

由上表可见,被淘汰的页依次为0,2,1,7,6,0,8,4。缺页次数为12次 (2’)

4某请求页式管理系统,用户编程空间有40个页面,每个页面为200H字节。假定某时刻用户页表中虚页号和物理块号对照表如下: 虚页号 0 2 5 17 20 物理块号 5 20 8 14 36

求虚地址0A3CH、223CH分别对应的物理地址。

答:虚地址0A3CH转换成十进制数为2620,每个页为200H,即512B,由2620/512可得,页号为5,页内地址为60。查页表可知,其主存块号为8。(3’) 因此地址为2620的物理地址为:8*512+60=4156。(2’)

虚地址223CH转换成十进制数为8762,由8762/512可得,其页号为17,页内地址为58。查页表可知,其主存块号为14。(3’)

因此地址为8762的物理地址为14*512+58=7226。(2’)

5某系统采用页式存储管理策略,拥有逻辑空间32页,每页2KB;拥有物理空间1MB。 1) 写出逻辑地址的格式

2) 若不考虑访问权限位,进程的页表有多少项?每项至少多少位? 3) 如果物理空间减少一半,页表结构应作怎样的改?

答:1)逻辑空间32页,占5个二进制位。每页2KB,占11位。故描述逻辑空间需要16位(2’)。 15 … 11 10 … 0

逻辑地址的格式:[ | ] (1’)

2)进程的页表有32项,每项的位数由主存的分块数决定(2’)。1MB的空间可划分为512个2KB的块,每个块用9个二进制位表示(2’)。

3)如果物理空间减少一半时,主存地址需要19位表示,仍大于逻辑空间的大小,故页表结构可以不变。(3’)

6有一虚拟存储系统,采用先进先出(FIFO)的页面淘汰算法。在主存忠为每一个作业进程开辟3页。某作业运行中使用的操作数所在的页号依次为:4,3,2,1,4,3,5,4,3,2,1,5。

1) 该作业运行中总共出现多少次缺页?

2) 若每个作业进程在主存拥有4页,又将产生多少次缺页? 3) 如何解释所出现的现象?

解:先进先出算法的实质是:总是选择作业中在主存驻留时间最长的一页进行淘汰。 若在主存中为每一作业进程开辟3页,对于题中的页面访问过程,其页面调度过程如下所示

4 3 2 1 4 3 5 4 3 2 1 5

页面1 4 4 4 1 1 1 5 5 5 5 5 5 页面2 3 3 3 4 4 4 4 4 2 2 2 页面3 2 2 2 3 3 3 3 3 1 1 缺页中断 F F F F F F F F F (3’) 1) 该作业运行中总共出现9次缺页(1’)

2) 在主存拥有4页,又将产生10次缺页(1’)。其页面调度过程见下图:

4 3 2 1 4 3 5 4 3 2 1 5 页面1 4 4 4 4 4 4 5 5 5 5 1 1 页面2 3 3 3 3 3 3 4 4 4 4 5

页面3 2 2 2 2 2 2 3 3 3 3 页面4 1 1 1 1 1 1 2 2 2 缺页中断 F F F F F F F F F F (3’)

3)从这个例子可以看出,当主存中为每一作业进程开辟4页时,出现了缺页次数反而增加的现象。这种现象称为Belady现象。(2’) 7关于存储管理,试问: (1) 在分页、分段和段页式存储管理中,当访问一条指令或数据时,需要访问内存几次?

各做什么处理?

(2) 假设一个分页存储系统具有快表,多数活动页表都可以存在其中,页表放在内存中,

内存访问时间是1us。若快表的命中率是85%,快表的访问时间为0.1us,则有效存取时间为多少?若快表命中率为50%,那么有效存取时间为多少?

解答:(1)分页需要访问2次,第一次访问页表,第二次执行访内操作(2’);分段需要访问2次,第一次访问段表,第二次执行访内操作;段页式需要访问3次,第一次访问段表,第二次访问页表,第三次执行访内操作(2’)。

(2)当快表的命中率为85%时,执行一次访内操作需要的时间: T=1*0.85+2*(1-0.85)=1.15(us) (3’)

当快表的命中率为50%时,执行一次访内操作需要的时间: T=1*0.5+2*(1-0.5)=1.5(us) (3’)

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

(1)按FIFO调度算法将产生多少次缺页中断,依次淘汰的页号为多少,缺页中断率为多少。 (2)按LRU调度算法将产生多少次缺页中断,依次淘汰的页号为多少,缺页中断率为多少。 答:

页面走向为:1,2,1,0,4,1,3,4,2,1

(1)按FIFO调度算法将产生5次缺页中断;依次淘汰的页号为:0,1,2; 缺页中断率为:5/10=50% (3’) 1 2 1 0 4 1 3 4 2 1 0 0 0 0 0 4 4 4 4 4 4 1 1 1 1 1 1 3 3 3 3 2 2 2 2 2 2 2 2 1 × × × × × (2’)

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

9一台计算机含有65536字节的存储空间,这一空间被分成许多长度为4096字节的页。有一个程序,其代码段为32768字节,数据段为16386字节,栈段为15870字节。试问该机器的主存空间适合这个进程吗?如果将每页改成512字节,合适吗? 答:

当存储空间每块为4096B时,共可分成16块。其中: 程序代码段占:32768/4096=8块; (1’) 数据段占:16386/4096=5块; (1’) 栈段占:15870/4096=4块; (1’) 合计为:8+5+4=17块; (1’)

故该机器的主存空间不适合这个作业。 (1’)

当存储空间每块为512B时,共可分成128块。其中: 程序代码段占:32768/512=64块; (1’)