Upload
aran
View
147
Download
5
Embed Size (px)
DESCRIPTION
第四章 存储器管理. 4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页存储管理方式 4.7 页面置换算法 4.8 请求分段存储管理方式. 上节回顾. 页面置换算法 最佳置换 先进先出 LRU : 每个块增加一个计数器 被访问则清 0 ,未访问则加 1 COLCK : 使用访问位和修改位进行搜索 00 01 00 01. LRU(Least Recently Used) 置换算法. - PowerPoint PPT Presentation
Citation preview
页面置换与请求分段第四章 存储器管理
4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页存储管理方式 4.7 页面置换算法 4.8 请求分段存储管理方式
页面置换与请求分段上节回顾1. 页面置换算法
最佳置换 先进先出 LRU :
每个块增加一个计数器 被访问则清 0 ,未访问则加 1
COLCK : 使用访问位和修改位进行搜索 0001 00 01
页面置换与请求分段
LRU(Least Recently Used) 置换算法
引用率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
页面置换与请求分段
1 、从当前指针位置开始扫描循环队列,寻找 00 页面,不改变访问位 A 。
2 、第一步失败,寻找 01 页面,将所遇到的第一个这类页面作为淘汰页。
将所有扫描过的页面的访问位 A 都置 0 。3 、第二步也失败,重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页。
改进型 Clock 置换算法
页面置换与请求分段
页面置换与请求分段
1. LRU 置换算法优缺点优点:性能较好缺点:需要较多硬件支持特点: “向前看”,看过去的使用情况
页面置换与请求分段
2. LRU 置换算法的硬件支持
LRU 算法需要的元素1 、进程各个页面有多久未被访问2 、如何快速找到最近最久未使用的页面
页面置换与请求分段
1) 移位寄存器
1 、使用移位寄存器记录某进程在内存中每页的使用情况2 、数据格式: R=Rn-1Rn-2Rn-3 … R2R1R0 3 、页面被访问一次,最高位 Rn-1 置 1 ,每隔一定时间,寄存器右移一位4 、 R 值最小的页面是被置换页面
页面置换与请求分段
某进程具有 8 个页面时的 LRU 访问情况
页面置换与请求分段
2) 栈
1 、采用特殊的栈来保存当前使用的各个页面号2 、栈顶保留的是最新被访问的页3 、栈底保留的是最久未被访问的页,即置换目标
页面置换与请求分段
4
4
74
7
074
0
704
7
1704
1
0174
0
1074
121074
212074
121074
262107
6
页面置换与请求分段
4.7.4 其它置换算法 1. 最少使用 (LFU : Least Frequently Used) 置换算法
对每个页面设置一个字段(移位寄存器),用来记录页面被访问的频率若用移位寄存器实现算法, LFU 与 LRU 的访问图是完全相同的。
页面置换与请求分段
2. 页面缓冲算法 (PBA : Page Buffering Algorithm)采用可变分配和局部置换方式当一个进程换进换出频率很低时,选择页面淘汰,以备其他进程使用空闲链表:淘汰页面未发生修改,放入本链表末尾修改链表:淘汰页面已发生修改,放入本链表末尾,批量写回
页面置换与请求分段
4.8 请求分段存储管理方式 4.8.1 请求分段中的硬件支持
1. 段表机制
段名 段名 段长 段长 段的段的基址 基址 存取存取方式 方式 访问访问字段字段 A A 修改修改位位 M M 存在存在位位 P P 增补增补位 位 外存外存始址 始址
页面置换与请求分段
页面置换与请求分段2. 缺段中断机构
页面置换与请求分段2. 缺段中断机构
虚段 S不在内存
阻塞请求进程
内存中有合适的空闲区吗?
从外存读入段 S
修改段表及内存空区链
唤醒请求进程
返回
空区容量总和能否满足?
空区拼接,以形成一个合适的空区
淘汰一个或几个实段,以形成一个合适空区
否
否
是
是
图 4-31 请求分段系统中的中断处理过程
页面置换与请求分段3. 地址变换机构
访问 [s][w]
w¡Ü ?段长
?符合存取方式
段 S ?在主存
,修改访问字段如写,访问置修改位 £½1
形成访问主存地址(A)£½ (主存始址 )
£«(位移量 w)
返回
分段越界中断处理
分段保护中断处理
缺段中断处理
是
是
是
否
否
否
图 4-32 请求分段系统的地址变换过
程
页面置换与请求分段
4.8.2 分段的共享与保护 1. 共享段表
共享段表计数 count :记录共享进程数,影响段回收操作存取控制字段:记录访问权限,文件主、其他进程段号:不同进程可以使用不同段号共享同一段
页面置换与请求分段
1. 共享段表
图 4-33 共享段表项
段名 段长 内存始址 状态 外存始址
共享进程计数 count
状态 进程名 进程号 段号 存取控制
… … … … …
…
共享段表
页面置换与请求分段2. 共享段的分配与回收
1) 共享段的分配
在为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填写有关数据,把 count 置为 1 ; 之后,当又有其它进程需要调用该共享段时,由于该共享段已被调入内存,故此时无须再为该段分配内存,而只需在调用进程的段表中,增加一表项,填写该共享段的物理地址;在共享段的段表中,填上调用进程的进程名、存取控制等,再执行 count =count+1∶ 操作,以表明有两个进程共享该段。
页面置换与请求分段
2) 共享段的回收
当共享此段的某进程不再需要该段时,应将该段释放, 包括撤在该进程段表中共享段所对应的表项,以及执行 c
ount = count-1∶ 操作。若结果为 0 ,则须由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项, 表明此时已没有进程使用该段;否则 (减 1结果不为0) , 则只是取消调用者进程在共享段表中的有关记录。
页面置换与请求分段
页面置换与请求分段3. 分段保护 1) 越界检查 2) 存取控制检查
(1) 只读 (2) 只执行 (3) 读 / 写
3) 环保护机构 (1) 一个程序可以访问驻留在相同环或较低特权环中的数据。 (2) 一个程序可以调用驻留在相同环或较高特权环中的服务。
页面置换与请求分段
调用 返回
调用
返回
环 0
环 1
环 2
(a ) 程序间的控制传输
数据访问
环 0
环 1
环 2
(b ) 数据访问
数据访问
页面置换与请求分段习题