Chapter 10 Virtual Memory
Chapter 10 Virtual Memory
Background
如果能執行部分載入的程式,會帶來什麼好處?
虛擬記憶體:邏輯與物理記憶體的分離
虛擬記憶體的實現方式
虛擬記憶體大於物理記憶體
虛擬地址空間 (Virtual Address Space, VAS) 的稀疏性
共享library
Demand Paging
- Transferring Pages between Memory and Disk
- Not-in-Memory Pages
處理頁面錯誤的步驟
頁面錯誤處理的詳細步驟
需求分頁的效能
- Example
需求分頁的各個面向
Copy-on-Write
vFork
Copy-on-Write
Page Replacement
基本的頁面置換流程
- 用dirty bit 紀錄被改動過的page 這種才需要寫回磁碟
FIFO 頁面置換示例
- anomaly
堆疊演算法
最佳頁面置換算法 (Optimal Page Replacement)
LRU (Least Recently Used) 最近最少使用
基於計時器的 LRU 實現
基於堆疊的 LRU 實現
LRU 實現的效能問題與解決方案
LRU 近似算法:參考位算法
LRU 近似算法:額外的參考位算法
LRU 近似算法:第二次機會算法(時鐘算法)
增強型第二次機會算法
計數型算法
頁面緩衝算法
Allocation of Frames
頁框分配
頁框分配:超越最小需求的分配策略
全域置換 vs. 局部置換
Thrashing
抖動 (Thrashing)
局部性
工作集模型
工作集模型圖解與實作
頁面錯誤頻率方案
Memory-Mapped Files
Allocation Kernel Memory
Other Considerations
Operating System Examples
Chapter 10 Virtual Memory
https://z-hwa.github.io/webHome/[object Object]/Operation Systems/Chapter-10-Virtual-Memory/