操作系统ch4-4.3分页和4.4分段式存储管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

子程序段X E:┅┅┅┅┅┅
数组段A G:┅┅┅┅┅┅
子程序段Y F:┅┅┅┅┅┅
工作区段
4.4.2 分段式存储管理的基 本原理(1)
•两维逻辑地址
段号:段内地址
•作业表和段表
•段式存储管理的地址转换和存 储保护
分段式存储管理的基本原理(2)
段控制寄存器
段表始址 段表长度
越界?
段号s 位移d
段长 基址
反置页表(3)
反置页表地址转换过程如下:
逻辑地址给出进程标识和页号,用它们去 比较IPT,若整个反置页表中未能找到匹 配的页表项,说明该页不在主存,产生请 页中断,请求操作系统调入;否则,该表 项的序号便是页框号,块号加上位移,便 形成物理地址。
4.4 分段式存储管理
4.4.1 程序的分段结构 4.4.2 分段式存储管理的基本原理 4.4.3 段的共享和保护 4.4.4 分段和分页的比较
物理地址
页框号 位移
进程标识 页号 特征位 链指针
哈希
·
函数
·
序号
哈希表
反置页表
反置页表及其地址转换
反置页表(2)
• IPT是为主存中的每一个物理块 建立一个页表并按照块号排序,
• 该表每个表项包含正在访问该 页框的进程标识、页号及特征 位,用来完成主存页框到访问进 程的页号、即物理地址到逻辑 地址的转换。
• 多级不连续导致多级索引。
• 以二级页表为例,用户程序的页面不 连续存放,要有页面地址索引,该索 引是进程页表;进程页表又是不连续 存放的多个页表页,故页表页也要页 表页地址索引,该索引就是页目录。
• 页目录项是页表页的索引,而页表页 项是进程程序的页面索引。
4.3.5反置页表(1)
逻辑地址
进程标识 页号 位移
段表
物理地址
4.4.3段的共享
• 多对基址/限长寄存器
• 段的共享,是通过不同作业段表 中的项指向同一个段基址来实现。
• 几道作业共享的例行程序就可放 在一个段中,只要让各道作业的 共享部分有相同的基址/限长值。
• 对共享段的信息必须进行保护。
分段和分页的比较(1)
• 分段是信息的逻辑单位,由源程序 的逻辑结构所决定,用户可见,
• 数据共享 • 程序共享 • 标志位保护方法 • 键保护方法。
分页存储空间的页面共享和保 护(2)
• 共享库 • 动态链接器 • 编译和动态链接共享库的过程
分页存储空间的页面共享和保 护(3)
编译后的目标文件
引入库(DLL函数的定位信息)
链接器
重要定 位信息
动态链 接库
可执行程序
主存
调用DLL中的函数
4.4.1 程序的分段结构
• 分段存储管理引入的主要原因 • 模块化程序设计的分段结构 • 分页存储管理---一维地址结构 • 分段存储管理---二维地址结构
ห้องสมุดไป่ตู้
模块化程序设计的分段结构
主程序段
┇ call [X]∣<E> (调用X段的入口E)
┇ call [Y]∣<F> (调用Y段的入口F)
┇ load 1,[A]∣<G> (调用数组段A[G])
页式存储管理的地址转换
和存储保护
逻辑地址
CPU
p
d
物理地址
b
d
页表基址寄存器
页表
0 1 ·
· pb
· · ·
主存
分页存储管理的地址转换
4.3.2 快表
• 相联存储器 • 快表的格式 • 采用相联存储器后地址转换
采用相联存储器的地址转换
假定访问主存时间为100毫微秒,访问相 联存储器时间为20毫微秒,相联存储器 为32个单元时快表命中率可达90%,按 逻辑地址存取的平均时间为:
• 逻辑地址结构有三部分组成:页目 录、页表页和位移。
多级页表地址转换过程
dir page offset
逻辑地址
页目录表
F
控制寄存器
B
B offset
物理地址
进程一级页表 进程二级页表
解决页表页占用主存空间的问题
• 进程运行涉及页面的页表页应放在主 存,其他页表页使用时再调入,
• 在页目录表中增加特征位,指示对应的 页表页是否已调入主存,
• 段长可根据用户需要来规定,段起 始地址可从任何主存地址开始。
• 分段方式中,源程序(段号,段内 位移)经连结装配后地址仍保持二 维结构。
分段和分页的比较(2)
• 分页是信息的物理单位,与源程序 的逻辑结构无关,用户不可见,
• 页长由系统确定,页面只能以页大 小的整倍数地址开始。
• 分页方式中,源程序(页号,页内位 移)经连结装配后地址变成了一维结 构。
4.3 分页式存储管理
4.3.1 分页式存储管理的基本原理 4.3.2 快表 4.3.3 分页式存储空间的分配和去配 4.3.4 分页式存储空间的页面共享和
保护 4.3.5 多级页表 4.3.6 反置页表
4.3.1 分页式存储管理 基本原理(1)
•为什么要引进分页技术? •基本原理 (1) 页框 (2) 页面 (3) 逻辑地址形式 (4) 页表和地址转换
分页式存储管理基本原理(2)
• 作业的页面与分给的页框如何建立联系呢? • 逻辑地址(页面)如何变换成物理地址(页框)呢? • 作业的物理地址空间由连续变成分散后,如何
保证程序正确执行呢?
• 使用动态重定位技术,给每个页面设立重定位 寄存器,重定位寄存器的集合便称页表。
• 页表是操作系统为每个用户作业建立的,用来 记录程序页面和主存对应页框的对照表。
(100+20)×90%+(100+100+20)×(190%)=130毫微秒
比 两 次 访 问 主 存 的 时 间 100 毫 微 秒 ×2+20=200毫微秒下降了三成多。
4.3.3分页式存储空间的分配 和去配(1)
• 位示图法 • 链表方法 • 分配算法
主存分配的位示图和链表方法
4.3.4分页存储空间的页面共享 和保护(1)
• 地址转换机构根据逻辑地址中的dir, 去查页目录表对应表项,如未调入,应 产生一个”缺页表页”中断信号,请 求操作系统将页表页调入主存。
SUN SPARC计算机三级分页 结构
上下文号
索引1(8) 索引2(6)
索引3(6)
偏移(12)
上下文表
0
第一级
第二级
第三级
4K页面
4095
页表
多级页表结构的本质
Windows动态链接
4.3.5 多级页表
• 多级页表的概念 • 多级页表的具体做法 • 逻辑地址结构 • 逻辑地址到物理地址转
换过程
多级页表的概念
• 系统为每个进程建一张页目录表, 它的每个表项对应一个页表页,而页 表页的每个表项给出了页面和页框 的对应关系,页目录表是一级页表, 页表页是二级页表。
相关文档
最新文档