一、基本概念
内存管理需要实现:重定位,保护,共享,逻辑组织,物理组织。
- 页框(帧frame):一个固定长度的内存块。(针对硬件)
- 页(page):一个固定长度的数据块(程序代码或数据),平时存储在二级存储区(如磁盘)。运行程序是,复制到一个内存页框中(页式)。页与页框的长度相等,常用尺寸:4KB。
- 段(segment):一个变长的数据块,平时存储在二级存储器。运行程序时,整段加载到一个内存区(段式),或将一段分为多页,分别加载到多帧(段页式)。
- 重定位:进程执行的过程中,将程序地址(逻辑地址)转换为实际的内存地址。
- 保护:避免内存中各进程间有意无意的互相干扰;防止地址越界或操作越权。
- 共享:允许多个进程访问同一内存区域。纯代码共享可节省内存空间,数据共享可实现进程通信。
- 逻辑组织:支持模块化程序设计,有效管理线性内存空间和程序模块。
- 内存:由一系列字节组成的线性地址空间。
- 物理组织:OS在内存和外存之间交换数据。
二、内存管理技术
内存管理技术:分区(固定/动态分区),分页(简单分页/虚拟内存分页),分段(简单分段/虚拟内存分段)。
- 分区式属于连续分配方式,即为一个用户程序分配一个连续的内存空间。将内存划分为若干分区,每个分区只存放一个进程,各进程只能在它所驻留的分区中运行。
- 分页、分段是内存中离散分配进程的各页/段。
1、分区
1.1 固定分区
- 在系统初启时,内存已划分为若干个大小相等或大小不等的分区,并将它们排成一个分区说明表。分区建立后大小、边界、数量不再改变。
- 为进程分配一个满足长度要求的最小空