ch5-2对换、分页和分段存储管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本的地址变换过程
页号 物理块号 0 1 2 3 6 8 如: 第3页在页表中的地址= 页在页表中的地址= 第0页在内存中的物理地 即页表的始址) 址(即页表的始址) 页表项长度a + 页表项长度 a ( 包括页 物理块号、 号 、 物理块号 、 控制字 段等) 段等)×b
b
2 3 …
a …
基本的地址变换过程
基本的地址变换过程
• 将页号与页表长度(在PTR中)进行比较, 将页号与页表长度( PTR中 进行比较, 超出, 给出越界信息, 超出 , 给出越界信息 , 系统发出中断信 号让该进程中断; 号让该进程中断; • 如未超出 , 先算出该页号在页表中的页 如未超出, 表项位置 页表始址+页表项长度×页号; =页表始址+页表项长度×页号;
地址变换机构: 地址变换机构:进程的逻辑地址
0000H 0001H
第0页第0个单元 页第0 第0页第1个单元 页第1 … 第1页第0个单元 页第0 第1页第1个单元 页第1 … … 第1页 第0页
相对于第0 相对于第0页的起 始地址位移为0 始地址位移为0 相对于第0 相对于第0页的起 始地址位移为1 始地址位移为1 相对于第1页的起 相对于第 1 始地址位移为0 始地址位移为0 相对于第1 相对于第 1 页的起 始地址位移为1 始地址位移为1
具有快表的地址变换机构
联想寄存器虽然存取速度快,但 是价格昂贵,不宜太多
两级和多级页表
• 两级和多级页表的引入原因 • 多级页表的概念 • 多级页表的地址转换过程
两级和多级页表的引入原因 ——页表存储开销太大 页表存储开销太大
对换的形式
• 进程对换 : 将整个进程在内存 、 外 进程对换: 将整个进程在内存、 存之间换进、 存之间换进、换出 • 页面对换 : 将一个进程所占的内存 页面对换: 空间分为若干大小相等的页, 空间分为若干大小相等的页 , 对换 时以页为单位,在内外存之间换进/ 时以页为单位 , 在内外存之间换进 / 换出 • 分段对换 : 将一个进程所占的内存 分段对换: 空间分为若干段, 空间分为若干段 , 对换时以段为单 在内外存之间换进/ 位,在内外存之间换进/换出
A 模 1000H 1001H 块
2000H
第 n - 1页
地址变换机构: 地址变换机构:进程的逻辑地址
A模块中的每一个存储单元的逻辑地址结构 应包括两部分:页号P与位移量W 应包括两部分:页号P与位移量W。
31 页号P 页号P 12 11 位移量W 位移量W 0
该地址空间最多允许 MB=2 有1MB=220页
快表
引入快表的原因
在基本的地址变换中CPU 要存取一个数 在基本的地址变换中 CPU要存取一个数 CPU 据需分两步: 据需分两步 : 一是形成寻址单元的物理 地址, 二是对该物理单元存取数据, 地址 , 二是对该物理单元存取数据 , 即 须两次访问内存,为了提高访问速度: 须两次访问内存,为了提高访问速度: 引入“ 联想存储器” 或称“ 快表” 引入 “ 联想存储器 ” , 或称 “ 快表 ” , 是一个高速缓存 高速缓存, 是一个 高速缓存 , 用以存放当前访问的 那些页表项。 CPU存取数据时先访问 那些页表项 。 在 CPU 存取数据时先访问 快表” 该“快表”以提高寻址速度
进程的换入/换出步骤 进程的换入/
换入
当内存中又有较多空闲时, 当内存中又有较多空闲时,可以将外存中 对换区内的进程换入 • 先检查 PCB 集合中所有进程的状态 , 从 先检查PCB 集合中所有进程的状态, PCB集合中所有进程的状态 中找出“ 就绪且换出” 状态的进程, 中找出 “ 就绪且换出 ” 状态的进程 , 将 换出时间最长的那个进程选为换入进程 • 申请内存空间 • 换入
• 在页表中找出该页号对应的物理块号 即该物理块在内存的始址) ( 即该物理块在内存的始址 ) , 将之送 物理地址寄存器。 入 物理地址寄存器 。 再将有效地址寄存 器中的页内地址直接送入物理地址寄存 器的块内地址字段; 器的块内地址字段; 于是, 于是 , 进程要访问的某个逻辑地址对应 的物理地址= 的物理地址=物理地址寄存器中物理块号 值+块内地址
对换空间的管理
否则: 否则: • 碎片的拼接、紧凑,必然会引起空间 碎片的拼接、紧凑, 大小的计算、地址的转换等; 大小的计算、地址的转换等; • 另外,在拼接过程中,待换出的进程 另外,在拼接过程中, 又得等待 外存也没有内存“金贵” 外存也没有内存“金贵”
对换空间的管理
• 对换空间管理的具体方式:空闲盘块表 对换空间管理的具体方式: 与动态分区分配类似, 与动态分区分配类似,在内存中有一张 外存对换区中的空闲盘块表,这张表中记 外存对换区中的空闲盘块表, 空闲盘块表 录着对换区中各盘块的数据结构(如序号、 录着对换区中各盘块的数据结构(如序号、 起始地址、大小、状态等等) 起始地址、大小、状态等等),OS就根据 就根据 这张表,实现进程“对换” 这张表,实现进程“对换”
• 离散分配方式
指可以将一个进程直接分配到许多离散 不相邻的分区中。 的 、 不相邻的分区中 。 根据分配时所用 的基本单位不同, 的基本单位不同 , 又可以将离散分配方 式分为三种: 分页、 分段、 式分为三种 : 分页 、 分段 、 虚拟式离散 分配方式; 分配方式;
基本概念: 基本概念:页面
在分页式存储管理方式中, 在分页式存储管理方式中 , 将一个进程 的逻辑地址空间分成若干个大小相等的片, 的逻辑地址空间分成若干个大小相等的片 , 称为页面或页 称为页面或页 例如, 一个进程的逻辑地址空间为 例如 , 一个进程的逻辑地址空间为32K, , 即其进入内存,需占32K的内存空间。 的内存空间。 即其进入内存,需占 的内存空间 若以4K为单位分页 则该进程可分为: 为单位分页, 若以 为单位分页,则该进程可分为: 32K/4K = 8 页 该进程有第0页 该进程有第 页、第1页…第7页,共8页 页 第 页 页
基本概念:页Baidu Nhomakorabea大小的选择
页面大小是由机器的地址结构所决 定的, 即由硬件决定的。 定的 , 即由硬件决定的 。 一般对于某 一种机器只能采用一种大小的页面, 一种机器只能采用一种大小的页面 , 可以512B、1K、2K、4K不等。 可以512B 不等。 512
地址变换机构
由一系列硬件组成, OS控制 由一系列硬件组成 , 在 OS 控制 下 , 实现进程的逻辑地址到物理 地址的转换
基本的地址变换过程
地址变换主要由地址变换机构完成。 地址变换主要由地址变换机构完成 。 地址变换机构的任务是: 地址变换机构的任务是 : 将用户地址 空间中的逻辑地址, 空间中的逻辑地址 , 变换为内存空间 中的物理地址,即实现逻辑地址 到物理地址的转换。 到物理地址的转换。
基本的地址变换过程
• 在系统中设有一页表寄存器PTR; 在系统中设有一页表寄存器PTR; 页表寄存器PTR PTR中存放页表在内存的始址和 中存放页表在内存的始址 PTR中存放页表在内存的始址和页表的长 进程未调度执行时, 度 , 进程未调度执行时 , 页表始址和长度 PCB中 进程被调度执行时,OS将页表 在 PCB 中 , 进程被调度执行时 , OS 将页表 始址、长度存入PTR PTR中 始址、长度存入PTR中; • 当进程要访问某个逻辑地址中的数据时 , 当进程要访问某个逻辑地址中的数据时, 分页地址变换机构自动地将逻辑地址分为 页号和页内地址两部分, 存入有效地址寄 页号和页内地址两部分, 存入有效地址寄 存器; 存器;
进程的换入/换出步骤 进程的换入/
换出
优先考虑那些因等待某事件发生而阻塞 优先考虑那些因等待某事件发生而 阻塞 优先级低的、 并且在内存中驻留时 的 、 优先级低的 、 并且 在内存中驻留时 间长的进程 间长的进程 • 先申请对换空间 • 申请成功,换出 申请成功, • 换出过程中未发现错误信息 , 释放所占 换出过程中未发现错误信息, 的内存空间 • OS对系统中的空闲分区表(或链)等数 对系统中的空闲分区表( 对系统中的空闲分区表 或链) 据结构做必要的调整
对换空间的管理
• 外存分区 在具有对换功能的OS OS中 外存分为: 在具有对换功能的OS中,外存分为: 文件区: 文件区:存放文件 对换区: 对换区:存放从内存中换出的进程
对换空间的管理
• 采用连续分配的方式 , 不考虑 “ 小碎片 ” 采用连续分配的方式, 不考虑“ 小碎片” 由于要提高内存利用率, 对换可能很频 由于要提高内存利用率 , 又因为内存比外存处理速度快得多, 繁;又因为内存比外存处理速度快得多, 所以: 所以: 对外存这一块对换区的管理,主要任务 对外存这一块对换区的管理, 是提高进程的换入/换出速度, 是提高进程的换入/换出速度,不能再考 虑小碎片问题
5.3 对换
• 对换的概念 • 对换的形式 • 对换空间的管理 • 进程的换入/换出步骤 进程的换入/
对换的概念
对换: 对换 : 将作业不需要或暂时不需要的 部分移到外存上, 部分移到外存上 , 让出主存空间以调 入需要的部分, 入需要的部分,以提高内存的利用率 当主存又有空闲时, 当主存又有空闲时 , 交换到外存的部 分也可以再次被调入
页内地址,每页4K 页内地址,每页4K
地址变换机构: 地址变换机构:进程的逻辑地址
已知某存储单元逻辑地址为A 已知某存储单元逻辑地址为A,页面大小为 则页号P和页内地址d可按下式求得: L,则页号P和页内地址d可按下式求得: 页号P=INT[A/L] 位移量d=A mod L
如:某单元逻辑地址为 1002H 页面大小是4 1002H , 页面大小是 4K , 则 逻辑地址空间分页情况为: 逻辑地址空间分页情况为: 0000H FFFH单元 第0页:0000H~0FFFH单元 1000H FFFH单元 第1页:1000H~1FFFH单元 … 所以, 1002H单元应在 所以,第1002H单元应在 第 P=INT[1002H/1000H]= 1 位移量即页内地址: 位移量即页内地址: W=[1002H/1000H] 取余 数=2
5.4 分页式存储管理
• 基本概念 • 地址变换机构 • 基本的地址变换过程 • 快表 • 两级和多级页表 • 页式存储管理系统的优缺点
基本概念
• 连续分配方式和离散分配方式 • 页面 • 物理块 • 页表 • 页面大小的选择
基本概念: 基本概念:连续分配和离散分配
• 连续分配方式
指一个作业进入内存后, 指一个作业进入内存后,系统为它分配 的是一块连续的内存空间; 的是一块连续的内存空间;
引入快表的原因
假定访问主存时间为100 毫微秒 假定访问主存时间为 100毫微秒 , 访问 100 毫微秒, 联想存储器时间为20毫微秒, 20毫微秒 联想存储器时间为20毫微秒,联想存储 器为32 32个单元时快表命中率一般可达 器为 32 个单元时快表命中率一般可达 90%,访问存储单元的平均时间为: 90% 访问存储单元的平均时间为: 20+ 90%+ (20+100 )×90%+(20+ 100+100)×(1-90%)=130毫微秒 100+100)×(1-90%)=130毫微秒 比两次访问主存的时间100毫微秒× 100毫微秒 比两次访问主存的时间100毫微秒×2= 200毫微秒下降了四成 毫微秒下降了四成。 200毫微秒下降了四成。
基本概念: 基本概念:物理块
即将内存空间分成若干个与页面 大小相等的若干个存储区块, 大小相等的若干个存储区块 , 称 物理块” “物理块” 高址也是: 编号由低址 ~ 高址也是 : 第 0 块 、 第1块…第n-1块。 第
基本概念:页表( ) 基本概念:页表(1)
页号 物理 属性 块号 读 0 2 1 2 3 … 3 6 8 … 写 执行 … … 系统为每一个进程 建立一个页表, 建立一个页表 , 在这 张页表中记录着该进 程的每一页在内存的 哪一个物理块中。 哪一个物理块中。 进程页表的起始地址 存 放 在 进 程 PCB 的 位 置信息栏中。 置信息栏中 。 即实现 页号 物理块号的地 址映射