1.分段、分页
1.1分页
- 优点:空间利用率高,无外部碎片,有少量内部碎片
- 缺点:不方便按照逻辑模块实现信息的共享和保护
1.2分段
- 优点:方面按照逻辑模块实现信息的共享和保护
- 缺点:段长过大,分配连续空间不方便,会产生外部碎片
- 外部碎片可以通过“紧凑”解决,付出较大的时间代价
2.分段+分页
- 将地址空间按照程序自身的逻辑关系划分为若干段,在将各段分为大小相等的页面
- 将内存空间划分为与页面大小相等的一个个内存块,系统以块为单位为进程分配内存
- 逻辑地址结构:(段号,页号,页内偏移量)
- 段号的位数决定了每个进程最多可以分成几个段
- 页号决定了每个段最大有多少页
- 页内偏移量决定了页面大小、内存块大小是多少
- 段页式管理的地址空间是二维的
3.段表、页表
- 每个段对应一个段表项。各段表项长度相同,由段号(隐含)、页表长度、页表存放地址组成
- 每个页对应一个页表项。各页表项长度相同,由页号(隐含)、页面存放的内存块号组成
4.地址变换
- 由逻辑地址得到段号、页号、页内偏移量
- 段号与段表寄存器中的段长度比较,检查是否越界
- 由段表始址、段号找到对应段表项
- 根据段表中记录的页表长度,检查页号是否越界
- 由段表中的页表地址、页号得到查询页表,找到相应页表项
- 由页面存放的内存块号、页内偏移量得到最终的物理地址
- 访问目标单元

5.访问一个逻辑地址所需访存次数
- 第一次:查段表;第二次:查页表;第三次:访问目标单元
- 可引入快表机构,以段号和页号为关键字查询快表,即可直接找到最终的目标页面存放位置。引入快表后仅需一次访存