存储器的层次结构(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J1 需14KB J5 需20KB J2 需30KB
区大小 14KB
30KB 外零头(碎片) 60KB
10KB
J3 需60KB
J4 需60KB
已分配区 空闲区 256KB
132KB
72KB
存储管理:连续分配
3.多道可变分区管理(数据结构)
方案一:设置两张存储管理表
0000 20KB OS
J1 需14KB
存储分配方式
静态分配
– 采用静态重定位方式 – 装入时确定其在内存中的位置 – 运行中不能再申请内存 – 运行中不能在内存中移动
动态分配
– 采用动态重定位方式 – 装入时确定其在内存中的位置 – 运行中可申请内存 – 可在内存中移动
存储管理中的分配技术
一
连续分区管理
二
页式管理
段式管理 段页式管理
三
四
存储管理: 连续分配
一道作业的全部内容(程序和数据)装入到内存的 一个连续存储区中,作业在执行过程中不会发生 内存与外存交换的现象,作业的容量要受到物理 内存容量的限制。 属于实存管理技术 四种方案
– 单道连续区管理 – 多道固定分区管理 – 多道可变分区管理 – 多道可重定位分区管理
1000 程序A的代码
000 … 100 102 104 106 108 … … Load R1,106 Add R1,108 Store R1,110 234 128 …
OS
… Load R1,106 Add R1,108 Store R1,110 234 128 …
+
动态重定位特点
优点
– 不要求分配连续的存储空间,可按页或段分配 – 用户作业可动态申请附加的存储空间,并可在内存
J5 需20KB J2 需30KB
状态 大 位 小 置 14K 20K 已分 空表 目 60K 64K 已分 60K 124 已分 20K 34K 已分
已分分区表UBT
状态 大 位 小 置 10K 54K 空闲 空表 目 72K 184 空闲 空表 目
空闲分区表FBT
10KB
J3 需60KB
J4 需60KB
源 程 序 名空间
目标 代码 逻辑地址空间
os 目标 代码
存储空间
重定位的概念
物理内存
程序A的代码
000 … 100 102 104 106 108 … … Load R1,106 Add R1,108 Store R1,110 234 128 …
逻辑地址
0000 . 1000 … 1100 1102 1104 1106 1108 . . . .
256KB
72KB
空表
空表
存储管理:连续分配
3.多道可变分区管理(数据结构)
方案二:空闲存储区链
1 N+2 N个字(已分区) N+2 向前指针 N个字(空闲分区) 0 N+2 向后指针 0 N+2
1
Free指针
0 L+ 2 0 L+ 2
0 M+2 0 M+2
存储管理:连续分配
1.单道连续区管理
0000 20KB 用户程序 需80KB存储空间 100KB
OS
空闲区
256KB 一次只能装入一个作业
存储管理:连续分配
2.多道固定分区管理
0000 OS 0000 OS
8KB
作业1 需14KB
20KB
40KB
20KB 28KB
44KB
16KB
60KB
80KB 100KB 76KB
OS
… 1106 Load R1,106 Add R1,108 1108 1110 Store R1,110 234 128 …
举例:教学计划及其实施
重定位分类:静态重定位
物理内存 程序A的代码
000 … 100 102 104 106 108 … … Load R1,106 Add R1,108 Store R1,110 234 128 …
中移动 – 有利于程序段的共享
缺点
– 需要硬件的支持 – 实现存储管理的软件算法比较复杂
存储器管理的功能
内存的分配和回收
– 记录内存使用情况
– 存储的按需分配
– 存储的回收
内存容量的“扩充” 地址转换
– 常采用动态重定位,需要硬件支持
存储保护
– 为了保护区域内信息不被破坏,必须实现存 储保护。存储保护的工作必须由硬件和软件 配合来实现。
静态重定位特点
优点
– 无需硬件支持,OS装载时由软件实现
缺点
– 需要分配一个连续的存储空间 – 用户需要事先确定所程序所需的存储量 – 装载后不能在内存中移动
重定位分类:动态重定位
重定位寄存器 (位于CPU中)
物理内存
0000 . 1000 . . 1100 1102 1104 1106 1108 . . . .
加载时定位
… Load R1,1106 Add R1,1108 Store R1,1110 234 128 …
0000 . 1000 . . 1100 1102 1104 1106 1108 . . . .
OS
… Load R1,1106 Add R1,1108 Store R1,1110 234 128 …
32KB
作业2 需60KB
64KB
140KB
120KB ... .... 256KB 分区大小相等 256KB 分区大小不等
116KB
存储管理:连续分配
2.多道固定分区管理(续)
•需建立固定分区说明 表 •内零头(碎片)问题 作业J1 14KB 作业J2 60KB
分区号 1 2 3 4 5 起始地址 20KB 28KB 44KB 76KB 140KB 长度 8KB 16KB 32KB 64KB 116KB 状态 0 0 1 0 0 1 0 作业名
0000
OS
8KB
作业J1 需14KB
20KB 28KB
44KB
16KB
32KB
76KB
作业J2 需60KB
64KB
140KB
ห้องสมุดไป่ตู้J1
116KB
J2 256KB 物理内存
存储管理:连续分配
3.多道可变分区管理(概念)
内存地址 0000 OS
20KB
J1 14KB J2 30KB J3 60KB J4 60KB J5 20KB
存储器的层次结构
CPU Cache
512KB~8MB 400GB/S
RAM
1~8GB 12GB/S
500GB 200MB/S
DISK
重定位及其方式
1 逻辑地址(空间相对地址)
– 符号名字空间 int a,b; a=10; – 逻辑地址空间(编译后目标程序的地址范围)
2 存储空间(绝对地址)
– 存储空间:所有物理存储单元的集合/物理地址的集合
区大小 14KB
30KB 外零头(碎片) 60KB
10KB
J3 需60KB
J4 需60KB
已分配区 空闲区 256KB
132KB
72KB
存储管理:连续分配
3.多道可变分区管理(数据结构)
方案一:设置两张存储管理表
0000 20KB OS
J1 需14KB
存储分配方式
静态分配
– 采用静态重定位方式 – 装入时确定其在内存中的位置 – 运行中不能再申请内存 – 运行中不能在内存中移动
动态分配
– 采用动态重定位方式 – 装入时确定其在内存中的位置 – 运行中可申请内存 – 可在内存中移动
存储管理中的分配技术
一
连续分区管理
二
页式管理
段式管理 段页式管理
三
四
存储管理: 连续分配
一道作业的全部内容(程序和数据)装入到内存的 一个连续存储区中,作业在执行过程中不会发生 内存与外存交换的现象,作业的容量要受到物理 内存容量的限制。 属于实存管理技术 四种方案
– 单道连续区管理 – 多道固定分区管理 – 多道可变分区管理 – 多道可重定位分区管理
1000 程序A的代码
000 … 100 102 104 106 108 … … Load R1,106 Add R1,108 Store R1,110 234 128 …
OS
… Load R1,106 Add R1,108 Store R1,110 234 128 …
+
动态重定位特点
优点
– 不要求分配连续的存储空间,可按页或段分配 – 用户作业可动态申请附加的存储空间,并可在内存
J5 需20KB J2 需30KB
状态 大 位 小 置 14K 20K 已分 空表 目 60K 64K 已分 60K 124 已分 20K 34K 已分
已分分区表UBT
状态 大 位 小 置 10K 54K 空闲 空表 目 72K 184 空闲 空表 目
空闲分区表FBT
10KB
J3 需60KB
J4 需60KB
源 程 序 名空间
目标 代码 逻辑地址空间
os 目标 代码
存储空间
重定位的概念
物理内存
程序A的代码
000 … 100 102 104 106 108 … … Load R1,106 Add R1,108 Store R1,110 234 128 …
逻辑地址
0000 . 1000 … 1100 1102 1104 1106 1108 . . . .
256KB
72KB
空表
空表
存储管理:连续分配
3.多道可变分区管理(数据结构)
方案二:空闲存储区链
1 N+2 N个字(已分区) N+2 向前指针 N个字(空闲分区) 0 N+2 向后指针 0 N+2
1
Free指针
0 L+ 2 0 L+ 2
0 M+2 0 M+2
存储管理:连续分配
1.单道连续区管理
0000 20KB 用户程序 需80KB存储空间 100KB
OS
空闲区
256KB 一次只能装入一个作业
存储管理:连续分配
2.多道固定分区管理
0000 OS 0000 OS
8KB
作业1 需14KB
20KB
40KB
20KB 28KB
44KB
16KB
60KB
80KB 100KB 76KB
OS
… 1106 Load R1,106 Add R1,108 1108 1110 Store R1,110 234 128 …
举例:教学计划及其实施
重定位分类:静态重定位
物理内存 程序A的代码
000 … 100 102 104 106 108 … … Load R1,106 Add R1,108 Store R1,110 234 128 …
中移动 – 有利于程序段的共享
缺点
– 需要硬件的支持 – 实现存储管理的软件算法比较复杂
存储器管理的功能
内存的分配和回收
– 记录内存使用情况
– 存储的按需分配
– 存储的回收
内存容量的“扩充” 地址转换
– 常采用动态重定位,需要硬件支持
存储保护
– 为了保护区域内信息不被破坏,必须实现存 储保护。存储保护的工作必须由硬件和软件 配合来实现。
静态重定位特点
优点
– 无需硬件支持,OS装载时由软件实现
缺点
– 需要分配一个连续的存储空间 – 用户需要事先确定所程序所需的存储量 – 装载后不能在内存中移动
重定位分类:动态重定位
重定位寄存器 (位于CPU中)
物理内存
0000 . 1000 . . 1100 1102 1104 1106 1108 . . . .
加载时定位
… Load R1,1106 Add R1,1108 Store R1,1110 234 128 …
0000 . 1000 . . 1100 1102 1104 1106 1108 . . . .
OS
… Load R1,1106 Add R1,1108 Store R1,1110 234 128 …
32KB
作业2 需60KB
64KB
140KB
120KB ... .... 256KB 分区大小相等 256KB 分区大小不等
116KB
存储管理:连续分配
2.多道固定分区管理(续)
•需建立固定分区说明 表 •内零头(碎片)问题 作业J1 14KB 作业J2 60KB
分区号 1 2 3 4 5 起始地址 20KB 28KB 44KB 76KB 140KB 长度 8KB 16KB 32KB 64KB 116KB 状态 0 0 1 0 0 1 0 作业名
0000
OS
8KB
作业J1 需14KB
20KB 28KB
44KB
16KB
32KB
76KB
作业J2 需60KB
64KB
140KB
ห้องสมุดไป่ตู้J1
116KB
J2 256KB 物理内存
存储管理:连续分配
3.多道可变分区管理(概念)
内存地址 0000 OS
20KB
J1 14KB J2 30KB J3 60KB J4 60KB J5 20KB
存储器的层次结构
CPU Cache
512KB~8MB 400GB/S
RAM
1~8GB 12GB/S
500GB 200MB/S
DISK
重定位及其方式
1 逻辑地址(空间相对地址)
– 符号名字空间 int a,b; a=10; – 逻辑地址空间(编译后目标程序的地址范围)
2 存储空间(绝对地址)
– 存储空间:所有物理存储单元的集合/物理地址的集合