内存管理的需求
主要是以下几点,做以了解:
- 重定位
- 保护
- 共享
- 逻辑组织
- 物理组织
重定位:由于内存是被多进程共享的。那么在在某个程序运行期间,谁也不知道会有其他那些程序驻留在内存中。所以,有时会将那些暂不需要的进程换出内存。恢复时,如果要恢复到切换之前的同一内存地址会非常困难,所以就要将进程进行重定位到内存的不同区域。
保护:每个进程都应该收到保护,这是毋庸置疑的,以免被其他进程干扰到自己的正常执行。因此,任何该进程之外的其他进程中的程序都不能未经授权的访问该进程的内存单元。
内存保护需求必须由处理器(硬件)来满足,而非操作系统来满足。
共享:假如多个进程执行同一个程序时,允许每个进程访问该程序的同一个副本。因此,内存管理在不损害基本保护的前提下,必须允许对内存共享区域进行受控访问。
逻辑组织:内存被组织为线性的的地址空间。外存也是按类似方式组织的。
物理组织:内存与外存,大容量的外存可以长期存储程序和数据,较小的内存用于保存当前的程序和数据。
内存管理方式
- 重定位
- 分段
- 分页
- 虚拟存储:目前多数系统采用按需页式虚拟存储
内存分区
固定分区分配:给进程分配一块不小于指定大小的连续的物理内存区域。
内存碎片:空闲内存不能被使用。
- 外部碎片:分配单元之间的未