# 4.5 段页式存储管理 ## 一、段页式存储的基本概念 ### 1.1 什么是段页式 **段页式**:结合分段和分页的优点,先将程序按逻辑分段,再将每段分页。 ### 1.2 地址结构 **逻辑地址**: ``` +----------------+----------------+----------------+ | 段号 S | 页号 P | 页内偏移 W | +----------------+----------------+----------------+ ``` **地址空间**:三维地址空间 --- ## 二、段页式存储的实现 ### 2.1 数据结构 **段表**: - 每个段对应一个页表 - 段表项包含页表基址和页表长度 **页表**: - 每个段有一个页表 - 页表项包含页框号 ### 2.2 地址转换过程 1. 根据段号查找段表,获取页表基址 2. 根据页号查找页表,获取页框号 3. 物理地址 = 页框号 × 页大小 + 页内偏移 **需要三次内存访问**: - 访问段表 - 访问页表 - 访问数据 ### 2.3 快表优化 使用快表(TLB)加速地址转换: - 快表项包含:段号、页号、页框号 - 命中时只需1次内存访问 --- ## 三、段页式的特点 ### 3.1 优点 - 兼有分段的逻辑性和分页的物理性 - 便于共享和保护(段级) - 无外部碎片(页级) - 内存利用率高 ### 3.2 缺点 - 有内部碎片 - 地址转换复杂 - 需要多次内存访问 - 表格开销大 --- ## 四、考研重点 1. **段页式的地址结构**:段号、页号、页内偏移 2. **数据结构**:段表、页表的关系 3. **地址转换过程**:三次内存访问 4. **段页式的优缺点** --- *下一节:4.6 虚拟内存基本概念*