
OS存储管理例题.pdf
5页1请求分页管理系统中,假设某进程的页表内容如下表所示:页号页框( Page Frame)号有效位(存在位) 0 101H 1 1 0 2 254H 1 页面大小为4KB,一次内存的访问时间是100ns,一次快表( TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns (已含更新TLB和页表的时间) , 进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU )和局部淘汰策略假设TLB 初始为空;地址转换时先访问 TLB,若 TLB 未命中,再访问页表(忽略访问页表之后的TLB更新时间);有效位为 0 表示页面不在内存,产生缺页中断, 缺页中断处理后,返回到产生缺页中断的指令处重新执行设有虚地址访问序列2362H , 1565H , 25A5H 请问:(1)依次访问上述三个虚地址,各需多少时间?给出计算过程2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由1) 因为每页大小为4KB, 2362H对应的页号为2,该页在内存中,但TLB为空,所以:所以 =10ns(访 TLB)+100ns(访页表) +100ns(访内存单元)=210ns 1565H对应页号为1,不在内存中, 产生缺页中断, 缺页中断处理后返回到产生缺页中断指令处重新执行,需要再访问一次TLB 所以 =10ns(TLB)+100ns( 页表 )+100000000ns (调页) +10ns( TLB )+100ns(访问内存单元) =100000220ns 25A5H对应页号为2,在内存, TLB命中所以 =10ns(TLB)+100ns( 访问内存单元)=110ns (2)1565H物理地址 =101565H 因为 2 号页面刚被访问,不会被置换,因此用101 页框。
2虚拟存储管理系统的基础是程序的局部性理论此理论的基本含义是A 局部性有两种表现形式:时间局部性和B 它们的意义分别为C 和D 根据局部性理论,Denning提出了 E A、B:(1)程序执行时对主存的访问是不均匀的(2)代码的顺序执行(3)变量的连续访问(4)指令局部性(5)数据局部性(6)空间局部性C、D:(1)最新被访问的单元,很可能在不久的将来还要被访问2)最近被访问的单元,很可能它附近的单元也即将被访问3)结构化程序设计,很少出现转移语句4)程序中循环语句的执行时间一般很长5)程序中使用的数据在各子程序中具有局部性E:(1)Cache结构的思想(2)工作集理论(3)最近最少使用(LRU )页面转移法(4)先进先出( FIFO)页面置换算法A(1) B ( 6) C (1) D (2) E (2)3在多用户环境中为了实现多用户之间的隔离,必须采取措施内存保护4程序经编译或汇编以后形成目标程序,其中的指令顺序是以0 作为参考地址进行编址的,这些地址称为逻辑地址(虚拟地址)5在操作系统的存储管理中,存储共享既可以节省主存空间,又可以提高多道程序的并行度6把程序地址空间中使用的逻辑地址变成内存中物理地址称为。
A、加载 B、物理化 C、重定位 D、逻辑化7在现代计算机系统中,存储器是十分重要的资源,能否合理有效地使用存储器,在很大程度上反映了操作系统的性能,并直接影响到整个计算机系统作用的发挥试回答:(1)主存利用率不高主要表现在哪几种形式?(2)可以通过哪些途径来提高主存利用率?(1)1)内存中存在着大量分散、难以利用的碎片2)暂时或长期不能运行的程序和数据占据了大量的内存空间3)在作业大时内存中只能装入少量作业,当它们处于阻塞状态将CPU闲置,从而降低了内存利用率4)内存中存放着重复的副件2)1)采用离散分配方式(如分页),减少内存碎片2)增加对换机制, 将暂时不用的程序和数据换出到外存,以腾出内存空间给其他进程使用3)采用虚拟存储管理技术,增加内存中并发进程数目4)引入动态装入和链接技术,只将需要的部分装入内存5)提供存储共享能力,减少内存中重复副件的存在8某虚拟存储器的用户空间共有32 个页面,每页1KB ,主存 16KB 假定某时刻系统为该用户的第 0、1、 2、3 页分别分配的物理块号为5、10、4、7,试将虚拟地址0AC、1A5C和093C变换为物理地址在此情况下,地址字长为位() ,高位为页号,后位页内地址,虚拟地址0AC对应的二进制表示为:0 A 5 C 0000 1010 0101 1100 把它分成页号(000010)和 (1001011100) 两部分,这里页号为2,其对应的块号为4(000100) ,把它和页内地址结合起来,得到真正的物理地址(0001 0010 0101 1100), 即125C,如下图所示。
0 A 5 C 0000 10 10 0101 1100 页号 =2 块号 =4 000100 1 2 5 C 093C的地址变换: 0 A 5 C 0000 10 01 0011 1100 页号 =2 块号 =4 000100 0001 00 01 0011 1100 1 1 3 C 所以 093C对应的物理地址为113C9在一个虚拟存储器中,主存容量400B,划分为 4 页,采用 LRU 页面置换算法虚地址流为 22,214,146,618, 270,490,492,168,96,1281)写出虚页地址流2)画出实存中的调度过程示意图(即“实存状况图”,并规定优先进入编号较小的实页)(3)写出实地址流4)计算命中率5)假定主存的访问周期为100ns,辅存的访问周期为10ms ,求系统的平均有效访问周期1)主存容量为400B,划分为4 页,即每页大小为100B虚页地址流为: 0,2,1,6,2,4,4,1,0, 1 (2)(3)实地址流 22,114,246,318,170,90,92,268,396,228 (4) 命中率 =4/10=40% (5)p 为缺页率, ma为主存访问周期。
缺页中断时间为10ms. 访问时间 =( 1-P) * ma+p* 缺页中断时间 =(1-60%)*0.1+60%*10 =0.04+6=6.04ms 0001 00 10 0101 1100 10. 有一个请求页式系统,整数占4 个字节,页大小为256 字节,使用LRU页面替换算法,每个进程分配3 个物理块一个进程执行下列代码:int a=new int 200200; int i=0; int j=0; while (i+200) j=0; while (j+200) aij=0; 这段代码占用第0 页,由于每条指令都访问第0 页,所以第0 页总是被换人变量i 和 j都存储在快速寄存器里1)假设数组的所有元素都存储在连续的内存区域中,那么数组需要多少页?(2)这个程序将产生多少个缺页?( 3) 上题中,如果编写如下程序将会产生多少个缺页?int a=new int 200200; int i=0; int j=0; while (i+200) j=0; while (j+200) aji=0; 11. 考虑一个由8 页,且每页1KB组成的地址空间,如果内存被划分成32 块,试问:(1)逻辑地址的有效位是多少?(2)物理地址需多少位?(1)23*210=213,共需 13 位。
2)32=25,25*210=215,共需 15 位12. 某系统使用两级页表,页的大小是212字节,虚地址是32 位,地址的前8 位用做一级页表的索引1)有多少位用来指定二级索引?(2) 一级页表中有多少项?(3)二级页表中有多少项?(4)虚地址空间中有多少项?解: (1)32- (8+12)=12 位(2)28,8 位可以指定256 项3)212,12 位可以指定4096 项4)220,28个一级页表项的每个页表项都访问有212项的二级页表28*212=220,即 1M项13. 某计算机由32 位虚地址空间,且页的大小是1024 字节每个页表项长4 字节因为每个页表都必须包含在一页中,所以使用多级页表问一共需要多少级?答:一张页表能包含1024/4=256=28个页表项页的大小为210,所以用32-10=22 位指定页号每一级页表能处理22 位中的 8 位,所以总共需要3 级有两级页表有28个页表项,另一级只有 26个14. 在某段页式系统中,虚地址空间包含了8 个段, 段长为 229字节 硬件将每个段分成大小为 256 字节的页问虚地址中有多少位用于指定:(1)段号(2)页号(3)页内偏移量(4)整个虚地址解: (1)3 位 23=8 (2)21 位 229/28=221(3)8 位 28=256 (4)32 位 3+21+8=32 。












