Presentation is loading. Please wait.

Presentation is loading. Please wait.

4.3 分页式存储管理 分页式存储管理的基本原理 相联存储器和快表 分页式存储空间的分配和去配

Similar presentations


Presentation on theme: "4.3 分页式存储管理 分页式存储管理的基本原理 相联存储器和快表 分页式存储空间的分配和去配"— Presentation transcript:

1 4.3 分页式存储管理 4.3.1 分页式存储管理的基本原理 4.3.2 相联存储器和快表 4.3.3 分页式存储空间的分配和去配
4.3.4 分页式存储空间的页面共享和保护 4.3.5 多级页表 4.3.6 反置页表

2 4.3.1 分页式存储管理 基本原理(1) •为什么要引进分页技术? •基本原理 (1)页框 (2)页面 (3) 逻辑地址形式
(4) 页表和地址转换

3 分页式存储管理基本原理(2) •页表是操作系统为每个用户作业建立的,用来记录程序页面和主存对应页框的对照表
•动态重定位技术,让程序的指令执行时动态地进行地址变换,给每个页面设立重定位寄存器,重定位寄存器的集合便称页表(page table)。 •页表是操作系统为每个用户作业建立的,用来记录程序页面和主存对应页框的对照表

4 分页式存储管理基本原理(3) B A XXX XX 作业表 页表和作业表的一般格式 页表 块号1 块号 第0页 第1页 页号 作业名
块号2 块号 第0页 第1页 页号 作业名 B A 页表始址 XXX 页表长度 XX 作业表 页表 页表和作业表的一般格式

5 页式存储管理的地址转换 和存储保护 页表 块号 地址越界 作业表 页表始址 页表长度 A xxxxxx 50 比较 页号 页内地址
作业名 A xxxxxx 50 作业表 块号 比较 页号 页内地址 页表 页表控制寄存器 绝对地址 逻辑地址 地址越界

6 4.3.2 相联存储器和快表 相联存储器 快表的格式 采用相联存储器后地址转换

7 采用相联存储器的地址转换 假定访问主存时间为100毫微秒,访问相联存储器时间为20毫微秒,相联存储器为32个单元时快表命中率可达90%,按逻辑地址存取的平均时间为: (100+20)×90%+( )×(1-90%)=130毫微秒 比两次访问主存的时间100毫微秒×2+20=220毫微秒下降了四成多。

8 4.3.3分页式存储空间的分配和去配 位示图法 链表方法 分配算法

9 4.3.4分页存储管理能实现多作业共享程序和数据 数据共享 程序共享 共享信息的保护问题 标志位保护方法 键保护方法

10 4.3.5 多级页表 多级页表的概念 多级页表的具体做法 逻辑地址结构 逻辑地址到物理地址转换过程

11 多级页表的概念(1) 页表存储开销太大 CPU具有32位地址时 ,使用232逻辑地址空间的分页系统,规定页面4KB时,每个进程页表的表项有1兆(220)个,若表项占用4个字节,则每个进程需要占用4KB连续内存空间存放页表。

12 多级页表的概念(2) 多级页表概念:页表和页面一样也进行分页,内存仅存放当前使用的页表,暂时不用部分放在磁盘上,待用到时再行调进。
具体做法:把整个页表进行分页,分成一张张小页表(称为页表页) ,小页表的大小与页框相同,为进行索引查找,应该为这些小页表建一张页目录表,其表项指出小页表所在页框号及相关信息。

13 多级页表的概念(3) 系统为每个进程建一张页目录表,它的每个表项对应一个页表页,而页表页的每个表项给出了页面和页框的对应关系,页目录表是一级页表,页表页是二级页表。 逻辑地址结构有三部分组成:页目录、页表页和位移。

14 多级页表地址转换过程 进程一级页表 进程二级页表 物理地址 逻辑地址 页目录表 控制寄存器 B F B offset
dir page offset B F 进程一级页表 进程二级页表 物理地址 逻辑地址 页目录表 控制寄存器

