为什么需要虚拟存储?
计算机系统常出现内存空间不够用
如何解决内存空间不够用?
- 覆盖(Overlay)
应用程序 手动 把需要的指令和数据保存在内存中 (将代码分成若干模块 彼此无调用关系的 将其附庸到一块区域 需要用户自己来确定何时将其模块加入程序 开发难度高)
- 交换(对换 Swapping)
操作系统 自动 把暂时不能执行的程序保存到外存中 (因为对换的是一个进程的整个地址空间 所以开销会比较大)
- 虚拟存储
在有限容量的内存中 以页为单位自动装入更多更大的程序
1 | $(UCOREIMG): $(kernel) $(bootblock) |