0 指令是否可以位於多個頁面上,如...指令的一半(包含指令的一些字節)位於頁面A上,其餘位於頁面B上?x86上的一條指令是否可以跨越頁面邊界進行拆分? 來源 2015-10-07 JaeHyuk Lee
1 答案是肯定的,相同指令的部分可以位於內存的兩個相鄰頁面。 來源 2015-10-07 08:33:02 +0 好的,謝謝。順便說一句,當這兩個包含該指令的代碼頁沒有加載到物理內存上時會發生什麼?它應該發生頁面錯誤嗎?這時會發生兩次頁面錯誤?以及頁表如何維護該虛擬內存的映射? – +0 @JaeHyukLee兩個頁面必須同時映射。如果它們中的任何一個或兩者都沒有映射,則會出現頁面錯誤。頁表不會維持其他狀態以外的任何狀態。操作系統必須適當地改變它們以確保有前進的進展。 (它應該可以通過同一個應用程序控制你自己的應用程序中的映射,但這是不常見的)。 – +0 好的,謝謝。但你的意思是「頁表不能維持除狀態以外的任何內容」?你的意思是它是否加載在物理內存上? –
好的,謝謝。順便說一句,當這兩個包含該指令的代碼頁沒有加載到物理內存上時會發生什麼?它應該發生頁面錯誤嗎?這時會發生兩次頁面錯誤?以及頁表如何維護該虛擬內存的映射? –
@JaeHyukLee兩個頁面必須同時映射。如果它們中的任何一個或兩者都沒有映射,則會出現頁面錯誤。頁表不會維持其他狀態以外的任何狀態。操作系統必須適當地改變它們以確保有前進的進展。 (它應該可以通過同一個應用程序控制你自己的應用程序中的映射,但這是不常見的)。 –
好的,謝謝。但你的意思是「頁表不能維持除狀態以外的任何內容」?你的意思是它是否加載在物理內存上? –