虚拟内存管理

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

软 件
者一个数据
学 院
• 有成熟的地址重定向技术
张 – 允许程序在内存中的位置不连续且可以变化

整理ppt
6
操作系统的解决办法
操 作 系

北 • 不再一次把一个进程的全部信息都装入到
京 工
内存中

大 学
• 只是装入一部分
软 件
• 然后调度进程运行

院 • 其他部分等到需要时再装入
张 丽
整理ppt
7
业 大
存中
学 软
• 已经被装入到内存中

学 院
– 利用页表或者段表中的信息,把虚拟地址转 换成对应的物理地址
张 丽
• 未装入到内存
– 在内存中找一块空闲空间分配给进程
– 把要访问的内容从外存读取到内存
– 修改页表或者段表
整理ppt
13
淘汰
操 作 系


京 工
• 如果内存中没有空闲空间,或者空闲空
业 大

指令和数据都集中在一起
整理ppt
15
虚拟内存技术
操 作 系

北 • 实现的基础
京 工
– 局部性原理

大 – 地址重定向技术

软 件
• 使程序在一定程度上不再受物理内存大小
学 院
的限制
张 丽
整理ppt
16
分页技术实现的虚拟内存
操 作 系

北 • 内存分配
京 工
– 虚拟空间的管理
业 大
– 物理内存空间分成与页面大小相同页框

软 件 学 院
• 页面存在位 P {
0 页面不在内存 1 页面在内存
判断缺页中断
张 丽

页面访问位 A {
0 1
页面未被访问 页面已被访问
影响页面 置换策略
• 页面修改位 M {
0 1
页面未被修改 页面已被修改
是否重写外存
整理ppt
21
页表大小
操 作 系


京 工
• 4GB虚拟空间分成512字节大小的页,共
业 大


软 件
– 4*230/29 = 4*221 = 8M个页
学 院
• 每个页的页表项占4个字节
张 • 进程页表大小为 8M*4B= 32MB

整理ppt
22
解决办法
操 作 系

北 • 把页表看作是在虚拟空间中

工 业
• 整个页表也被分页
大 学
• 页表不全部放在内存中

件 学
• 每次系统只装载页表的一部分
整理ppt
9
虚拟内存技术的实现
操 作 系

北 • 内存分配
京 工
• 访问内存

大 学
• 淘汰




张 丽
整理ppt
10
内存分配
操 作 系

北 • 先把程序分成若干部分
京 工
• 选择把一部分装载到内存中

大 学
• 记录信息
软 件
– 哪些部分装载到内存中,哪些没有

院 – 装载到内存中的部分放在什么位置
• 软件解决方案的基础

件 学
• 操作系统的解决办法

张 丽
整理ppt
3
内存空间大小的问题
操 作 系


京 工
• 每个程序运行所需空间不能超过可用内

大存

软 件
– 程序会因不能装入内存而无法运行
学 院
• 程序的功能越来越复杂、代码越来越长
张 • 采用覆盖技术

– 限制太大
– 程序员在写程序时要考虑内存大小、考虑覆 盖
虚拟内存管理
北京工业大学软件学院 张丽
整理ppt
1
主要内容
操 作 系

北 • 虚拟内存技术的引入
京 工
• 虚拟内存技术概念

大 学
• 虚拟内存的实现

件 学
• 分页技术实现的虚拟内存

张 丽
整理ppt
2
虚拟内存技术的引入
操 作 系

北 • 内存空间大小的问题
京 工
• 内存空间问题的解决办法

大 学

11
内存分配
操 作 系

北 • 页式

工 业
– 虚拟空间仍然分成页
大 学
– 在页表中增加一个标志,表示这个页是否在
软 件
内存中
学 院
– 如果在内存中,页表中记录相应页框号
张 丽
整理ppt
12
访问内存
操 作 系


京 工
• 查找页表或者段表,判断内容是否在内
整理ppt
4
内存空间问题的解决办法
操 作 系


京 工
• 硬件:增加内存

大 学
• 软件:改变程序的要求
软 件
– 问题关键:如果程序可以不用全部放在内存
学 院
中就能够执行
张 丽
整理ppt
5
软件解决方案的基础
操 作 系


京 工
• 并不需要所有代码和数据都放到内存中

大 学
– 一个CPU在某个时刻只能访问一条语句或
间低于限定值

软 件
• 选择内存中一些正被使用的单元

院 • 把里面的内容写回到外存
张 丽
• 把这些空间释放出来
• 分配给需要的进程
整理ppt
14
淘汰
操 作 系


京 工
• 抖动

大 学
• 选择今后不会或者最近不会用到的内容
软 件
换出

院 • 局部性原理
张 – 一般情况下一个进程在一段时间内要访问的


整理ppt
8
虚拟内存技术
操 作 系

北 京
• 虚拟内存空间
工 业
– 程序员写程序时使用的地址空间
大 学
• 虚拟内存技术

件 学
– 采用虚拟空间独立编址、操作系统负责把一

个大的虚拟空间的内容分阶段装入实际内存

中运行的技术

• 程序员以为自己有一很大内存空间,且独享
• 虚拟空间受限于地址宽度
– 32位虚拟地址,虚拟空间上限4G

软 – 空闲页框管理

学 院
– 页表
张 • 内存访问
丽 – 缺页中断
• 页面淘汰
整理ppt
17
虚拟空间的管理
操 作 系

北 • 地址长度确定虚拟空间的大小

工 业
– 如32位的Linux操作系统的虚拟空间大小4G
大 学
• 分为系统空间和用户空间




张 丽
整理ppt
18

空闲页框管理
作 系

操作系统的解决办法
操 作 系

北 京
• 多大的程序都可以在有限的内存中运行
工 业
– 程序员写程序时再不用考虑内存的大小
大 学
– 程序员可以编写使用任意大内存空间的程序
软 件
• 1G的程序,编译程序编址地址空间从0到1G,
学 院
程序可在只有256M内存的计算机上运行
• 程序员感觉他有1G大的内存空间,而不是256M
北 • 链表

工 业
• 位图






张 丽
整理ppt
19
页表
操 作 系

北 京
• 创建新进程时,在内存中为进程创建一
工 业
个页表
大 学
• 为进程分配内存,填写页表相关内容




张 丽
整理ppt
20
页表表项结构
操 作 系




业大页号 页框号 存取控制 页面存在 P 页面访问 A 页面修改 M 外存地址
操 作 系

北 京 工 业 大 学 软 件 学 院
院 • 放在内存中的页表页也不再连续存放


整理ppt
23
多级页表
操 作 系


京 工
• 页目录表

大 学
– 描述哪些页表页已经在内存中、哪些还不在
软 件
– 在内存中的页表页放在什么地方


张 丽
整理ppt
24
多 级 北
京 工
页 业
大 学
表 软
件 学 院
张 丽
操 作 系 统
整理ppt
25
两级页表结构的地址转换
相关文档
最新文档