快表
为了提高地址转换速度,为进程页表设置一个专用的高速缓冲存储器,称为快表。
快表的工作原理类似于数据高速缓存。
根据局部性原理,在一个很短的时间段内,程序的执行总是局部于某一个范围。
页面与页框大小
在分页系统中,页面=页框。页框大小有计算机硬件逻辑定义。通常大小是2的幂次个字节,且常在512B-4KB.
简单分段存储管理技术
基于模块化程序设计时,常常需要将一个大任务划分成若干相对独立的子任务,对应于子任务编写子程序,称为段。
程序由若干逻辑段组成,每个段有自己的名字和长度,程序的逻辑地址是由段名(段号)和段内偏移量决定。每个段的逻辑地址从0开始编址。
系统采用动态划分技术,将物理内存动态地划分为许多尺寸不相等的分区。
段表:每个进程建立一个段表,用于表述进程的分段情况,包括段号、段长、段基地址以及对本段的存取控制权限等信息。
地址变换和存储保护
根据逻辑地址中的段号检索进程表,获得指定段对应的段表项。
段表寄存器:当进程被调度执行时取出PCB中的段表起始地址放入段表寄存器。
分段系统的快表:
分页与分段技术的比较:
都采用非连续存储,由地址映射实现地址变换。
不同点:页是信息的物理单位,大小固定。段是信息的逻辑单位,各段的长度不固定。每一段都有一定逻辑含义。
分页的地址空间是一维的,逻辑地址的划分由机器硬件实现。分段的地址空间是二维或多维德,程序员直到段名和段内偏移量。
分页活动源于系统管理内存的需要,在系统内部进行。分段活动源于用户进行模块化程序设计的需要,在系统外部进行。
简单段页式存储管理
基本思想:采用分段方法组织用户程序,采用分页方法分配和管理内存。
一个用户程序由若干段构成,系统将内存划分成固定大小的页框,并将程序的每一段分割成若干页以后装入内存执行。
逻辑地址由:段号、段内页号和页内偏移量。
段表寄存器:加速地址变换,用于存放执行进行段表的起始地址。