为什么需要内存管理?
我觉得最根本的问题在于多进程。如果不进行内存管理,两个程序几乎是没可能同时在内存运行的。
在只有内存的物理模型且没有特殊硬件管理的情况下,一个程序的内容会被另一个程序修改,直接崩溃。
如何管理内存,才能达到多线程?
1 无内存抽象:
需要特殊硬件 内存键 早期IBM,存在PSW。
缺点是重定位---》解决方法是静态重定位
2 有内存抽象,地址空间
整个进程所需内存全部装入----- 基址寄存器和界限寄存器(交换技术可以很好利用这两个寄存器)
虚拟内存 pmu