在页式存储管理方案中,若一个进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节表示物理页号时,页表需要占用多少个页面?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/29 04:29:59
在页式存储管理方案中,若一个进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节表示物理页号时,页表需要占用多少个页面?
xS[n@|Wn>hPvj6hĉHS@ٌ-C"Y=sι^')9-p;d2C3 ^^!n˜*sCЛCuxI+HG0Gz6;0m6Y-,a܁y%%Q'5T3h{FLt,!x M䐼KhY"٢r:|v -25)ILoJr_% %z9$ft!

在页式存储管理方案中,若一个进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节表示物理页号时,页表需要占用多少个页面?
在页式存储管理方案中,若一个进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节表示物理页号时,页表需要占用多少个页面?

在页式存储管理方案中,若一个进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节表示物理页号时,页表需要占用多少个页面?
进程空间是 2G
页面是是4KB
则要2G/4KB = 512K 个页
也就是说内存要分成512K个页
页表就是存储这些个页号即0 512K - 1,512K = 2的31次方
4字节表示一个页号,一共有512K个页,那么就要512K * 4 = 2MB (这里还要考虑的是4字节是否可以表示一个页号,4字节可表示范围是0 4G - 1,题目是可以的)
也就是页表占2M,占多少个页呢?2M / 4K = 512 个页.
这是一级页表的求法,其实很简单的,
你要注意两点:
第一点,页表是用来表示划分后的页号,它也占内存空间;
第二点:用多少字节来表示一个页号的问题,其实上面的512K只要31个位就能表示0 512K - 1的.