为何引出?
段式管理为用户提供一个二维的虚地址空间, 反映了程序的逻辑结构, 有利于段的动态增长以及共享和内存保护
分页系统有效地克服了碎片, 提高了存储器的利用率
两者结合, 会结合两者优点的同时, 也会代开开销大的问题
基本思想
在段页式存储中, 每个分段又被分成若干个固定大小的页.
虚拟地址构成
段页式管理时, 虚拟地址由三部分组成: 段号 s, 页号 p 和页内相对地址 d.
地址映射
系统为每个作业或进程建立一张段表, 管理内存分配与释放, 缺段处理, 存储保护和地址变换等.
每个段建立一张页表, 把段中的虚页变换成内存中的实际页面. 页表中有针对缺页中断处理和页面保护等功能的表项.
段页式管理系统中, 对内存中指令或数据进行一次存取, 至少需要访问三次以上的内存.
1. 第一次是由段表地址寄存器得到段表始址去访问段表, 由此取出对应段的页表地址.
2. 第二次是访问页表得到要访问的物理地址.
3. 第三次访问真正需要访问的物理单元.
提高变换速度 - 快表
为了提高地址转换速度, 设置快速联想寄存器存放当前最常用的段号 s, 页号 p 和对应的内存页面与其他控制用栏目.
当要访问内存空间某一单元时, 通过段表, 页表进行内存地址查找的同时, 根据快速联想寄存器查找其段号和页号.
如果要访问的段或页在快速联想寄存器中, 则系统不再访问内存中的段表, 页表, 直接把快速联想寄存器中的值与页内相对地址 d 拼接起来得到物理地址.
段页式的优缺点
优点:
段页式管理具有段式管理和页式管理的优点.
缺点:
由于管理软件的增加, 复杂性和开销随之增加. 需要的硬件以及占用的内存也有所增加.
如果不采用联想寄存器方式提高 CPU 访问速度, 执行速度会大大下降.
来源: http://www.bubuko.com/infodetail-3301632.html