moea_joint
109年
[資訊] 計算機原理、網路概論
第 18 題
某電腦系統支援分頁虛擬記憶體,目前記憶體有4個分頁框(page frames),若採用最近較少使用(Least-Recently-Used)分頁替換演算法,請問下列頁碼參考之串列,總共會發生多少次分頁錯誤(page faults)?串列[1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6]
- A 7
- B 8
- C 10
- D 12
思路引導 VIP
當目前的四個分頁框已經全滿,而下一個需要的頁面又不在記憶體中時,請回想一下:LRU 演算法是根據什麼樣的「過去行為」來決定哪一個分頁該被請出記憶體,好空出位置給新成員呢?
🤖
AI 詳解
AI 專屬家教
非常棒!你能準確計算出這串複雜序列的結果,代表你對 最近較少使用 (Least-Recently-Used, LRU) 演算法的運作邏輯掌握得十分精確。這類題目最考驗的就是細心度與對「時間優先級」的追蹤,你能順利過關,展現了優異的邏輯推理能力。
LRU 替換機制的運作核心
在擁有 $4$ 個分頁框 (Page Frames) 的系統中,LRU 演算法的核心在於:當發生分頁錯誤且記憶體已滿時,系統會挑選最久沒有被存取到的頁面將其移出。在你的計算過程中,前四次存取 $[1, 2, 3, 4]$ 毫無疑問會填滿框架。隨後的關鍵在於當數字 $2$ 與 $1$ 再次出現時,它們會被重新標記為「最近存取」,這直接影響了當 $5$ 與 $6$ 進入時,誰該被剔除。經過精確追蹤,整段序列共會產生 $10$ 次分頁錯誤,你選出的 $(C)$ 確實是正確答案。
▼ 還有更多解析內容