考研论坛

 
查看: 1255|回复: 2
打印 上一主题 下一主题

关于操作系统(第三版)“页表项”的疑惑 达人请进!

[复制链接]

32

主题

147

帖子

1346

积分

中级战友

Rank: 3Rank: 3

精华
0
威望
40
K币
1306 元
注册时间
2010-3-2
跳转到指定楼层
楼主
发表于 2012-8-3 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
课本P133上写到“对一个32位逻辑地址空间的分页系统,规定页面大小为4KB,即2的12次方B,则在每个进程页表中的页表项可达1M之多。又因为每个页表项占用1B......."
这句话红字以前的都没问题。但是为什么每个页表项占1B?
我认为,页表项的内容是由虚拟页号以及物理块号组成的,用来完成页号向块号的转换。
而对一个32位逻辑地址空间的分页系统,规定页面大小为4KB,也就是页内便宜是12位,所以页号占了20位。
所以页表项至少要比20位要多吧。而书上说每个页表项占1B,也就是8位,这显然是不可能的。

所以 书上说错了吗?




    回复

    使用道具 举报

    3

    主题

    41

    帖子

    293

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    0
    K币
    293 元
    注册时间
    2012-6-21
    沙发
    发表于 2012-8-7 11:07 | 只看该作者
    书上说错了,页表项不可能只有1B那么小,页表项至少也要存块号,如果只有1B就意味着最多只有256块
    回复

    使用道具 举报

    3

    主题

    20

    帖子

    139

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    0
    K币
    139 元
    注册时间
    2012-6-30
    板凳
    发表于 2012-8-7 20:10 | 只看该作者
    书上没错,可能是画的图引起人误解了。
    WINDOWS系统中,页表是4KB大小,放入一个物理页面中,页表项是32位,有1024个页表项,前20位表示对应的物理页面,后12放各种标志位。

    即页表项里不放页表号,你觉得在数组里放数组号是不是浪费了啊,页表自己知道自己每一项的地址,所以只要存放页表基址就够了。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    本版积分规则   

    关闭

    您还剩5次免费下载资料的机会哦~

    扫描二维码下载资料

    使用手机端考研帮,进入扫一扫
    在“我”中打开扫一扫,
    扫描二维码下载资料

    关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

    GMT+8, 2026-1-15 12:01 , Processed in 0.062457 second(s), Total 9, Slave 8(Usage:6.5M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回复 返回顶部 返回列表
    × 关闭