(1)绝对地址=界限寄存器值+逻辑地址;(2)绝对地址=下限寄存器值+逻辑地址; (3)绝对地址=基址寄存器值+逻辑地址;(4)绝对地址=块号*块长+页内地址;
9、除了操作系统所占用的存储区安排在内存顶部,其余是安排给用户的可用存储空间,采用从两头向中间的分配可变分区管理方法有何优点?
答:这样做可以使作业集中在两端,不必移动信息就会使得空闲空间总是集中在一起,且集中在内存的中部。特别是当只有两个作业的情况下,一个作业被撤后,不必移动信息,就会使空闲区连成一片,可使作业移动最小。
4.4 基本分页管理
1、填空:设有8页的逻辑空间,每页有1024B,它们被映射到32块的物理存储区中。那么,逻辑地址的有效位是()位,物理地址至少是()位。(西北工大00) 2、判断:在分页系统中,减少页面大小,可以减少内存的浪费,所以页面越小越好。 3、判断:在一个分页系统中,根据需要,页面的大小可以不相等(北京理工)
4、判断:页式存储管理中,用户应将自己的程序划分成若干大小相等的页面。(北航04) 5、关于分页系统的页面大小,判断:
(1)页面大的好处是页表较小。(2)页面小的好处是可以减少由内部碎片引起的内存浪费。(3)通常,影响磁盘访问时间的主要因素不在于页面的大小,所以使用时可优先考虑大的页面。
6、以下各功能中,()不需要硬件的支持。(选项:中断系统;地址映射;进程调度;时钟管理;页面调入;文件打开;) 7、一台计算机为每个进程提供65536字节的地址空间,划分为4K字节的页。一个特定的程序有32768字节的正文、16386字节的数据和15870字节的堆栈。这个程序能装入地址空间吗?如果页面长度是512字节,能放下吗? 8、分页系统中的页面是为()。
选项:用户所感知的;操作系统所感知的;编译系统所感知的;连接装配程序所感知的。 9、联想存储器中的页,其信息(3)
(1)一点在外存中;(2)一定在外存和内存中;(3)一定在内存中;(4)以上说法都不对。
4.5 基本分段管理
1、判断:段页式结合了段式和页式的优点,所以段页式的内部碎片和页式一样少 2、在固定式分区管理、可变式分区管理、页式管理、段式管理、段页式管理中,各会产生何种碎片?
3、段式存储管理中,处理零头问题可采用()方法。(重定位;拼接;Spooling技术;覆盖技术)
4、采用段式存储管理时,一个程序如何分段是在()决定的。(选项:分配主存时;用户编程时;装作业时;程序执行时)
5、若段式存储管理中供用户使用的逻辑地址是24位,其中段内地址占用16位,则用户程序最多可分为()段。当把程序装入主存时,每段占用主存的最大连续区为()字节。
25
6、段式存储管理中分段是由用户决定的,因此()
(1)段内的地址和段间的地址都是连续的。(2)段内的地址是连续的,而段间的地址是不连续的。(3)段内的地址是不连续的,而段间的地址是连续的。(1)段内的地址和段间的地址都是不连续的。
4.6虚拟存储器基本概念
1、简述“虚拟”在操作系统中的应用。
提示:虚拟存储管理、虚拟设备、分时系统中的cpu等。
2、判断:虚拟存储器的大小等于或小于内存和外存的容量之和。(西电) 3、判断:虚拟存储器的大小可比主存容量大,也可比主存容量小。(电子科大) 4、判断:cpu的地址空间决定了计算机的最大存储容量 5、交换扩充了主存,因此,交换也实现了虚拟存储器,对吗?
6、总体上说,按需调页是个很好的虚拟内存管理策略。但是有些情况并不适合,判断:(堆栈;线性搜索;矢量运算;二分法搜索(浙大06) 提示:按需调页适合运行的程序师具有局部性现象的程序,即最好是对数据进行顺序访问的程序。矢量运算就是数组运算,数组存放是连续的,所以数组运算就是临近的数据的运算,满足局部性。二分法搜索先找中间的那个元素,如果没有找到,就再找前面数过去的1/4位置或倒数1/4的位置,再这样找下去,显然每次搜寻的元素都不是相邻的,所以不满足局部性。
7、判断:请求页式存储管理系统中,若把页面的大小增加一倍,则缺页中断次数也减少一半。
8、在虚拟分页存储管理中,()没有优先考虑最近使用过的页面。(选项:最优页面替换算法;第二次机会算法;LRU算法;时钟页面替换算法;NFU算法;最近未使用页面算法)一台小型计算机有4个页框(页0-页3)。在第一个时钟周期时R位是0111(页0是0,其他是1)。在随后的时钟周期中这个值是1011,1010,1101,0010,1010,1100,0001。如果使用带有8位计数器的老化算法,最后一个周期后页2的计数器值是()。 9、在一个32位计算机的虚拟页式存储管理系统中,怎样解决页表非常庞大的问题?请给出具体解决方案(假设页面大小为4K,用户空间为2GB,每个内存块用4字节表示)
10、测得某个采用按需调页策略的系统部分状态数据为:CPU利用率20%,对换空间的磁盘利用率98%,其他设备的利用率5%,由此断定系统出现异常。此种情况下()能提高利用率(安装一个更快的硬盘;通过扩大硬盘容量增加对换空间;增加运行进程数;加内存条来增加物理内存容量;更换速度更快的CPU;采用更快的I/O设备。) (浙大98)
11、在请求分页系统中,地址变换过程可能会因为()、()、()等原因而产生中断。 12、在请求分页管理系统中,需要哪些数据结构?(页表、块位图) 13、某请求页式系统,允许用户空间为32个页面(每页1KB),主存为16KB,若一个用户程序有10页长,某时刻该进程的页表如下所示: 虚页号 0
物理块号 8 26
是否在TLB中 是 1 2 3 4 5 6 其他 7 4 10 5 3 2 无效 是 否 否 否 是 是 问:(1)计算虚地址0AC5H、1AC5H对应的物理地址。 (2)页表存放在主存中,对主存的一次存取需要1.5ns,对TLB表的查找时间忽略为0,试问这两次访问共耗费多少时间?(浙大04)
14、已知某系统页面长为4KB,页表项4B,采用多层分页策略映射64位虚拟地址空间,若限定最高层页表占1页,问需要采用几层分页策略?
提示;由于每层页表的大小都不超过一页,所以每层的页号不超过10位。10*n+12>=64,所以采用6层。 15、一台机器有48位虚地址和32位物理地址,页面是8K,问在页表中需要多少个页表项?一个倒置的页表需要多少页表项呢?
16、一个程序要把100×100的数组的初值置为“0”,现在假定有两个内存块可以用来存放数组信息,每个内存块可以存放200个数组元素,数组中的元素按行编址。两个内存块的初始状态都为空,若程序编写如下: (1)int A [100,100]; For i=1 to 100 For j=1 to 100 A[i,j]=0; (1)int A [100,100]; For j=1 to 100 For i=1 to 100 A[i,j]=0; 当采用LRU页面置换算法时,(1)和(2)两个程序各会产生多少次缺页?
17、在请求页式存储管理系统中,页的大小为128字节。有一个64*64的整型数组,系统按行存储,每个整数占用两个字节。若系统为它分配一个贮存块存放数据,且程序已经驻留内存。试问实现为该数组清零操作时,可能产生多少次缺页中断。程序的代码编写如下: int A [64,64]; int i,j;
For (i=0; i<64;i++) For (j=0; j<64;j++) A[i,j]=0;
18、某页式虚存系统中,假定访问内存的时间是10ms,平均缺页中断处理时间是25ms,平均缺页中断率为5%。计算在该虚存系统中,平均有效访问时间是多少?
19、某操作系统的存储管理采用页式管理系统,系统的物理地址空间大小为32M,页的大小
27
是4K,假定某进程的大小为32页,问: (1)写出逻辑地址格式;
(2)如果不考虑权限位,该进程的页表有多少项?每项至少多少位?
20、已知某系统页长4KB,页表项4B,采用多层分页策略映射64位虚址空间。若限定最高层页表占1页,问它可以采用几层分页策略? 21、一台计算机上的一条指令执行平均需要k纳秒,其上的某个操作系统处理一次页故障需要n纳秒,如果计算机上的程序执行平均m条指令发生一次缺页,问实际的指令执行时间为多少?
提示:=(m*k+n)/m
22、在分页系统中,其页表存放在内存中。
(1)如果对内存的一次存取需要100微秒,则实现一次页面访问至少需要的存取时间是多少?
(2)若系统有快表,快表的命中率为80%,当页表项在快表中时,其查询快表的时间为20微秒,问此时的存取时间是多少?
23、有一页式系统,其页表存放在主存中。
(1)如果对主存的一次存取需要1.5微秒,试问实现一次页面访问的存取时间是多少? (2)如果系统增加快表,平均命中率为85%,若忽略快表查找时间,问此时的存取时间为多少?
24、在页式虚拟存储管理系统中,假定驻留集为M个页帧(初始所有页帧均为空),在长为P的引用串中具有N个不同页号(N>M),对于FIFO何LRU两种页面替换算法,试求出页故障的上限和下限,说明理由。
25、假定某一页式虚拟存储器,内存的平均访问时间为1微秒,辅存的平均访问时间为10毫秒,问如果希望虚拟存储器的平均访问时间仅比内存的增加10%,则需要页面失效率是多少?
26、一个计算机有cache,有一个用作虚拟内存的磁盘。若从cache中读取一个字所用的时间为Ans,从内存中将一个字读入cache的时间为Bns,从磁盘中将一个字调入内存的时间为Cns。若在cache中读取一个字的命中率是(n-1)/n,在内存中读取一个字的命中率是(m-1)/m,则平均访问时间是多少?
27、内存的利用率不高主要表现为哪几种形式?可以通过哪些途径来提高内存的利用率? 28、人们观察到在两次页故障之间执行的指令数与分配给程序的页框数成正比,即可用内存加倍,页故障的平均间隔也加倍。假设一条普通指令需要1μs,但若发生了页面故障就需要2001μs。一个程序运行了60s,期间发生了1500次页面故障,如果该页面的可用内存时原来的2倍,这个程序运行需要多少时间:
提示:处理页面故障的时间=2001-1=2000μs,该程序共有指令数=(60s-1500*2000μs)/μs=57000000条,增加内存后,该页面故障次数为1500/2次,页面故障处理时间为
28