26
页页页页页页页页页 第第第 第第第第第 4.1 第第第第第第第第 4.2 第第第第第第 4.3 第第第第第第第第第第 4.4 第第第第第第第第第第 4.5 第第第第第第第第第第 4.6 第第第第第第第第第第 4.7 第第第第第第 4.8 第第第第第第第第第第

第四章 存储器管理

  • 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

Page 1: 第四章  存储器管理

页面置换与请求分段第四章 存储器管理

4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页存储管理方式 4.7 页面置换算法 4.8 请求分段存储管理方式

Page 2: 第四章  存储器管理

页面置换与请求分段上节回顾1. 页面置换算法

最佳置换 先进先出 LRU :

每个块增加一个计数器 被访问则清 0 ,未访问则加 1

COLCK : 使用访问位和修改位进行搜索 0001 00 01

Page 3: 第四章  存储器管理

页面置换与请求分段

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

Page 4: 第四章  存储器管理

页面置换与请求分段

1 、从当前指针位置开始扫描循环队列,寻找 00 页面,不改变访问位 A 。

2 、第一步失败,寻找 01 页面,将所遇到的第一个这类页面作为淘汰页。

将所有扫描过的页面的访问位 A 都置 0 。3 、第二步也失败,重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页。

改进型 Clock 置换算法

Page 5: 第四章  存储器管理

页面置换与请求分段

Page 6: 第四章  存储器管理

页面置换与请求分段

1. LRU 置换算法优缺点优点:性能较好缺点:需要较多硬件支持特点: “向前看”,看过去的使用情况

Page 7: 第四章  存储器管理

页面置换与请求分段

2. LRU 置换算法的硬件支持

LRU 算法需要的元素1 、进程各个页面有多久未被访问2 、如何快速找到最近最久未使用的页面

Page 8: 第四章  存储器管理

页面置换与请求分段

1) 移位寄存器

1 、使用移位寄存器记录某进程在内存中每页的使用情况2 、数据格式: R=Rn-1Rn-2Rn-3 … R2R1R0 3 、页面被访问一次,最高位 Rn-1 置 1 ,每隔一定时间,寄存器右移一位4 、 R 值最小的页面是被置换页面

Page 9: 第四章  存储器管理

页面置换与请求分段

某进程具有 8 个页面时的 LRU 访问情况

Page 10: 第四章  存储器管理

页面置换与请求分段

2) 栈

1 、采用特殊的栈来保存当前使用的各个页面号2 、栈顶保留的是最新被访问的页3 、栈底保留的是最久未被访问的页,即置换目标

Page 11: 第四章  存储器管理

页面置换与请求分段

4

4

74

7

074

0

704

7

1704

1

0174

0

1074

121074

212074

121074

262107

6

Page 12: 第四章  存储器管理

页面置换与请求分段

4.7.4 其它置换算法 1. 最少使用 (LFU : Least Frequently Used) 置换算法

对每个页面设置一个字段(移位寄存器),用来记录页面被访问的频率若用移位寄存器实现算法, LFU 与 LRU 的访问图是完全相同的。

Page 13: 第四章  存储器管理

页面置换与请求分段

2. 页面缓冲算法 (PBA : Page Buffering Algorithm)采用可变分配和局部置换方式当一个进程换进换出频率很低时,选择页面淘汰,以备其他进程使用空闲链表:淘汰页面未发生修改,放入本链表末尾修改链表:淘汰页面已发生修改,放入本链表末尾,批量写回

Page 14: 第四章  存储器管理

页面置换与请求分段

4.8 请求分段存储管理方式 4.8.1 请求分段中的硬件支持

1. 段表机制

段名 段名 段长 段长 段的段的基址 基址 存取存取方式 方式 访问访问字段字段 A A 修改修改位位 M M 存在存在位位 P P 增补增补位 位 外存外存始址 始址

Page 15: 第四章  存储器管理

页面置换与请求分段

Page 16: 第四章  存储器管理

页面置换与请求分段2. 缺段中断机构

Page 17: 第四章  存储器管理

页面置换与请求分段2. 缺段中断机构

虚段 S不在内存

阻塞请求进程

内存中有合适的空闲区吗?

从外存读入段 S

修改段表及内存空区链

唤醒请求进程

返回

空区容量总和能否满足?

空区拼接,以形成一个合适的空区

淘汰一个或几个实段,以形成一个合适空区

图 4-31 请求分段系统中的中断处理过程

Page 18: 第四章  存储器管理

页面置换与请求分段3. 地址变换机构

访问 [s][w]

w¡Ü ?段长

?符合存取方式

段 S ?在主存

,修改访问字段如写,访问置修改位 £½1

形成访问主存地址(A)£½ (主存始址 )

£«(位移量 w)

返回

分段越界中断处理

分段保护中断处理

缺段中断处理

图 4-32 请求分段系统的地址变换过

Page 19: 第四章  存储器管理

页面置换与请求分段

4.8.2 分段的共享与保护 1. 共享段表

共享段表计数 count :记录共享进程数,影响段回收操作存取控制字段:记录访问权限,文件主、其他进程段号:不同进程可以使用不同段号共享同一段

Page 20: 第四章  存储器管理

页面置换与请求分段

1. 共享段表

图 4-33 共享段表项

段名 段长 内存始址 状态 外存始址

共享进程计数 count

状态 进程名 进程号 段号 存取控制

… … … … …

共享段表

Page 21: 第四章  存储器管理

页面置换与请求分段2. 共享段的分配与回收

1) 共享段的分配

在为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填写有关数据,把 count 置为 1 ; 之后,当又有其它进程需要调用该共享段时,由于该共享段已被调入内存,故此时无须再为该段分配内存,而只需在调用进程的段表中,增加一表项,填写该共享段的物理地址;在共享段的段表中,填上调用进程的进程名、存取控制等,再执行 count =count+1∶ 操作,以表明有两个进程共享该段。

Page 22: 第四章  存储器管理

页面置换与请求分段

2) 共享段的回收

当共享此段的某进程不再需要该段时,应将该段释放, 包括撤在该进程段表中共享段所对应的表项,以及执行 c

ount = count-1∶ 操作。若结果为 0 ,则须由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项, 表明此时已没有进程使用该段;否则 (减 1结果不为0) , 则只是取消调用者进程在共享段表中的有关记录。

Page 23: 第四章  存储器管理

页面置换与请求分段

Page 24: 第四章  存储器管理

页面置换与请求分段3. 分段保护 1) 越界检查 2) 存取控制检查

(1) 只读 (2) 只执行 (3) 读 / 写

3) 环保护机构 (1) 一个程序可以访问驻留在相同环或较低特权环中的数据。 (2) 一个程序可以调用驻留在相同环或较高特权环中的服务。

Page 25: 第四章  存储器管理

页面置换与请求分段

调用 返回

调用

返回

环 0

环 1

环 2

(a ) 程序间的控制传输

数据访问

环 0

环 1

环 2

(b ) 数据访问

数据访问

Page 26: 第四章  存储器管理

页面置换与请求分段习题