15 解决页表页占用内存空间的问题 进程运行涉及页面的页表页应放在主存,其他页表页使用时再调入,
在页目录表中增加特征位,指示对应的页表页是否已调入内存, 地址转换机构根据逻辑地址中的dir,去查页目录表对应表项,如未调入,应产生一个”缺页表页”中断信号,请求操作系统将页表页调入主存。

16 SUN SPARC计算机三级分页结构 上下文号 索引1(8) 索引2(6) 索引3(6) 偏移(12) 页表 上下文表 第一级 第二级
索引1(8) 索引2(6) 索引3(6) 偏移(12) 上下文表 第一级 第二级 第三级 4K页面 4095 页表

17 多级页表结构的本质 多级不连续导致多级索引。
以二级页表为例,用户程序的页面不连续存放,要有页面地址索引,该索引是进程页表;进程页表又是不连续存放的多个页表页,故页表页也要页表页地址索引,该索引就是页目录。 页目录项是页表页的索引,而页表页项是进程程序的页面索引。

18 4.3.5反置页表(1) 反置页表及其地址转换 反置页表 物理地址 逻辑地址 哈希 函数 哈希表 进程标识 页号 位移 索引
页框号 位移 进程标识 页号 位移 进程标识 页号 特征位 链指针 索引 反置页表 物理地址 逻辑地址 哈希 函数 哈希表 反置页表及其地址转换

19 反置页表(2) IPT是为内存中的每一个物理块建立一个页表并按照块号排序,
该表每个表项包含正在访问该页框的进程标识、页号及特征位,用来完成主存页框到访问进程的页号、即物理地址到逻辑地址的转换。

20 反置页表(3) 地址转换过程如下: 逻辑地址给出进程标识和页号,用它们去比较IPT,若整个反置页表中未能找到匹配的页表项,说明该页不在主存,产生请页中断,请求操作系统调入;否则,该表项的序号便是页框号,块号加上位移,便形成物理地址。

21 4.4.1 程序的分段结构 分段存储管理引入的主要原因 模块化程序设计的分段结构 分页存储管理---一维地址结构
分段存储管理---二维地址结构

22 模块化程序设计的分段结构 子程序段X 数组段A ┇ call [X]∣<E> (调用X段的入口E)
call [Y]∣<F> (调用Y段的入口F) load 1,[A]∣<G> (调用数组段A[G]) 主程序段 E:┅┅┅┅┅┅ F:┅┅┅┅┅┅ 子程序段Y G:┅┅┅┅┅┅ 工作区段

23 4.4.2 分段式存储管理的基本原理(1) •两维逻辑地址 段号:段内地址 •作业表和段表 •段式存储管理的地址转换和存储保护 XXX 始址
始址 第0段 第1段 段号 作业名 B A 段表始址 表段长度 XX 作业表 段表 长度 第2段

24 分段式存储管理的基本原理(2) 段控制寄存器 段表始址 段表长度 段号s 位移d 段长 基址 物理地址 越界? 段表

25 4.4.3段的共享 多对基址/限长寄存器 段的共享,是通过不同作业段表中的项指向同一个段基址来实现。
几道作业共享的例行程序就可放在一个段中,只要让各道作业的共享部分有相同的基址/限长值。 对共享段的信息必须进行保护。

26 分段和分页的比较(1) 分段是信息的逻辑单位,由源程序的逻辑结构所决定,用户可见,
段长可根据用户需要来规定,段起始地址可从任何主存地址开始。 分段方式中,源程序(段号,段内位移)经连结装配后地址仍保持二维结构。

27 分段和分页的比较(2) 分页是信息的物理单位,与源程序的逻辑结构无关,用户不可见, 页长由系统确定,页面只能以页大小的整倍数地址开始。
分页方式中,源程序(页号,页内位移)经连结装配后地址变成了一维结构。


Download ppt "4.3 分页式存储管理 分页式存储管理的基本原理 相联存储器和快表 分页式存储空间的分配和去配"

Similar presentations


Ads by Google