qq_32191893
今天阳光正好
2016-02-27 16:25
采纳率: 50%
浏览 1.8k

c++为进程创建页表,分配页框遇到问题,想请教一下

为进程创建页表,分配页框,页表包含页号和页框号,页号是用户自己定的,从零开始编号,那页框号又是怎么确定的,难道也是从零开始编号吗,那岂不是页号和页框号是一样的了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy

    一般来说,页框包含多个页,页框的作用是连续分配空间,提高效率,如果一个页框对应一个页面,那么页框也就没意义了。至于编号,这个无关紧要。只要给一个唯一的编号就可以。

    点赞 评论
  • qq423399099
    小灸舞 2016-02-29 02:11

    每一个进程都拥有一个自己的页表,页表放在系统空间的页表区,存放逻辑页与物理页帧的对应关系。
    用页号去检索页表,从页表中得到该页的物理块号
    图片说明
    图片说明

    点赞 评论
  • qq423399099
    小灸舞 2016-03-01 08:59

    页号是页的编号
    页框号可以理解为物理块号
    因为一个页面大小是4K=2^12
    所以这个物理块号需要12位来表示。
    关于逻辑地址到物理地址的计算,
    逻辑地址由页号和页内地址组成
    例如:
    对于地址2362H,后12位(即362)作为物理地址的后半部分
    2是页号,找到相应的页2,它的物理块号作为物理地址的前半部分
    即物理地址:254362H
    图片说明

    点赞 评论

相关推荐