2020-03-23-课堂小测-页目录自映射专题
北京航空航天大学计算机学院-2020春操作系统课程
以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平有限,如有错误敬请批评指正。
1 页式内存管理中,页面大小是4KB,则页内偏移不可能是:(单选)
A. 0x0
B. 0x123
C. 0xfff
D. 0x1000
答:D
页面大小是4KB,而我们知道页内地址是从0开始连续的,因此大于4K的值的页内偏移地址是不可能出现的。
2 以下哪个地址不是4MB对齐的:(单选)
A. 0x7fc0_0000
B. 0x8000_0000
C. 0xc030_0000
D. 0xffc0_0000
答:C、D
4MB对齐的地址显然应该是4M这个数的整数倍。4M=2^22=0x40_0000,C选项0xc030_0000不是它的整数倍。
3 以下哪个地址不可能是自映射页目录的地址:(单选)
A. 0x8020_0000
B. 0x0000_0000
C. 0xc040_0000
D. 0x7fdf_f000
答:
我们知道自映射页目录的地址
满足:
其中
表示整个页表在虚拟内存中的基地址,而这个值是应该4MB对齐的。通过带入题目选项所给的
地址分别计算
,在十进制下有
。计算得到的
,A选项为0x8000_0000,B选项为0x0000_0000,D选项为0x7fc0_0000,均是4MB对齐的,而C选项无法整除,说明C项不可能是一个自映射页目录的地址。
4 寻址256TB地址空间,至少需要________位地址:(填空)
答:48
256T = 2^8T = 2^8 * 2^40 = 2^48,因此至少需要48位地址
5 页目录自映射计算过程中,给定的页表起始地址和计算得到的页目录地址是:(单选)
A. 都是物理地址
B. 都是虚拟地址
C. 前者是物理地址,后者是虚拟地址
D. 前者是虚拟地址,后者是物理地址
答:B
页表起始地址由于是操作系统软件访问的地址,显然是虚拟地址,而页目录采用自映射机制,计算所得结果也是虚拟地址系统中的一部分,也是虚拟地址。
6 一个32位页式内存管理系统,页面大小是4KB,采用二级页表管理,页表被映射到起始地址0x1fc0_0000的4MB地址空间,那么页目录所在的地址为0x____________________:(填空)
答:1FC7F000
,带入即可计算得
7 以下关于页目录自映射说法正确的是:(单选)
A. 采用页目录自映射方式,有助于实现用户进程的统一内存布局
B. 实现内存自映射必须为所有页表页分配物理存储空间
C. 页目录自映射只适用于二级页表分页系统
D. 页目录自映射可以提高访存效率
答:A
采用页目录自映射的方式,用户进程页表也在用户空间拥有一个自映射页目录,有助于实现用户进程的统一内存布局,A正确。实现页目录自映射,或者说实现多级页表请求分页系统,就是为了避免给所有页表页分配物理空间,否则页表本身将占用过多的物理存储空间,B错误。页目录自映射机制可以适用于多级页表系统,C错误。页目录自映射和访存效率无关,事实上相比于一级页表或没有分页的系统,多级页表系统会增加内存访问次数,D错误。
8 一个32位页式内存管理系统,页面大小是4KB,采用二级页表管理,页表被映射到起始地址0xD000_0000的4MB地址空间,则自映射页目录中,指向自身的页目录项的虚拟地址为0x____________________:(填空)
答:D0340000
,带入即可计算得到
9 一个32位页式内存管理系统,页面大小是4KB,采用二级页表管理,页表被映射到起始地址0xC000_0000的4MB地址空间,如果需要将虚拟地址0x8001_0000映射到物理地址0x0000_0000上,则需要修改虚拟地址0x____________________上的页表项:(填空)
答:C0200040
此题的问法相当于问虚拟地址0x8001_0000所在页的页表项在哪里。每4KB一页,则0x8001_0000所在的页是0x8001_0000 / 4K = 0x80010,第0x80010个页,每个页占用4B的页表项,则该页所在页表项在页表中的偏移是0x80010 * 4B = 0x200040,页表起始地址为0xc000_0000,则该页表项的地址为 0xc000_0000 + 0x200040 = 0xc020_0040。
10 以下关于x86架构的CPU,说法正确的是:(单选)
A. 系统引导时,应该首先开启分页寻址功能,再将CPU从实模式切换为保护模式
B. 进入保护模式后可以启用分页寻址功能,也可以禁用分页寻址功能
C. 进入保护模式后可以启用分段寻址功能,也可以禁用分段寻址功能
D. 开启分页寻址功能后,之前存储的数据都会丢失
答:B
x86架构下,系统引导的时候CPU采用实模式,从实模式且换保护模式后,分段功能是不可禁止,自动开启的,而分页功能是可以开启也可以禁止的,因此分页功能的开启是在切换至保护模式之后进行的,A、C错误,B正确。开启分页之后之前存储的数据是不会丢失的,D错误。