4.4分段存储管理方式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(b)进程段表
0
20K 0段(10K)
30K
1段(5K)
35K 40K
2段(6K)
48K 54K
62K 3段(4K) 66K
(c)内存空间
图4-15 段与段表
• 地址映射与越界保护
段式地址步骤 逻辑地址[S, d]; 用S检索段表; 检查d是否越界; A'=B+d
图4-16 分段存储管理的地址映射机构
段共享与保护
• 一些代码段或者数据段可以被不同进程共享 使用
• 在系统中配置一张共享段表,每个共享段在 共享段表中占一个表项
假如一个作业的段表如下所示,其中存取控制字段 中W表示可写,R表示可读,E表示可执行。分别说明 下面指令执行时,地址转换的情况。
(1)STORE R1,[0,70] ; (2)STORE R1[1,20]
图4-14 段式逻辑地址结构图
• 段表
– 一张映射表,每个段一个表项
– 三部分构成表项
• 段号 • 段长 • 段基址
0
10K-1 Main段(0段) 0
5K-1 P段(1段)
0
6K-1 D段(2段)
0 4K-1 S段(3段)
(a)作业地址空间
段号 段长 基址 0 10K 20K 1 5K 35K 2 6K 48K 3 4K 62K
(3)LOAD R1,[3,100]; (4)JMP [2,100]
段号 内存始址 段长 存取控制
来自百度文库
0
500
100
RW
1
1000
30
R
2
3000
200
E
3
8000
80
R
4
5000
40
R
(1)STORE R1, [0,70] : =500+70=570;
(2)STORE R1, [1,20] :存取控制不符合,硬件 将产生保护性中断信号。
(3)LOAD R1, [3,100] :段内地址超过了段长, 将产生越界中断信号。
(4)JMP [2,100] : =3000+100=3100
4.4 段式存储管理
段式存储管理
• 什么是段segment
分段是程序中自然划分的一组逻辑意义完整的信息集合。 分段的例:代码分段、数据分段、堆栈分段。
• 程序地址空间
由若干个逻辑分段组成,每个分段有自己的名字,对于一个 分段而 言,它是一个连续的地址区。
• 段式逻辑地址结构
– 程序地址构成(S, d) – S –– 段号 – d –– 段内地址
相关文档
最新文档