周志遠教授作業系統_chap09_Operating System Chap9 Virtual Memory Management.pdf
1. 背景(Background)
1.1 为什么我们不想运行一个完全装入内存的程序
- 重复代码
- 相同的库
- try/catch ..等多余代码很少使用
- 创建数组但没有使用
我们需要更好的内存利用率→引出虚拟内存
1.2 虚拟内存
把用户内存和物理内存分割开
1.2.1.好处:
- 能运行一个非常大的进程
- 增加CPU/资源利用率
- 简化编程(编译层,compiler/linker设计因此简单化)任务
- 更快运行程序
1.2.2. 虚拟内存实现
- Demand Paging
- Demand segmentation
- 少见。大小不固定,导致难以找到swap回来时的位置,效率低。