当前位置:文档之家› 虚拟存储器的基本概念

虚拟存储器的基本概念

11
虚拟存储器是为扩大主存而采用 的一种设计技巧,它的容量与主存大 小无直接关系,而受限于计算机的地 址结构及可用的辅助存储器的容量。
12
4. 虚拟存储器的容量
• 1一个虚拟存储器的最大容量是由计算机 的 地 址 结 构 确 定 的 。 如 : 若 CPU 的 有 效 地址长度为32位,则程序可以寻址范围 是0~(2^32)-1 ,即虚存容量为 4GB。
9
第三,很少出现连续的过程调用,相反, 程序中过程调用的深度限制在小范围 内,一段时间内,指令引用被局限在 很少几个过程中。
第四,对于连续访问数组之类的数据结 构,往往是对存储区域中相邻位置的 数据的操作。
第五,程序中有些部分是彼此互斥的, 不是每次运行时都用到的,如出错处 理程序。
10
3.虚拟存储器的定义: 在具有层次结构存储器的计算机系统中, 具有请求调入功能和置换功能,能从逻辑 上对内存容量进行扩充的存储器系统, 为用户提供一个比物理主存容量大得多 的,可寻址的一种“主存储器”。
7
5. 局部性原理
• 程序局部性原理 在一段时间内一个程序的执行往往呈现出 高度的局部性,表现在时间与空间两方面
• 时间局部性: 一条指令被执行了,则在不久的将来它可 能再被执行
• 空间局部性: 若某一存储单元被使用,则在一定时间
内,与该存储单元相邻的单元可能被使用
8
第一,程序中只有少量分支和过程调用, 大都是顺序执行的指令。 第二,程序包含若干循环,是由相对 较少的指令组成,在循环过程中,计 算被限制在程序中很小的相邻部分中。
• 2虚拟存储器的容量与主存的实际大小没 有直接的关系,而是由主存与辅存的容量 之和所确定。
13
虚拟存储管理主要采用以下技 术实现:
•分页请求虚拟存储管理 •分段请求虚拟存储管理 •段页式请求虚拟存储管理
14
一. 请求式分页存储管理
请求式分页也称虚拟页式存储管理 与纯分页存储管理不同,请求式分
页管理系统在进程开始运行之前,不是 装入全部页面,而是装入一个或零个页 面,之后根据进程运行的需要,动态装 入其它页面;当内存空间已满,而又需 要装入新的页面时,则根据某种算法淘 汰某个页面,以便装入新的页面
页号、驻留位、内存块号、外存地址、访问位、 修改位、(存取控制、辅存地址)
• 状态位:表示该页是在内存还是在外存 • 访问位:表示该页最近被访问过,根据访问
位来决定淘汰哪页 • 修改位:查看此页是否在内存中被修改过
17
3.地址变换与缺页中断
查页表时,当存在位指示该页不在 主存时,则引起一个缺页中断发生,相应 的中断处理程序把控制转向缺页中断子程 序。执行此子程序,即把所缺页面装入主 存。然后处理机重新执行缺页时打断的指 令。这时,就将顺利形成物理地址。
15
1.需要解决的问题
系统需要解决下面三个问题: • 系统如何获知进程当前所需页面不在主存。 • 当发现缺页时,如何把所缺页面调入主存。 • 当主存中没有空闲的页框时,为了要接受
一个新页,需要把老的一页淘汰出去,根 据什么策略选择欲淘汰的页面。
16
2. 页描述子的扩充
页号 状态位 内存块号 外存地址 访问位 修改位
• 如果页面替换算法的作用范围局限于本进程, 称为局部页面替换算法,它实际上需要为每个 进程分配固定的页框。
• 置换范围 –全局 与 局部
三种组合:固定 + 局部 可变 + 全局 可变 + 局部
23
固定分配和局部替换策略配ቤተ መጻሕፍቲ ባይዱ使用
•进程分得的页框数不变,发生缺页中 断,只能从进程的页面中选页替换,保 证进程的页框总数不变。 •策略难点:应给每个进程分配多少页 框?给少了,缺页中断率高;给多了,使内 存中能同时执行的进程数减少,进而造 成处理器和其它设备空闲。
2
2. 虚拟存储器
• 具有请求调入功能和置换功能,能从逻辑 上对内存容量进行扩充的存储器系统。虚 拟存储器就是一个地址空间,且具有比实 存大得多的容量。
3
虚拟存储器(续)
• 对用户:指令地址部分所限定的比 实存大得多的地址实间。
• 对系统:借助于各种表格机构,体 现虚拟实间。
4
3. 虚拟存储
1.常规存储器的基本思路: • 1)一次性 • 2)驻留性 2.虚拟存储器的特征 • 1)虚拟性 • 2)对换性 • 3)多次性
• 系统为进程分配主存,需考虑因素: ①最小物理块数的确定 ②物理块的分配策略 ③物理块的分配算法
21
• 分配给一个进程多少页面? –固定数目分配 与 可变数目分配
–进程保持页框数固定不变,称固定 分配;进程分得的页框数可变, 称 可变分配;
22
页面替换策略:局部替换和全局替换
• 如果页面替换算法的作用范围是整个系统, 称全局页面替换算法,它可以在运行进程间动 态地分配页框。
以CPU时间和外存空间换取昂贵内存空间, 这是操作系统中的资源转换技术
5
• 作业信息不全部装入主存,能否保证作业 的正确运行?
• 回答是肯定的,1968年P.Denning研究了程 序执行时的局部性原理。
6
2.程序的局部性原理: 指程序在执行过程中的一个较短时间内, 所执行的指令地址或操作数地址分别局 限于一定的存储区域中。又可细分时间 局部性和空间局部性。
19
请求分页虚存地址转换过程(2)
逻辑地址
无登记
有登记
查快表
在辅存
在主存 查页表
形成绝对地址
发缺页中断
登记入快表
继续执行指令 硬件
保护现场 无
主存有空闲块

装入所需页面
调整页表和 主存分配表
恢复现场
重新执行 被中断指令
操作系统
未修改
选择调出页面 该页是否修改
已修改
把该页写回 辅存相应位置
20
4.6.2页面分配策略和分配算法
18
请求分页虚存地址转换过程(1)
逻辑空间地址
CPU
逻辑地址 进程切换时装入
MMU
页号 页内地址
快表
①分解 地址
②查快表
④查页表 运行进程页表基址
⑥装入快表
③命中
物理地址
主存(用户区)
运行进 程映象
辅存
主存(系统 区)运行进 程页表
④不命中
⑤页表命中
页框 页内地址
③ ⑤
访 问
⑨装入 、改表
⑧调页
⑦发缺页中断 缺页中断处理
4.5 虚拟存储器的基本概念
1
1. 概 述
问题的提出 : ➢ 程序大于内存 ➢ 程序暂时不执行或运行完是否还要占用内存
虚拟存储器的基本思想是:程序、数据、 堆栈的大小可以超过内存的大小,操作系统 把程序当前使用的部分保留在内存,而把其 它部分保存在磁盘上,并在需要时在内存和 磁盘之间动态交换
虚拟存储器支持多道程序设计技术
相关主题