内存管理
功能
- 编译
- 链接
- 静态链接
- 装入时动态链接
- 运行时动态链接
- 装入
- 绝对装入
- 可重定位装入
- 动态运行时装入
内存保护
内存分配前,需要保护操作系统不受用户进程的影响,同时保护用户进程不受其他用户进程的影响
- 在CPU设置一对上下限寄存器,存放用户作业主存的上下限
- 采用重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器)来实现。冲顶文寄存器含最小的物理地址值,界地址寄存器含逻辑地址的最大值
扩充内存的方法
- 覆盖
- 目的:在较小的可用内存中运行较大的程序
用于同一进程或程序中的
- 目的:在较小的可用内存中运行较大的程序
- 交换
- 目的:增加并发运行的程序数目,并给用户提供适当的响应时间
作用在不同进程之间的
- 目的:增加并发运行的程序数目,并给用户提供适当的响应时间
内存的分配方式
连续分配管理方式
- 单一连续分配
有内部碎片 - 固定分区分配
有内部碎片 - 动态分区分配
通过紧凑来解决外部碎片,没有内部碎片
算法:- 首次适应。找第一个满足要求的分区
- 最佳适应。按容量递增,找第一个满足要求的分区
- 最坏适应。找满足要求的最大分区
- 邻近适应。从上次查找的位置开始找第一个满足要求的分区