作者:平凡黯淡_551 | 来源:互联网 | 2024-12-06 15:22
内存管理的核心概念与机制
1. 内存空间的分配与回收
(1) 操作系统如何跟踪已分配和空闲的内存区域?操作系统使用位图、链表或其他数据结构来标记哪些内存块已被使用,哪些仍为空闲状态。
(2) 进程终止后,其占用的内存如何被有效回收?操作系统通过垃圾收集机制或显式释放命令,确保不再使用的内存资源能够及时返回到可用池中。
(3) 在多个可选位置中,应选择哪个进行内存分配?这通常取决于当前的内存布局和特定的分配策略,如首次适应、最佳适应等。
2. 内存空间的扩展(实现虚拟性)
通过虚拟化技术,即使物理内存有限,也能支持大型应用程序的运行。例如,一个只有4GB或8GB物理内存的系统,可以通过虚拟内存技术运行需要数十GB内存的应用程序。
3. 地址转换
(1) 操作系统负责将程序中的逻辑地址转换为实际的物理地址,以确保程序正确执行。
(2) 地址转换的方式包括:
a. 绝对装入:在早期单道程序环境中,编译器直接生成绝对地址,无需额外转换。
b. 可重定位装入:在多道批处理系统中,装入程序负责将逻辑地址转换为物理地址。
c. 动态运行时装入:现代操作系统中,地址转换在程序运行时动态完成,使用重定位寄存器来调整基地址。
4. 存储保护
(1) 存储保护确保每个进程只能在其分配的内存空间内操作,防止非法访问。
(2) 实现存储保护的方法包括:
a. 设置上下限寄存器:CPU中设置一对寄存器,用于存放进程的地址范围,每次内存访问前检查是否越界。
b. 利用重定位寄存器和界地址寄存器:重定位寄存器存储进程的起始物理地址,界地址寄存器存储最大逻辑地址,结合使用这些寄存器可以有效地限制进程的内存访问范围。