分页存储管理方式:将用户程序的地址空间分为若干个固定大小的区域,称为“页”或“页面”。典型的页面大小为1KB。实现了离散分配。
分段存储管理方式:把用户程序的地址空间分为若干个大小不同的段,每段可定义一组相对完整的信息。在存储器分配时,这些段在内存中可以不邻接,所以也实现了离散分配。
段页式存储管理方式:是分页和分段两种存储管理方式结合的产物。同时具有两者的优点,目前使用最广泛。
分页存储管理
(1)页面和物理块
- 页面:分页存储管理将进程的逻辑地址空间分成若干个页,并为页加上编号,从0开始
- 页面大小:页面大小应该适中,且页面大小应该是2的幂,通常是1KB~8KB。
(2)地址结构
分页地址中的地址结构如下
页号 | 位移量 |
---|---|
页号P | 位移量W |
(3)页表
页面映射表,也叫页表。页表的作用是实现页号到物理块号的地址映射。
(4)地址变换机构
实现页号到物理块号地址的变换。
分段存储管理
(1)分段
在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。每个段都有自己的名字。为了实现简单起见,通常可用一个段号来代替段名,每个段都是从0开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定。分段地址中的地址具有如下结构:
段号 | 段内地址 |
---|---|
段号P | 段内地址W |
允许一个作业最长有64K个段,每个段的最大长度为64KB
(2)段表
类似于分页系统,为每一个进程建立一张段映射表,简称“段表”。最常见的方法是将段表放在内存中。段表用于实现从逻辑段到物理内存去的映射。
(3)地址变换机构
实现从逻辑地址到物理地址的变换功能
段页式存储管理
分页和分段的区别
(1)页是信息的物理单位,分页是为了实现离散分配方式,以减少内存的外零头,提高内存利用率,分页是为了系统的需要而不是用户的需要。段是信息的逻辑单位,分段的目的是为了更好地满足用户需要。
(2)页的大小固定且由系统决定;段的长度不固定,取决于用户编写的程序。
(3)分页的作业地址空间是一维的,即单一的线性地址空间;而分段的作业地址空间则是二维的