作者ysbh (乌龟回娘家)
看板Grad-ProbAsk
标题[问题] 作业系统分页法问题
时间Wed May 20 12:52:30 2009
设有一台电脑,逻辑位址(logical address)为32 bit,所使用的虚拟记忆体(virtual
Memory)分页法(paging)为二阶分页(two-level paging),如果每页的大小为4K,求如果
有一个程式5M,假设所需要的分页表(page tables)有n个,求n mod 4为?
请高手解答~感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.71.68.193
1F:→ icrts:我算n=6,老群你确定一下 XD 05/20 13:20
2F:→ ysbh:这题答案是 n mod 4 =2 所以你算的应该是对的 05/20 15:04
3F:→ ysbh:请问一下,该如何算呢? 05/20 15:04
4F:→ icrts:ok首先"每页大小为4K"指的应该是每个分页表的大小 05/20 18:46
5F:→ icrts:不然算不出来 05/20 18:46
6F:→ icrts:接着将32bit分为 level1+level2+offset 05/20 18:47
7F:→ icrts:level1和level2的bit数由4K=2^12可得各为12bit 05/20 18:47
8F:→ icrts:所以offset为 32-12-12=8bit 05/20 18:48
9F:→ icrts:也就是每个page的容量为2^8 05/20 18:48
10F:→ icrts:那5M的话,5M=5*2^20,除以2^8,可得需要5*2^12个page 05/20 18:49
11F:→ icrts:才能装完整个程式 05/20 18:50
12F:→ icrts:所以需要5个level2 的分页表,外加1个level1的分页表 05/20 18:51
13F:→ icrts:故n=6 05/20 18:51
14F:→ icrts:即可求得n mod 4为多少 05/20 18:51
15F:推 whisp1222:蔡高手 你把我当招换兽吗= = 05/20 19:13
16F:→ icrts:方便的咧~ 应该是这样:就决定是你了!老群! (丢宝贝球) 05/20 21:26
17F:→ ysbh:请问~ 5*2^12个page,为何需要5个Level2的分页表 05/20 22:35
18F:→ ysbh:外加1个Level1的分页表呢? 05/20 22:36
19F:→ icrts:......你应该去读二阶分页的定义 05/21 10:59
20F:→ icrts:读不懂再问一下 05/21 14:33
21F:→ icrts:XD 05/21 14:33
22F:→ ysbh:我查网路试试~我的两本书这个部份都没写XD 05/21 18:11
23F:→ icrts:好的 05/26 00:11