页表及相关计算问题

pws019 2014-12-18 02:21:03
在书上讲存储器管理的地方:
二级和多级页表中提到:
如果用32位逻辑地址空间的分页系统,规定页面大小为4KB,则在每个进程页表中的页表项数可达1MB的内存空间,又因为每个页表项占用1个字节,故每个进程仅仅其页面就要占用1MB的内存
反置页表中讲:
对于64MB的机器,如果页面大小为4KB,那么反置页表占用64KB内存。

问题1:
每个页表项占用1个字节是规定的还是计算出来的?

问题2:
对于64MB的机器,如果页面大小为4KB,那么对应物理块大小一致的话应该是可分为
64MB=2^6 * 2^20 = 2^26B.
4KB=2^2 * 2^10 = 2^12B
两者相除。得到
则应该可分为2^14B=16KB个页表项,
页表大小=页表项数*每项的大小,页表项数知道了,可是每项有多大书上并未提到,为什么计算得到的是页表占64KB内存?
...全文
1849 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pws019 2014-12-19
  • 打赏
  • 举报
回复 4
引用 1 楼 arthurzhuyong 的回复:
页目录/页表项定义需要去查cpu的手册, 32位的机器一般是4byte
一针见血的回答了我的问题,给你点赞
arthurzhuyong 2014-12-18
  • 打赏
  • 举报
回复 5
页目录/页表项定义需要去查cpu的手册, 32位的机器一般是4byte

19,618

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