提高内内存利用率
- 单一连续分配(单道机)
- 固定分区分配
- 动态分区分配
- 离散分区分配(分页存储管理方式)
便于用户(程序员)编程和使用
- 分段存储管理方式(已成为当今所有存储管理方式的基础)
分段存储管理方式的引入
为了满足以下需要
- 方便编程
- 信息共享
- 信息保护
- (数据段)动态增长
- 动态链接(以段作为基本单位链接)
基本原理
-
分段地址结构
- 该地址结构中,允许一个作业最长有 2^16 = 64KB个段,每个段最长为64KB
-
段表
- 在++动态分区分配++中,为整个++进程++分配一个连续的内存空间;
- 在++分段存储方式++中,为每个++分段++分配一个连续的内存空间;
- 基址:该段在内存中的起始地址;
- 每个段在段表中占有一个表项,记录了基址和段的长度
-
地址变换机构
-
分页和分段的主要区别
- 页是信息的物理单位,段是信息的逻辑单位(包含相对完整的信息);
- 分页是为了提高内存利用率,分段式为了满足用户的需要;
- 页的大小是固定的,段的长度是不固定的;
- 分页的用户程序是一维的,分段的用户程序是二维的。
信息共享
-
分页系统中
-
分段系统中
-
可重入代码
- 允许多个进程同时访问的代码
- 不可改表
- 需要改变部分代码时,将该部分代码复制到数据区(属于该进程私有),不去改变共享的代码。此时,共享的代码就是可重入代码。