Background === 其實在執行一個程式時,不需要把整個程式 load 進 memory,只需要 load 部分正要跑的 code 就好 想想如果能夠達成 partially-loaded program,那麼 Program 就不在受限於 physical-memory size 了 ## Virtual Memory 使用者看到的記憶體位置(logical memory)不再是實際記憶體位置(physical memory) ### 優點&特性 - 只有部分的程式碼需要 load 進 memory - Logical address space 能夠大於 physical address space - Processes 能將他們的 Logical address 對應到同一個 Physical address 以達成 shared memory - Process creation 能更快 - 能一次跑更多的 Processes - Processes 要切換時,更少東西需要被 swap ### 實作 - [Demand Paging](https://hackmd.io/eXQatwpsTAOEHJUfYQsp6A) - Demand segmentation # ###### tags: `OS`