操作系统:寻呼问题

时间:2011-05-03 19:44:26

标签: operating-system paging

我有一个问题,我想回答这个问题会产生以下情况:

16K页 32位虚拟地址 512MB硬盘,扇区可寻址,16K扇区 目前正在运行的8个流程

我被问到:

i)需要多少个流程页面表?

我认为这是一个技巧问题?当然答案只有1。

ii)如果进程地址寄存器PAR最多为32位,则该机器可支持的最大物理内存量是多少?

iii)如果安装了64MB物理内存,进程表中的每个条目应该有多宽?

请允许任何人给我帮助/暗示最后两部分因为我真的被他们困住了吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果你今天晚些时候在考试之前看这里,那是因为它不代表进程地址寄存器,它意味着页面地址寄存器!

请尝试查看http://cseweb.ucsd.edu/classes/fa03/cse120/Lec08.pdf以获取更多信息,包括有关细分和分页合并的帮助

此外,IC库中名为“操作系统”概念的代码为005.43SIL的书说每个进程都有自己的进程页表,甚至可以自行分段!

i)我说8

ii)嗯,在页表中具有14位偏移量的32位虚拟存储器寻址(2 ^ 14 = 16K页长)意味着剩余18位用于页码。在32位PAR中,这意味着页面位置为14位。如果您按页面大小多次页面位置,则得到2 ^ 14 * 2 ^ 14 = 2 ^ 18这是256MB的RAM

iii)我有30位。 64MB是2 ^ 26除以页面大小是2 ^ 26/2 ^ 14 = 2 ^ 12,这意味着页面位置为12位。从(ii)我计算出18位留在页码的虚拟存储器地址中,这意味着它应该是30位宽。我还发表评论,因为它应该是字节混叠的,也许可以使用额外的2位,以便我们知道它是否已被写入,以及它当前是否存储在磁盘上。

希望这有帮助!