操作系统第三次作业(第四章)
一选择题
1.在装入一个作业时,把作业中的指令地址和数据地址全部转换成主存中的物理地址。
这种重定位方式称为C。
A.逻辑重定位B.浮动重定位C.静态重定位D.动态重定位
2.可变分区管理如采用“最先适应分配算法”时,应将空白区按A登记到空闲区表中。
A.地址递增顺序B.地址递减顺序C.长度递增顺序D.长度递减顺序
3.采用页式存储管理的系统中,若地址用16位表示,其中6位表示页号,则页的大小为B。
A.0.5K B.1K C.2K D.4K
4.虚拟存储器的最大容量由D决定。
A.内存和外存容量之和B.作业的地址空间大小
C.计算机地址总线的位数D.计算机有效地址的位数
5.在页式虚拟存储管理中,检查页表,如得知该页已在主存时,则进行D。
A.页面调度B.淘汰该页C.缺页中断请求D.地址转换
6.在分页管理方法中,通常设置快表(Cache存储器)存放页表的子集,这样做是为了C。
A.扩充主存容量B.解决CPU与主存的速度匹配
C.提高地址映射的速度D.增加CPU访问的并行度
7.在请求分页系统中,选择距离现在最长时间没有被访问的页面将其淘汰的页面置换算法是B。
A.最佳置换算法(OPT)B.最近最久未用置换算法(LRU)
C.最近最不常用调度算法(LFU)D.先进先出置换算法(FIFO)
二判断题(你认为正确的写T,错误的写F)
1.(T)静态重定位是指程序装入时一次性地将所有的逻辑地址转换成物理地址。
2.(F )固定分区法就是每个分区事先固定且大小相等,不能改变。
3.(F)虚拟存储器的最大容量是由计算机地址总线的位数决定的。
4.(T )如果计算机有效地址是32位二进制位,则该机的虚存最大容量是4GB。
5.(F)在段页式管理方法中,一个作业或进程有一个段表和一个页表。
6.(F)为加速地址转换,通常设置一小容量的Cache用于存放页表的子集,对它的访问是按字地址进行的。
三简答题
1.缺页中断是如何发生的?发生缺页中断后如何处理?
解答:在请求分页管理方案中,一个作业不全部装入主存,只装入一部分。
运行一段时间后,当发现要访问的虚页不在主存时,由硬件产生缺页中断,转入管态。
操作系统执行缺页中断处理程序,完成该页从磁盘的文件里装入主存,并修改页表的状态位。
如果主存中有空闲实页,将该页装入某空闲实页并修改页表。
如主存没有空闲实页,则淘汰主存中的某一页(取决于所采用的页面淘汰算法)。
如被淘汰的页修改过,则先将该页写回辅存,然后再淘汰该页。
2.简述程序访问的局部性原理。
解答:程序中顺序执行的指令、数组的计算以及循环等,通常在某一连续区域,表现为时间局部性和空间局部性两方面。
所谓时间局部性是指:一条指令或数据被访问了,它常常很快又要再次被访问。
例如程序循环、经常用到的变量和子程序等。
空间局部性是指:一旦某存储单元被访问了,则在一定时间内,与该存储单元相邻的单元可能也要访问到。
例如指令的顺序执行、数组计算等。
3.简述分段原理。
解答:用户将作业按自身的逻辑关系划分为若干个段,每个段有一个段名,且有一个段号。
段号从 0 开始编号,每一段内也从 0 开始编址,段内地址是连续的。
系统以段为单位分配内存,每一个段在内存中占据连续的存储空间,但各段之间可以不连续存放。
每个作业有一个段表,通过查段表实现地址转换。
分段存储管理容易实现段的共享和保护。
四应用题
1.在页式虚拟存储管理系统中,若某进程依次访问的页面为3,2,4,1,0,2,1,0,3,4,2,3。
分配3块主存块(设开始三页都未装入主存),分别填写下表,并计算缺页次数和缺页率。
(可参考教科书P122-P123)
(1)FIFO替换算法
(2)LRU替换算法
解答:
(1)FIFO替换算法
(2)LRU替换算法
2.一分页存储管理系统,逻辑地址长度为16位,页面大小为2048字节。
如某作业有3个页,且第0、1、2页依次存放在内存的第3、6、8块中。
试问逻辑地址0E56H(H 为16进制)对应的物理地址为多少?
解答:因为页面大小2048字节(211 =2048),所以页内地址d有11位,页号p有5位。
由题目所给条件可知,本分页存储管理系统的逻辑地址结构如下图:
15 11 10 0
逻辑地址0E56H的二进制形式为:
15 11 10 0
由此可知,逻辑地址0E56H的页号为1(二进制形式为0 0 0 0 1),查页表,得知该页存放在内存第6号物理块中(二进制形式为0 0 1 1 0)。
15 11 10 0
写成16进制形式的物理地址是:3656H。
3.一个作业的段表如下:
分别计算逻辑地址[1,100]和[2,600]对应的物理地址。
解答:本题的段表长度Cl = 4。
对于逻辑地址[1,100],由于段号为1,段号小于段表长度,段号没有越界;检查段表,发现第1段的段长为800,而段内地址d = 100,段内地址小于该段的段长,未越界,所以物理地址=起始地址b + 段内地址d,即物理地址等于:4K + 100 = 4×1024 + 100 = 4196。
对于逻辑地址[2,600],由于段内地址600等于第3段的段长600,所以产生越界中断,不能转换成物理地址。