一、单选题
1.某虚拟存储器系统采用分页内存管理和最长时间未使用页面淘汰算法(LRU),考虑下面的页面访问地
址序列:1 8 1 7 8 2 7 2 1 8 3 8 2 1 3 1 7 1 3 7
假定分配给某进程4个内存页面且开始时全部空闲(暨空白),则发生缺页的次数是( )。
A. 4
B. 5
C. 6
D. 7
解答: 选C。
具体解析:
由题意可知:该进程开始时有4个空白内存页面,
第一次访问1
,内存没有该页面,故缺页,缺页次数为1,因为有4个空白页面,直接使用其中一个;
第二次访问8
,内存中的页面为1
内存没有该页面,故缺页,缺页次数为2,因为有3个空白页面,直接使用其中一个;
第三次访问1
,内存中的页面为1,8
内存有该页面,命中,缺页次数为2;
第四次访问7
,内存中的页面为8,1
内存没有该页面,故缺页,缺页次数为3,因为有2个空白页面,直接使用其中一个;
第五次访问8
,内存中的页面为8,1,7
内存有该页面,命中,缺页次数为3;
第六次访问2
,内存中的页面为1,7,8
内存没有该页面,故缺页,缺页次数为4,因为有1个空白页面,直接使用;
第七次访问7
,内存中的页面为1,7,8,2
内存有该页面,命中,缺页次数为4;
第八次访问2
,内存中的页面为1,8,2,7
内存有该页面,命中,缺页次数为4;
第九次访问1
,内存中的页面为1,8,7,2
内存有该页面,命中,缺页次数为4;
第十次访问8
,内存中的页面为8,7,2,1
内存有该页面,命中,缺页次数为4;
第十一次访问3
,内存中的页面为7,2,1,8
内存没有该页面,故缺页,缺页次数为5,因为没有空白页面了,直接淘汰掉最长未使用的页面7;
第十二次访问8
,内存中的页面为2,1,8,3
内存有该页面,命中,缺页次数为5;
第十三次访问2
,内存中的页面为2,1,3,8
内存有该页面,命中,缺页次数为5;
第十四次访问1
,内存中的页面为1,3,8,2
内存有该页面,命中,缺页次数为5;
第十五次访问3
,内存中的页面为3,8,2,1
内存有该页面,命中,缺页次数为5;
第十六次访问1
,内存中的页面为8,2,1,3
内存有该页面,命中,缺页次数为5;
第十七次访问7
,内存中的页面为8,2,1,3
内存有该页面,命中,缺页次数为6,因为没有空白页面了,直接淘汰掉最长未使用的页面8;
第十八次访问1
,内存中的页面为2,1,3,7
内存有该页面,命中,缺页次数为6;
第十九次访问3
,内存中的页面为2,3,7,1
内存有该页面,命中,缺页次数为6;
第二十次访问7
,内存中的页面为2,7,1,3
内存有该页面,命中,缺页次数为6;
综上所述,缺页次数为6。
2.某请求分页系统采用先进先出页面淘汰算法,假定一个进程的页面引用序列为1、 2、3、2、1、4、
3、5、 4、3.、 2、1、 5 ,当分配给该进程的物理块数为3且未采用预调页策略时,该进程执行过程中
所发生的缺页次数是( )。
A. 5
B. 6
C. 7
D. 8
解答: 选C。
具体解析:
由题意可知:该进程开始时有3个空白内存页面,
第一次访问1
,内存没有该页面,故缺页,缺页次数为1,因为有3个空白页面,直接使用其中一个;
第二次访问2
,内存中的页面为1
内存没有该页面,故缺页,缺页次数为2,因为有2个空白页面,直接使用其中一个;
第三次访问3
,内存中的页面为1,2
内存没有该页面,故缺页,缺页次数为3,因为有1个空白页面,直接使用;
第四次访问2
,内存中的页面为1,2,3
内存有该页面,命中,缺页次数为3;
第五次访问1
,内存中的页面为1,2,3
内存有该页面,命中,缺页次数为3;
第六次访问4
,内存中的页面为1,2,3
内存没有该页面,故缺页,缺页次数为4,根据先进先出页面淘汰算法
,淘汰页面1;
第七次访问3
,内存中的页面为2,3,4
内存有该页面,命中,缺页次数为4;
第八次访问5
,内存中的页面为2,3,4
内存没有该页面,故缺页,缺页次数为5,根据先进先出页面淘汰算法
,淘汰页面2;
第九次访问4
,内存中的页面为3,4,5
内存有该页面,命中,缺页次数为5;
第十次访问3
,内存中的页面为3,4,5
内存有该页面,命中,缺页次数为5;
第十一次访问2
,内存中的页面为3,4,5
内存没有该页面,故缺页,缺页次数为6,根据先进先出页面淘汰算法
,淘汰页面3;
第十二次访问1
,内存中的页面为4,5,2
内存没有该页面,故缺页,缺页次数为7,根据先进先出页面淘汰算法
,淘汰页面4;
第十三次访问5
,内存中的页面为5,2,1
内存有该页面,命中,缺页次数为7;
综上所述,缺页次数为7。
3.在某分页内存管理系统中(页表内容如下所示),页面大小为4KB, 则地址转换机构将逻辑地址0转
换成的物理地址为(块号从0开始计算) ( )。
页号 | 块号 |
---|---|
0 | 2 |
1 | 1 |
2 | 3 |
3 | 7 |
4 | 5 |
A. 1024
B. 8192
C. 2048
D. 4096
解答: 选B。
具体解析:
将逻辑地址0转成物理地址:
且我们知道:块号 * 页面大小 + 偏移地址 = 物理地址
-
块号:逻辑地址0的页号 = 0 / 4KB = 0,故对应的块号为2,
-
页面大小为4KB,4KB = 2^12
-
偏移地址 = 0 % 4KB = 0
所以物理地址 = 2 * 2^12 + 0 = 2^13 = 8192。
4.某计算机系统采用两级页表的分页内存管理方式,按字节编址,页面大小为1K字节,页表项大小为2
字节,逻辑地址结构为”二级页号+ 一级页号+页内偏移地址”。若某进程逻辑地址空间大小为
64M字节,则表示该进程整个逻辑地址空间的页目录表(即二级页表)中所包含表项的个数应当是()
A. 512
B. 256
C. 64
D. 128
解答:选D。
具体解析:
由题可知:逻辑空间大小为64M字节,页面大小为1K字节,如下图所示
我们又知道每一页对应一个页表项,一个页表项大小为2字节,一页大小为1KB
故可求一页可放多少个页表项:210B / 2B = 29B,
即一页可以放29B个页表项,如下图所示。
逻辑地址空间为64MB(226B),页面大小为1K(210B),故有 226-10 = 216
就是说我们需要216B个与之对应的页表项,216 / 29 = 27 = 128,因此需要128个页面存放页表项。
5.某分段内存管理系统中,逻辑地址长度为32位,其中段号占8位,则最大段长是( )
A. 256字节
B. 4G字节
C. 16M字节
D. 64K字节
解答: 选C。
具体解析:逻辑地址长度 = 段号 + 段长。
逻辑地址长为32位,段号占8位,那么段长就占32-8=24位,即224B = 16M字节。
二、填空题
1.在一分页系统中,页面都已装入内存。
(1) 若对内存的一次存取需要1.2us , 试问实现一次页面数据访问的存取需花费多少时间?___ us
(2)假设系统配置了翻译快表,假设翻译快表的命中率80%,假定查找和访问翻译快表的时间忽略不计,试问实现一次页面数据访问的平均存取时间是多少?___us
解答:
(1)2.4 us
(2)1.44 us
具体解析:
(1)实现一次页面数据访问的存取需要访问两次内存,故需要花费1.2us * 2 = 2.4us
(2)通过快表实现一次页面数据访问只需访问一次内存,
故实现一次页面数据访问的平均访问存取时间为:
1.2us * 80% + 2.4us * 20% = 1.44us
2.某计算机系统拥有主存256MB,采用分页内存管理方式(每页1KB),进程A的逻辑地址空间共有256
个页面。假定某时刻系统为该进程的第0、1、2、3、4、5、6、7、8、9、10#页面分配的物理块分别
为第15、16、 20、28、29、30、31、32、36、38、39号(以 上均为十进制数),那么虚拟地址
1A68对应的物理地址[ 16进制数描述]为___
解答:
1A68转成二进制:0001 1010 0110 1000
由题可知页面大小为1KB = 210 ,故1A68二进制的后10位为页面大小,也是偏移地址,
故前6位为1A68的页号000110,转成十进制为6,对应的物理块为31,
31的十六进制为01 1111,故物理地址 = 块号 + 偏移地址 = 0111 1110 0110 1000
转成十六进制为:7E68
3.在一个虚拟分页系统中, 页面大小为16B,进程访问逻辑地址的序列为:
0x10H,0X20H,0X18H,0X55H,0X14H,0X43H,0X28H,0X47H,0X25H,0X67H,0X22H,0X12H.
(1)请给出逻辑页面访问序列。__ (用英文逗号隔开页面号序列)
(2)假如分配给该进程的页框是3个,初始时页框都为空,采用OPT页面置换算法分析页面淘汰顺序 __ (按页面淘汰顺序给出页号,中间用英文的逗号隔开) ,命中率是多少 __ (写m/n格式)
解答:
(1)逻辑页面访问序列为:1,2,1,5,1,4,2,4,2,6,2,1
(2)采用OPT页面置换算法分析页面淘汰顺序:5,4
命中率为:7/12
具体解析:
(1):
进程访问逻辑地址的序列为:0x10H,0X20H…,0X22H,0X12H
我们将其中一个为例,比如0x10H,
将其转成二进制:0001 0000,有题可知,页面大小为16B,即24B,故二进制的后四位为页面大小,前四位为页号,那0x10H的页号就为1。其他同理可得出对应的页号。
故逻辑页面访问序列为:
逻辑地址序列 | 0x10H | 0X20H | 0X18H | 0X55H | 0X14H | 0X43H | 0X28H | 0X47H | 0X25H | 0X67H | 0X22H | 0X12H |
---|---|---|---|---|---|---|---|---|---|---|---|---|
逻辑页面访问序列 | 1 | 2 | 1 | 5 | 1 | 4 | 2 | 4 | 2 | 6 | 2 | 1 |
(2)
由题意可知:该进程开始时有3个页框,
第一次访问1
,内存没有该页面,故缺页,缺页次数为1,因为有3个空白页框,直接使用其中一个;
第二次访问2
,内存中的页面为1
内存没有该页面,故缺页,缺页次数为2,因为有2个空白页框,直接使用其中一个;
第三次访问1
,内存中的页面为1,2
内存有该页面,命中,缺页次数为2;
第四次访问5
,内存中的页面为1,2
内存没有该页面,故缺页,缺页次数为3,因为有1个空白页框,直接使用;
第五次访问1
,内存中的页面为1,2,5
内存有该页面,命中,缺页次数为3;
第六次访问4
,内存中的页面为1,2,5
内存没有该页面,故缺页,缺页次数为4,根据OPT页面置换算法
,在未来没有使用到页面5,故 淘汰页面5 ;
第七次访问2
,内存中的页面为1,2,4
内存有该页面,命中,缺页次数为4;
第八次访问4
,内存中的页面为1,2,4
内存有该页面,命中,缺页次数为4;
第九次访问2
,内存中的页面为1,2,4
内存有该页面,命中,缺页次数为4;
第十次访问6
,内存中的页面为1,2,4
内存没有该页面,故缺页,缺页次数为5,根据OPT页面置换算法
,在未来没有使用到页面4,故 淘汰页面4 ;
综上所述,先后淘汰了页面5和页面4;缺页次数为5,命中次数为12-5=7次,故命中率为7/12。
4.考虑以下段表:
段号 | 段起始地址 | 段长 |
---|---|---|
0 | 200 | 500 |
1 | 890 | 45 |
2 | 120 | 450 |
3 | 1900 | 230 |
对于下面逻辑地址,判定是否越界,若未越界,则求物理地址,若越界,则填越界
(1) <0,480>__ (2)<1,50>__ (3) <2,30>__ (4) < 3,200>__
解答:
(1)680
(2)越界
(3)150
(4)2100
具体解析:
(1)<0,480>中的0
表示段号,480
表示段长,我们看到0
号段的段长为500
,500
>480
,故没有越界,0号段对应的段起始地址为200
,故物理地址 = 段起始地址 + 段长 = 200 + 480 = 680。
(2)<1,50>中的1
表示段号,50
表示段长,我们看到1
号段的段长为45
,45
<50
,越界。
(3)<2,30>中的2
表示段号,30
表示段长,我们看到2
号段的段长为450
,450
>30
,故没有越界,2号段对应的段起始地址为120
,故物理地址 = 段起始地址 + 段长 = 120 + 30 = 150。
(4)< 3,200>中的3
表示段号,200
表示段长,我们看到3
号段的段长为230
,230
>200
,故没有越界,3号段对应的段起始地址为1900
,故物理地址 = 段起始地址 + 段长 = 1900 + 200 = 2100。
本人菜鸡一个,如有错误,请指正!!感谢大家的阅读!!