(操作系统课件)--分页
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
快表
• 相关背景
1、DAT(动态地址变换机构):页表存放在主存中,由OS统 一管理,每条指令的执行都必须进行地址变换。故一条指 令须两次访问存储器:一次是把页号变成物理块号,另一 次是实际存取所要的数据或指令。影响运行速度。 2、高速寄存器的缺点:成本高。 对两者折中:即在DAT加入一组高速寄存器(存放正在运 行作业的当前最常用的页号和相应块号),这些寄存器连 同管理它们的硬件构成了一个容量较小的存储器——快表。
(4)若作业执行中要从第0页的第75单元和第3页的第548单元读 信息,那么,实际应从主存的哪两个单元读信息?请把应访问的 主存绝对地址用二进制编码的十六进制数表示。
• [1.题解]与可变分区存储管理相比,采用页 式存储管理时处理器在单位时间里执行指 令的数量会减少。这是因为,页式存储管 理在进行地址转换时要多花一次访问主存 储器查页表的时间,因而延长了指令的执 行时间,使得单位时间里执行指令的数量 减少。
例:有一页式系统,其页表存放在主存中: 有一页式系统,其页表存放在主存中: 如果对主存的一次存取需要1.5 μs,试 ①如果对主存的一次存取需要1.5 μs,试 问实现一次页面访问的存取时间是多少? 问实现一次页面访问的存取时间是多少? 如果系统加有快表,平均命中率为85%, 85%,当 ②如果系统加有快表,平均命中率为85%,当 页表项在快表中时,其查找时间忽略为0, 页表项在快表中时,其查找时间忽略为0, 试问此时的存取时间是多少? 试问此时的存取时间是多少?
[2.题解](1)主存地址应该用20位来表示。 (2)作业每一页的长度应为2的12次方=4096个字节,逻 辑地址中的页内地址部分应占用12位。 (3)作业中每一页占用主存块的起始地址为: 页号 起始地址 0 8K 1 16K 2 4K 3 20K (4)若作业执行中要从第0页的第75单元读信息,则实际 应从主存的第2块第75单元读,应访问的主存绝对地址用 二进制编码的十六进制数表示为对204B。若要从第3页的 第548单元读信息,则实际应从主存的第5块第548单元读, 应访问的主存绝对地址用二进制编码的十六进制数表示为: 05224。
块号 状态 0 OS 1 OS 2 作业2 3 可用 4 作业2 5 作业1 6 作业1 7 作业2 8 作业3 9 可用 存储分块表 MBT
碎片概念
• 分页管理中,内存的分配以物理块为单位,作业 装入时一个页面对应于一个内存块,当一个作业 的最后一页不满时,它们占有一个物理块,不满 的部分就构成了“内碎片”。内碎片的大小必定 小于内存块的长度,平均每个作业的内存空间的 内碎片量为半个块长。所以内碎片量是有限的, 而各作业之间不存在“外碎片”,所以分页管理 不需要“拼接”碎片,它有效的解决了内存碎片 问题。
若页表存放在主存中, 答:若页表存放在主存中,则要实现一次页面访问需 两次访问主存:一次是访问页表, 两次访问主存:一次是访问页表,确定所存取页面的 物理地址(称为定位)。 )。第二次才根据该地址存取页 物理地址(称为定位)。第二次才根据该地址存取页 面数据。 面数据。 ■页表在主存的存取访问时间 =1.5*2=3(μs μs) =1.5*2=3(μs) ■增加快表后的存取访问时间 =0.85*1.5+(1=0.85*1.5+(1-0.85)*2*1.5=1.725(μs)
“双管齐下”:快表与PMT同时进行,在快表中,一旦找到块号,即停止PMT; 如果在快表中检索不到所要的块号,应利用PMT表进行查找,并将页号 以及所对应的块号一起填入快表内的空白单元中。如果快表没有空白单元, 应根据规则淘汰一个单元内容再填入。
图 利 用 快 表 加 速 查 表
分页存储管理算法
建立如下表格,由OS统一管理:存放在OS所使用的工作区内 表目 作业表 JT 表目内容 调试时
思考题
1. 2. 与可变分区存储管理相比,采用页式存储管理时处理器在单位时 间里执行指令的数量是增加还是减少?为什么? 假定某采用页式存储管理的系统中,主存容量为1M,被分成256 块,块号为0,1,2,……255。现有一个共4页(页号为0,1,2, 3)的作业被依次装人到主存的第2,4,1,5块中。请回答: (1)主存地址应该用多少位来表示? (2)作业每一页的长度为多少字节?逻辑地址中的页内地址部分 应占用多少位? (3)把作业中每一页占用的主存块起始地址填人下表。
例:
• 某系统指令的有效地址为24位,则逻辑地址空 间最大可达 224=16MB。假定页面大小为4KB (页内地址12位),那么逻辑地址空间最多可 达 4096 个页面(页号12位)。 • 动态地址变换机构自动将逻辑地址划分为页号 (12位)和页内地址(12位) 。
CPU产生
图 动态地址变换机构
页面变换表 页表控制寄存器 图 PTCR、 PMT、 页和块之间的关系
高速页面变换寄存器
1. 采用硬件的高速寄存器来实现从作业地址空间到 物理地址空间的变换。 2. 由于高速寄存器的成本高, 所以它适用于地址空 间小的作业。
– – 在多道程序设计时,一次只有一个作业在运行,故只需 一组高速寄存器就可满足。 例:假定页面大小为4KB,作业为100KB,则需要25个 高速寄存器即可。
2 KB L 1,2KB+60
面 变 换 表 保 证 了 作 业 的 正 确 执 行 页
图
3 KB 2 7 4 KB
作业2的地址空间 页面变换表 5 KB 2 6 KB
页表 PMT 表 的
7 KB 7 KB+60 8 KB 01557100
空间
地址变换机构
为了实现逻辑地址空间到物理地址空间的地址变换,需要 提供一些硬件支持,即地址变换机构。 从逻辑地址空间到物理存储空间的地址变换, 从逻辑地址空间到物理存储空间的地址变换,通常有三 种方法: 种方法:动态地址变换机构DAT,高速页面变换寄存器、 联想存储器/快表。 动态地址变换机构DAT • 动态地址变换机构自动将所有地址划分为页号和页内地址 • 作业执行时应把逻辑地址转换成物理地址,转换公式为: 物理地址=块号X块长+页内地址
图 分 页 存 储 管 理
Biblioteka Baidu
0 2 1 KB 2 KB 3 KB 作业2 0 1 KB 作业3 页 0 8 1 4 2 7
作业2(1页) 作业1(0页) 作业1(1页)
7 KB 8 KB 9 KB 10 KB
作业2(2页) 作业3(0页)
0 518 1 KB 2 KB 2 KB+60 01557100 L 1,2K+60 0 2 1 4
整个系统一张表。 某一作业的页 如果存储要求可以得到满足, 每个作业对应一个 表始址、页表 就在此表上进行登记;当作 表目 长度、状态信 业轮到处理时,就从JT把该 息 作业的页表始址和页表长度 送到控制寄存器中。 整个系统一张表。 记录该块的状 每一表目对应一个 态:已分配或 存储块 未分配 每个作业一张表, 每个表目记录 一个页面对应一个 页号及对应块 表目 号
分页存储管理方案的评价
• 不需要靠拢消除碎片,便于多道程序设计,提高了CPU和 主存的利用率。 • 采用动态地址变换会增加计算机成本和降低处理机的速度。 • 各种表格要占用一定容量的主存空间, 而且还要花费一 部分处理机时间用来建立和管理这些表格。 • 虽然说外部碎片消除了,但每个作业的最后一页一般都有 不能充分利用的空白区(内部碎片)。页面大?页面小? • 作业地址空间受到内存实际容量的限制,存储扩充问题仍 未得到解决。
分页存储管理
• 将逻辑地址空间划分为一些相等的片,称 为页;将物理地址空间划分为同样大小的 块,称为块。 • 通过适当的变换,将一页对应一块。 • 逻辑地址空间和物理地址空间的对应关系 由页表(PMT)来指明。
0 1 KB 2 KB 作业1 0
页号块号 0 5 1 6
0 1 KB 2 KB 作业2(0页) 3 KB 4 KB 5 KB 6 KB 操作系统
存储分块表 MBT 页面变换表 PMT
• 作业表JT • 存储分块表MBT • 页面变换表PMT
• • • • 登记作业表(表目) 在OS区为页表分配存储区, 并将其起始地址填入作业表 搜存储分块表的空闲块,将作 业号填入其中 块号填入页表中
作业表 作业号 页表长度 PMT 始址 状态 1 2 3600 已分配 2 3 4160 已分配 3 1 3820 已分配 4 — — 空项 3600 块号 5 6 作业1的PMT 4160 块号 块号 2 3820 8 4 作业3的PMT 7 作业2的PMT
页表控制寄存器PTCR
• 包含页表长度和页表在内存的起始地址 • PTCR、 PMT、 页和块之间的关系?
每个作业都有一个页面变换表,所有作业的PMT放在OS的一个工作区中, 由页表控制寄存器指出作业的页面变换表的起始地址。当处理机执行一个 新作业或恢复一个旧作业时,只要修改页表控制寄存器的内容,使之指向 要执行作业的PMT起始地址即可。