今天看操作系统课本里面有一段话:
>例如,对于一个具有 32 位逻辑地址空间的分页系统,规定页面大小为 4KB 即 2^12B ,则在每个进程页表中的页表项可达 1 兆个之多。又因为每个页表项占用一个字节,故每个进程仅仅页表就要占用 1MB 的内存空间,而且还要求是连续的。
“又因为每个页表项占用一个字节”是怎么来的?百思不得其解,搜索也没有得到答案。
我的想法是,一个 32 位长的逻辑地址,分页大小为 4KB ,那么就有 12 位用来储存页内地址(偏移量),剩下 20 位都是页号,所以有 2^20 即 1 兆个页表项。页表的一项包括 页号 和 块号,至少都是 20bit ,怎么会只占用 1B 呢?书上也没有任何解释。
>例如,对于一个具有 32 位逻辑地址空间的分页系统,规定页面大小为 4KB 即 2^12B ,则在每个进程页表中的页表项可达 1 兆个之多。又因为每个页表项占用一个字节,故每个进程仅仅页表就要占用 1MB 的内存空间,而且还要求是连续的。
“又因为每个页表项占用一个字节”是怎么来的?百思不得其解,搜索也没有得到答案。
我的想法是,一个 32 位长的逻辑地址,分页大小为 4KB ,那么就有 12 位用来储存页内地址(偏移量),剩下 20 位都是页号,所以有 2^20 即 1 兆个页表项。页表的一项包括 页号 和 块号,至少都是 20bit ,怎么会只占用 1B 呢?书上也没有任何解释。