簡體   English   中英

處理器如何知道頁面未映射到主內存中而是在后備存儲中?

[英]How does a processor know that a page is not mapped in main memory but is in backing store?

在X86體系結構中,處理器如何知道頁面未映射到主內存中而是位於后備存儲中,是它們在頁表項中的標志,該標志指示是否僅在處理器轉換為物理地址后才能實現框架的位置? 根據我的理解,如果在頁面結構條目中設置了“ P”標志,則表明該邏輯地址不存在有效的映射,並且在出現映射但頁面位於后備存儲的情況下出現了頁面錯誤。還發生頁面錯誤,頁面被交換到內存中,並且頁面表項被修改。

我認為您指的是HARD頁面錯誤VS SOFT頁面錯誤。 如果出現以下情況,將引發硬頁面錯誤:

  • 未設置P(resent)標志/頁表中不存在任何條目
  • 用戶模式代碼正在寫入只讀存儲器
  • 用戶模式代碼正在訪問內核內存
  • 頁面條目保留位已損壞。

如果存在頁面,但其他頁面仍在內存中(可能在其他工作集上或離開工作集),則會觸發軟頁面錯誤

http://blogs.technet.com/b/askperf/archive/2008/06/10/the-basics-of-page-faults.aspx http://en.wikipedia.org/wiki/Page_fault (次要vs主要)

希望這個幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM