× × × × 2 1 × × × × 2 × × × 3 × × 2 × 6 缺页中断14次
33、比较各种存储管理方式的特征(包括主存空间的分配方式、是否要有硬件的地址转换机构作支撑、适合单道或多道系统等)、重定位方式、地址转换的实现(操作系统和硬件怎样配合)、存储保护的实现(操作系统和硬件各自做些什么工作)。 存储管理特征 主存分配方式 硬件地址转换 单一用户存储 一次性全部连续 不必需 适合系统 单道 利用率低,不灵活 其他 重定位方式 动态或静态 根据基地址生成物理地址。 静态由软件完成;动态可由硬件提供基地址寄存器帮助转换 无 地址转换过程 存储保护 分区管理 固定分区管理 可变分区管理 按照程序提供的内存需求最大值从已划分好的固定区域中分配 不必需 多道 不能充分利用内存,碎片问题严重,程序大小受到限制 动态或静态 根据基地址生成物理地址。 静态由软件完成;动态可由硬件提供基地址寄存器帮助转换 通过界限寄存器[硬件]或保护键[软件]的相应判断,产生越界中断或者保护性中断[硬件]。 在装入程序时从空闲区域中划分 不必需 多道 简单易行,利用率较高。缺乏扩充性 动态(拼接时) 根据基地址生成物理地址。可由硬件提供基地址寄存器帮助转换 页式存储管理 以页面为单位,按用户程序需求的页数分配,分配空需要页表始址寄存器和长度寄存器,加快表 多道 有效解决碎片问题,但有时也会造成空间浪费。 动态 把逻辑地址分为页号和页内地址,与页表长度寄存器比较,检查越界,根据页表始址寄存器得到页表首地址,根据逻辑页号找到内存块号,并且与页内地址拼成物理地址。可以用快表来实现加速。[硬件] 保护键[软件]或扩充页表,增加存取控制项[硬件] 间不一定连续 也可以增段式存储管理 以段为单位,为每一个逻辑段分配连续的内存空间 需要段表始址寄存器和长度寄存器,也可以增加快表 多道 便于动态分配内存,管理和申请统一化,便于共享,动态链接,会有碎片动态 把逻辑地址分为段号和段内地址,与段表长度寄存器比较,检查越界,根据段表始址寄存器得到段表首地址,根据逻辑段号找到该段起始地址,越界检查[硬件]保护键[软件]或扩充段表,增加存取控制项问题 并且与段内地址拼成物理地址。可以用快表来实现加速[硬件] [硬件] 越界检查[硬件]保护键或扩充段表,增加存取控制项[硬件] 段页式存储管理 以段为单位,为每一个逻辑段按用户程序需求的页数分配,分配空间不一定连续 需要段表始址寄存器、长度寄存器和快表 多道 方便用户提高利用率,结合段式与页式的优点 动态 根据段号查找快表,如果找到则直接获得物理地址,否则通过段表始址寄存器查找段表,根据段号查找页表位置,根据页号在页表中查找内存块号,和页内地址拼接成物理地址,并更新快表[硬件] 虚拟存储管理 虚拟页式存储 程序运行时不装入全部页面,根据需求动态装入,使用页面置换算法来调换内存中的页面 需要在页式基础上增加页号、驻留位、内存块号、外存地址、访问位、修改位 多道 把内存与外存有机结合起来,扩充了内存的容量,有可能产生抖动 动态 在地址映射过程中如果访问页面不存在则产生缺页中断[硬件],并根据一定的算法将页面调入内存,如果内存已满,需要将某些页面暂时移出内存。[软件] 越界检查[硬件]保护键[软件]或扩充段表,增加存取控制项[硬件] 虚拟段式存储 程序运行时不全部装入,根据需求动态装入,以段为单位进行内外村的交换。 需要在段式基础上增加特征位、存取权限位、标志位、扩充位 多道 把内存与外存有机结合起来,扩充了内存的容量,有可能产生抖动 动态 在地址映射过程中如果访问段不存在则产生缺段中断[硬件],检察系统是否有足够连续空间,如有则直接装入,否则尝试使用紧缩技术获得足够连续空间,如果还不足则考虑淘汰一些内存中的不常用段。[软件]