当前位置:文档之家› 第九讲内存管理概述精品PPT课件

第九讲内存管理概述精品PPT课件

限长寄存器:存放长度
(或 上界寄存器/下界寄存器)
• 防止操作越权
对于允许多个进程共享的存储区域,每个进程 都有自己的访问权限。如果一个进程对共享区域的 访问违反了权限规定,则发生操作越权,即读写保 护
(4)内存扩充 通过虚拟存储技术实现
用户在编制程序时,不应该受内存容量限制,所 以要采用一定技术来“扩充”内存的容量,使用户得到 比实际内存容量大的多的内存空间
200
Load A 200 3456
1100 Load A 200
地址映射
1200
3456 。 。
• 逻辑地址(相对地址,虚地址)
用户的程序经过汇编或编译后形成目标代码, 目标代码通常采用相对地址的形式,其首地址为0, 其余指令中的地址都相对于首地址而编址 不能用逻辑地址在内存中读取信息
• 物理地址(绝对地址,实地址)
4. 存储管理的任务
(1)内存空间的管理、分配与回收 (2)存储共享 (3)存储保护 (4)内存扩充 (5)地址转换
(1)内存空间的管理、分配与回收
– 记录内存的使用情况 ——设置相应的内存分配表 (内存分配、回收的依据)
– 内存空间划分问题? 静态或动态,等长或不等长
• 记录分配状态(内存分配表)的方法 – 位示图:用一位代表一个页面(0:空闲,1:占用)
主要问题:
CPU 寄存器
Cache 主存/内存 磁盘/外存
CPU自身的运算速度很快,内 存、外存的访问速度受到限 制
操作系统协调各存储器的使用
使 CPU的运算速度 得到发挥
成本更低 容量更大
2.内存/主存
由存储单元(字节或字)组成的一维连续的地址空间
•用来存放当前正在运行程序的代码及数据 •是程序中指令本身地址所指的、亦即程序计数器所
具体实现是在硬件支持下,软硬件相互协作, 将内存和外存结合起来统一使用
(5)地址转换 (地址重定位、地址映射)
– 逻辑地址(相对地址,虚地址) – 物理地址(绝对地址,实地址) – 地址映射
源程序
逻辑地址空间
0
物理地址空间
BA=1000
Load A data1
100
编译 连接
data1 3456
0xFFF...
用户程序
位于RAM中的 操作系统
位于RAM中的 操作系统
0
用户程序 0
ROM中的 设备驱动程序
用户程序
位于RAM中的 操作系统
0
二、分区存储管理
满足多道程序运行的、最简单的存储管理方案
系统把内存用户区划分为若干分区 分区大小可以相等,也可以不等
一个进程占据一个分区 •固定分区 •可变分区
第九讲 存储(内存)
处理器: 摩尔定律:每18个月翻一番 (集成
度->速度) ?
内存: 帕金森定律:
内存有多大,程序就有多长
内容
一、概述 二、分区存储管理
一、概述
1. 存储体系 2.内存/主存 3. 存储管理的目的 4. 存储管理的任务 5. 单一用户(连续区)存储管理
方案
1. 存储体系
速度更快
Hale Waihona Puke 指的存储器(可以由处理器直接访问!)
分为系统区与用户区 • 系统区:用于存放操作系统 • 用户区:用于装入并存放用户程序和数据
3. 存储管理的目的
• 充分利用内存,为多道程序并发执行提供存储基础 • 尽可能方便用户使用
自动装入用户程序 用户程序中不必考虑硬件细节 • 系统能够解决程序空间比实际内存空间大的问题 • 程序在执行时可以动态伸缩 • 内存存取速度快 • 存储保护与安全 • 共享与通信 • 了解有关资源的使用状况 • 实现的性能和代价
一般在装入内存时由软件完成
• 动态地址转换
变换
在程序运行过程中要访问数据时再进行地址
即在逐条指令执行时完成地址映射
一般为了提高效率,此工作由硬件地址映射机制 来完成。
硬件上需要一对寄存器的支持
5. 单一用户(连续区)存储管理方案
单用户系统在一段时间内,只有一个进 程在内存,故内存分配管理十分简单,内存 利用率低。内存分为两个区域,一个供操作 系统使用,一个供用户使用
通常由硬件完成保护功能,由软件辅助实现
• 防止地址越界
每个进程都有自己独立的进程空间,如 果一个进程在运行时所产生的地址在其地址空间之 外,则发生地址越界
当程序要访问某个内存单元时,由硬件 检查是否允许,如果允许则执行,否则产生地址越 界中断,由操作系统进行相应处理
一般由硬件提供一对寄存器:
基址寄存器:存放起始地址
逻辑地址空间
0 ...
100 LOAD A 200
...
200 3456
...
300
BR 1000
VR 200 +
物理地址空间
... 0
LOAD A 200 1100
...
34......56
1200 1300
• 静态地址转换
当用户程序被装入内存时,一次性实现逻辑 地址到物理地址的转换,以后不再转换
内存中存储单元的地址,可直接寻址
• 地址转换
为了保证CPU执行指令时可正确访问存储 单元,需将用户程序中的逻辑地址转换为运行时由 机器直接寻址的物理地址,这一过程称为地址映射
原因: 当程序装入内存时, 操作系统要为该程序 分配一个合适的内存空间,由于程序的逻辑地址与 分配到内存物理地址不一致, 而CPU执行指令时, 是按物理地址进行的,所以要进行地址转换
静态方式:程序要求的内存空间在运行前确定 动态方式:程序要求的内存空间在运行前及运行
过程中确定
• 内存回收
(2)存储共享 两个或多个进程共用内存中相同区域
目的: 节省内存空间,提高内存利用率 实现进程通信(数据共享)
共享内容: 代码共享,要求代码为纯代码 数据共享
(3)存储保护
为多个程序共享内存提供保障,使在内存中 的各道程序,只能访问它自己的区域,避免各道程 序间相互干扰,特别是当一道程序发生错误时,不 致于影响其他程序的运行
1 0 …... 1 …...
第0页第1页
第i页
第n-1页
– 空闲页面表:包括首页面号和页面个数,连续若干 的页面作为一组登记在表中
– 空闲块表:空闲块首址和空闲块长度,没有记录的 区域即为进程所占用
• 程序与内存的对应关系
连续性
离散性(存放方式)
一次性
多次性(装入方式)
驻留性
交换性(退出方式)
• 内存分配
1. 固定分区
预先把可分配的内存空间分割成若干个连续 区域 每一区域称为分区
每个分区的大小可以相同也可以不同 分区大小固定不变 每个分区装一个且只能装一个作业
相关主题