Upload
herrod-carrillo
View
79
Download
3
Embed Size (px)
DESCRIPTION
第 3 章 存储管理. 1 、了解存储管理的目的和功能;了解虚拟存储器、地址重定位等概念; 2 、分区存储管理:了解分区存储的各种方式(固定、可变、浮动、多重分区);存储 “ 扩充 ” 技术:覆盖与交换; 3 、页式存储管理:掌握分页管理的原理,利用 PMT 实现地址变换;掌握请求式分页机制、页面淘汰算法; 4 、了解段式存储管理的特点;了解段页式存储管理的优点。. 第 3 章 存储管理. 3.1 存储管理的功能 3.1.1 分级存储结构 高速缓存 ( 一级缓存 二级缓存 cache) ^ || Bus V 主存 RAM ROM ^ - PowerPoint PPT Presentation
Citation preview
第 3 章 存储管理1 、了解存储管理的目的和功能;了解虚拟存储器、
地址重定位等概念;2 、分区存储管理:了解分区存储的各种方式(固定、
可变、浮动、多重分区);存储“扩充”技术:覆盖与交换;
3 、页式存储管理:掌握分页管理的原理,利用 PMT实现地址变换;掌握请求式分页机制、页面淘汰算法;
4 、了解段式存储管理的特点;了解段页式存储管理的优点。
2
第 3 章 存储管理3.1 存储管理的功能3.1.1 分级存储结构
高速缓存 ( 一级缓存 二级缓存 cache) ^ || Bus V
主存 RAM ROM ^ || Bus V
外存 光磁盘等
}CPU 直接访问
3.1.2 存储管理的功能1. 存储分配与管理
多进程 , 包括 OS, 动态2. 地址重定位
静态 , 动态 逻辑地址物理地址3. 存储保护
互不干预 软硬结合 , 空指针4. 存储扩充
硬盘内存 时间换取空间内存有限 , 小内存运行多作业 , 大作业
2 动态 ( 可变 ) 分区a. 利用表格记录已分配区和空闲分区
查空闲分区表 -> 分配内存 -> 运行 -> 结束 -> 释放内存 , 放入空闲分区表 , 相邻空闲分区合并
b. 空闲分区分配算法i) 最佳适应算法
空闲分区从小到大排序 , 保留大空闲区ii) 最差适应算法
分割最大空闲区 , 比较一次 , 剩余空间任可运行作业iii) 首次适应算法
地址由低到高找 , 保留高地址空间 三种算法都会产生不能运行任何程序的小空闲区 , 不连续 ,
即碎片 fragmentation ,外碎片。 最小粒度 G :内存分配单位
14
3.4 覆盖和交换
3.4.1 覆盖 Overlay 小内存运行大作业将作业分成模块 ( 程序段 ), 按功能引用关
系形成一种树型结构 , 同层为覆盖段 .同层取最大设置分区大小
DOS COMMAND.COM 即采用了覆盖技术低端常驻 , 高端暂驻 , 可覆盖
3.4.2 交换 swapping 不运行的作业 ( 如时间片用完或其他原因 ), 映象调至硬盘的交换文件区 , 文件 , 让出内存供其他作业使用 .
当 OS再次调度该进程运行时 , 再从交换区调入内存 , 换进换出 (Roll-in, Roll-out)
现代 OS Win9x - win386.swp WinNT, 2k, XP - pagefile.sys UNIX - 交换区 DOS + BC.EXE - TC0001.SWP
信息交换量大 , 开销大
19
3.5 分页存储管理请求式页面存储管理1 原理
a 分配方式内存分块 , 作业分页 , 块页大小相同
b 建立页面映象表 (PMT)页号 块号 状态页是否在内存及在哪一块
c 地址转换虚地址重定位 ( 动态 ), 可不连续页号和偏移量 块号和偏移量缺页处理
21
具有快表( TLB )的地址变换机构
页表寄存器
页表始址 页表长度 > 页号 页 ÄÚµØÖ·
+
L逻辑地址
越界中断
块号
b
页表
页号 页号
输入寄存器
块号
b
b
快表
d
物理地址
23
2 页面淘汰算法内存有限 , 存放作业的活动页 .当发生一条不在活动页的指令时 , 则需硬
件机构及服务程序实现物理页的调入调出操作 .
无空闲块时 , 淘汰某页 , 采用算法 .算法不合理时 , 某些页会在内外存间频繁调入调出 , 即抖动 (Thrashing).
进程越多 , 抖动越严重
a. 最佳淘汰算法永远不再使用的页 实现困难
b. 先进先出 FIFO 算法顺序访问地址效率高 , 若有循环效率低
c. 最近最少使用 LRU(Least Recently Used)
程序局部性原理d. 最少使用 LFU(Least Frequently Used)
假定系统为某进程分配了三个物理块, 并考虑有以下的页面号引用串:
7 , 0 , 1 , 2 , 0 , 3 , 0 , 4 , 2 , 3 , 0 , 3 , 2 , 1 , 2 , 0 , 1 ,7, 0, 1
进程运行时, 先将 7 , 0 , 1 三个页面装入内存。 以后, 当进程要访问页面 2 时, 将会产生缺页中断。此时 OS根据最佳置换算法, 将选择页面 7予以淘汰。 引用率7 0
7 7
0
1
7
0
1
2
2
0
1
0 3
2
0
3
0 4
2
4
3
2 3 0 3 2 1
2
0
1
2 0 1 7
7
0
1
0 1
页框(物理块)
2
0
3
利用最佳页面置换算法时的置换图
引用率7 0
7 7
0
1
7
0
1
2
2
0
1
0 3
2
3
1
0 4
4
3
0
2 3 0 3 2 1
0
1
3
2 0 1 7
7
0
2
0 1
页框
2
3
0
4
2
0
4
2
3
0
2
3
0
1
2
7
1
2
7
0
1
1
利用 FIFO 置换算法时的置换图引用率7 0
7 7
0
1
7
0
1
2
2
0
1
0 3
2
0
3
0 4
4
0
3
2 3 0 3 2 1
1
3
2
2 0 1 7
1
0
7
0 1
页框
4
0
2
4
3
2
0
3
2
1
0
2
最近最久未使用 LRU(Least Recently Used) 置换算法
27
3.6 分段存储管理1 原理a. 分配方式 : 作业按模块分段 , 段长不同
代码段 , 数据段 , 堆栈段按段分配内存 , 段间可不连续
b. 建立段表 段号 , 段长 , 基址 , 状态 , 权限等
c. 地址转换作业段号 s, 偏移 d 物理地址
硬件支持
2 共享和保护a. 段表限制 , 越界保护 长度b. 访问权限控制 共享c. 特权级 root 用户任务权力大 , 可访问低权力段 , 缓冲区溢出攻击
3 优点 : 长度可变 , 便于共享 , 虚拟内存缺点 : 碎片 , 段长度受内存大小限制 , 缺段处理