9. Virtual Memory {CSAPP}
타 프로세스가 자기 메모리 공간에 실수로 접근하기라도 한다면 내 프로그램이 완벽할지라도 제대로 돌아가지 않을 수 있다. 따라서 가상메모리 개념을 도입하는 것으로 다음 목표를 달성할 수 있다.
- 프로세스간에 독립적인 메모리 자원을 약속한다.
- 메인 메모리를 디스크의 캐시로 활용할 수 있다. 즉, 디스크공간또한 메모리처럼 활용할 수도 있다는 얘기.
- 메모리 관리를 좀 더 단순하게 처리할 수 있다.
DUMP#
- 9.1. Physical and Virtual Addressing
- 물리적인 주소를 매핑하는 시스템 (초기 컴퓨터, IoT)도 분명 있다.
- 가상 주소는 MMU (Memory Management Unit) 하드웨어의 도움을 받아 CPU가 요청한 가상 주소를 물리 주소로 매핑한다.
- 9.2. Address Spaces
- 9.3. VM as a Tool for Caching
- 9.4. VM as a Tool for Memory Management
- 9.5. VM as a Tool for Memory Protection
- 9.6. Address Translation
- 9.7. Case Study: The Intel Core i7, Linux Memory System
- 9.8. Memory Mapping
- ⭐️ 9.9. Dynamic Memory Allocation
- 9.10. Garbage Collection
- ⭐️ 9.11. Common Memory-Related Bugs in C Programs
- 9.12. Summary