【问题标题】:Page frame number vs. Page table entry页框号与页表条目
【发布时间】:2016-02-14 15:44:56
【问题描述】:

那么页框号和页表项到底有什么区别呢?

下列哪一项是正确的:

physical_address = PTE * page_size + offset
physical_address = PFN * page_size + offset

【问题讨论】:

标签: operating-system paging memory-address


【解决方案1】:
physical_address = PFN * page_size + offset

是正确的。

页框是连续的page_size-aligned 和page_size 大块内存,它们填满了整个虚拟可寻址内存。

页表条目包含在虚拟地址中。反过来,条目包含页框编号,因此nth 条目选择mth 页框。你可以这样查看:

virtual -> physical
    PTE -> PFN

毕竟你可以说页表条目指向页框

【讨论】:

  • 那么PFN引用的是虚拟地址,PTE引用的是物理地址吗?
  • @carrotzoe 哦,废话,。混淆了“虚拟”和“物理”。
  • @carrotzoe 具体是哪一部分?你特别不明白什么?
  • 哦,等等,你编辑了你的答案。那么是不是 PTE 引用虚拟而 PFN 引用物理?
  • @carrotzoe 在某种程度上。一个虚拟地址引用一个 PTE,它指向一个 PFN,除了偏移量之外,PFN 被翻译成一个物理地址。
【解决方案2】:

从技术上讲,物理内存中没有 PAGES。逻辑内存 PAGE 通过页表项映射到物理内存 PAGE FRAME。

【讨论】:

  • 这不应该是评论吗?只是出于兴趣,这是指哪一行?
  • 问:“那么页框号和页表项之间到底有什么区别?”答:如上所示。
猜你喜欢
  • 2014-07-31
  • 2019-05-13
  • 1970-01-01
  • 2021-09-02
  • 2021-02-17
  • 2019-09-17
  • 1970-01-01
  • 2015-01-08
  • 2020-09-30
相关资源
最近更新 更多