分页与分段存储管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1) 2) 信息共享 3) 信息保护 4) 5) 动态链接
4.4.2 分段系统的基本原理
1. 分段
作业 空间 (MA IN)= 0 0
30 K (X)= 1 0
20 K (D)= 2
0
15 K (S)= 3 0
段表 段号 段长 基址
0 30K 40K 1 20K 80K 2 15K 120K 3 10K 150K
3. 页表
… …

用户 程序 0页 1页 2页 3页 4页 5页
n页
页表 页号 块号
02 13 26 38 49 5
图 4-11 页表的作用
内存
0 1 2 3 4 5 6 7 8 9 10
4.3.2 地址变换机构
1. 基本的地址变换机构
1. 基本的地址变换机构
1. 基本的地址变换机构
2.
2.
40 240
160 80 40 380

80 edi to r
24 0 data 1
28 0 38 0 data 2 42 0
图 4-19 分段系统中共享editor的示意图
4.4.4 段页式存储管理方式
1. 基本原理
主 程序 段 0
4K
8K
12 K 15 K 16 K
子 程序 段 0
数 据段 0




页表 21 22
60 61
70
页表 21 22
60 71
80
主存 0

ed 1
21
ed 2
22

ed 40
60
data 1
61

data 10 70
data 1
71

data 10 80
进程1 edi to r data 1
进程2 edi to r data 2
段表 段长 基址 160 80
10 K
内存 空间 0
(MA IN)= 0 40 K 30 K
(X)= 1 80 K 20 K
(D)= 2 15 K
12 0K
(S)= 3 10 K
15 0K




进程1 ed 1 ed 2
ed 40 data 1
data 10
进程2 ed 1 ed 2
ed 40 data 1
data 10
由于进程的最后一页经常装不满一块而形成了不可利用的碎片, 称之为“页内碎片”。
2. 地址结构 分页地址中的地址结构如下:
31
12 11
0
页号P
位移量W
对某特定机器,其地址结构是一定的。若给定一个逻
辑地址空间中的地址为A,页面的大小为L,则页号P和页
内地址d可按下式求得:
P
INT
A L
d [ A]MODL
对于64位的计算机,如果要求它能支持264(=1844744 TB)规模的物理存储空间,则即使是采用三级页表结构也是 难以办到的;而在当前的实际应用中也无此必要。
练习:
有一基本分页存储管理系统,假定页面大小为1024字节,页 表采用离散方式放在内存中。每个页表项占用4个字节。在 忽略页表及系统区等占用空间的条件下,
可以采用这样两个方法来解决这一问题:① 采用离散分配方 式来解决难以找到一块连续的大内存空间的问题:② 只将当 前需要的部分页表项调入内存, 其余的页表项仍驻留在磁盘 上,需要时再调入。
1. 两级页表(Two-Level Page Table) 逻辑地址结构可描述如下:
逻辑 地址
外部页号 外部页内地址 页内地址
页表 寄存器 页表始址 页表长度
+ 页号
块号
b
页表

越界 中断
逻辑 地址L
页号
页内 地 址
页号 块号


b



快表
图 4-13 具有快表的地址变换机构
bd 物理 地址
2.
2.
4.3.3 两级和多级页表
现代的大多数计算机系统,都支持非常大的逻辑地址空 间(232~264)。在这样的环境下,页表就变得非常大,要占用相 当大的内存空间。例如32位地址空间,页面大小为4KB的分 页系统,每个进程页表中的页表项可达1兆个之多。若每个页 表项占用4个字节, 每个进程页表要占用4MB内存,而且要 求是连续的。
P1
P2wk.baidu.com
d
外部 页表寄存 器
… …


外部 页表
页表
b
d
物理 地址
图 4-15 具有两级页表的地址变换机构
0 1011 1 1078 2
第0页页 表
0
1
1
4
2
6


n 1742 外部 页表
10 23
第1页页 表
0
11 4
1
11 5

10 23
第n 页页 表 0 1468 1 2

图 4-14 两级页表结构 1023
➢若采用一级页表,系统能支持的逻辑空间最多为多少?
➢若采用二级页表,系统能支持的逻辑空间最多为多少?
➢在二级页表中,现有逻辑地址为542783,求该地址对应的 外层页号,外层页内地址和页内地址?
4.4 基本分段存储管理方式
4.4.1 分段存储管理方式的引入
引入分段存储管理方式, 主要是为了满足用户和程序员
4K
4K
8K
8K
10 K
12 K
(a)
段 号 (S) 段 内 页 号 (P ) 段 内 地 址 (W)
(b)
图 4-20 作业地址空间和地址结构
段表 寄存器 段表大小 段表始址
段号 状态
01 11 21 30 41
页表 大小
页表 始址
段表
页号 状态
01 11 21 30 41
存储 块#
页表
图 4-21 利用段表和页表实现地址映射
上节回顾
1. 四种内存连续分配方式: 单一连续分配: 固定分区分配: 动态分区分配:FF、CF、BF分配算法 动态重定位分区分配:重定位寄存器
2. 基本分页 页与物理块 地址结构
4.3 基本分页存储管理方式
分页存储管理,是将一个进程的逻辑地址空间分成若干个大小 相等的片,称为页面或页,并为各页加以编号,从0开始,如 第0页、第1页等。 相应地,也把内存空间分成与页面相同大小的若干个存储块, 称为(物理)块或页框(frame), 也同样为它们加以编号,如0#块、 1#块等等。在为进程分配内存时,以块为单位将进程中的若 干个页分别装入到多个可以不相邻接的物理块中。


0 1 2 3 4 5 6 7
11 4 11 5
14 68
内存 空间
2. 多级页表
对于32位的机器,采用两级页表结构是合适的;但对于 64位的机器,如果页面大小仍采用4 KB即212 B,那么还剩 下52位,假定仍按物理块的大小(212位)来划分页表,则将余 下的40位用于外层页号。此时在外层页表中可能有1T个页 表项,可能要占用8TB的连续内存空间。 必须采用多级页 表,将外层页表再进行分页,也是将各分页离散地装入到 不相邻接的物理块中,再利用第2级的外层页表来映射它们 之间的关系。
相关文档
最新文档