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