多级页表存储大页表,① 采用离散分配方式来解决难以找到一块连续的大内存空间的问题,(即引入两级页表),② 只将当前需要的部分页表项调入内存,其余的 页表项仍驻留在磁盘上,需要时再调入 。
对于要求连续的内存空间来存放页表的问题:
可将页表进行分页,并离散地将各个页面分别存放在不同的物理块中,
同样也要为离散分配的页表再建立一张页表,称为外层页表(Outer Page Table),在每个页表项中记录了页表分页的物理块号 。
反置页表(1)IPT是为主存中的每一个物理块建立一个页表项并按照块号排序;
(2)该表每个表项包含正在访问该物理块的进程标识、页号及特征位,用来完成主存物理块到访问进程的页号的转换 。
地址转换过程(反置页表)逻辑地址给出进程标识和页号,用它们去比较 IPT, 若整个反 置 页表中未能找到匹配的页表项 , 说明该页不在主存, 产生请求调 页中断 , 请求操作系统调入;否则,该表项的序号便是物理块号,块号加上位移,便形成物理地址 。
Δ" role="presentation" style="box-sizing: border-box; position: relative;">ΔΔ分页存储管理的优点
- 减少碎片
- 程序不必连续存放,便于装入
- 便于管理
- 能实现动态链接
- 程序必须全部装入内存,才可以运行
- 操作系统必须为每一个任务都维护一张页面,开销比较大,简单的页面结构已经不能满足要求,必须设计更复杂的结构,如:多级页表结构、哈希页表结构、反置页表
- 方便编程
模块化程序设计的分段结构 - 分段共享
段是信息的逻辑单位,可以为共享过程建立一个独立的段,更便于实现程序和数据的共享 。 - 分段保护
对内存中的信息的保护,同样也是对信息的逻辑单位进行保护 。采用分段存储管理,对实现保护,将是更有效和方便 。 - 动态链接
程序运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将该段调入内存并进行链接 。 - 动态增长
在实际使用中,往往有些段,特别是数据段会随着程序的运行不断增大,而这种增长事先并不知晓会增长到多大,采用其它存储管理方式是难以应付的,而分段存储管理却能较好的解决这一问题 。
- 分段
作业地址空间按逻辑信息的完整性被划分为若干个段;段内的地址空间是连续的 。实现分段管理的关键在于,如何保证分段 (二维)地址空间中的一个作业在线性(一维)的存储空间中正确运行 。也就是说,如何把分段地址结构变换成线性的地址结构,和分页管理一样,可采用动态重定位技术,即通过地址变换机构来实现 。 - 段表
为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中 。实现从逻辑段到物理内存区的映射 。每个表项(段描述子)至少有三个数据项:段长、主存起始地址和存取控制 。 - ΔΔ地址变换机构
①根据段表寄存器的内容找到该作业的段表地址;②利用有效地址中的段号2作为检索段表的索引,得到该段在主存的起始地址;③将段的主存起始地址和位移量W相加,即得访问主存的物理地址 。
- 没有内碎片,外碎片可以通过内存紧缩来消除
- 便于改变进程占用空间的大小
- 进程全部装入内存
- 可见与不可见
• “分页”是系统活动,用户无法介入,页的大小 固定;• “分段”是用户可见的,段大小可变 。 - 物理单位与逻辑单位
• 页是信息的物理单位,不是完整的逻辑单位;• 段是完整的逻辑信息单位 。 - 地址空间
推荐阅读
- 辞职后全职开发的操作系统 SerenityOS 到底是个怎样的系统
- Android 13 虚拟化技术支持安装 Windows 和 Linux 操作系统
- 怎样设置电脑共享计算机,局域网共享设置,小编教你怎么设置共享
- 专业网站SEO人员精通的基础技能
- 要想成为黑客,离不开这十大基础知识
- 鸿蒙操作系统 HarmonyOS 你值得拥有
- Windows 10找不到共享计算机怎么办
- 计算机为什么偏爱用矩阵表示?因为设计简单、能硬件优化加速
- Windows操作系统|最重要Windows 11更新要来了:微软将敲定22H2时间 修复重大Bug
- python基础知识集合