当前位置:文档之家› 缺页中断处理过程

缺页中断处理过程


区域,也不知道自己的程序将会被放在内存的什么地方。
. 用户程序的
程序通过链接编辑,产生出相对于“0”计算的地址
逻辑地址空间 0
a 用户
空间,这个地址空间称为是用户程序的“相对地址空
程序的
间”,或“逻辑地址空间”,其地址称为“相对地址”
物理 地址空间
或“逻辑地址”。系统所接受的,就是这种相对于“0”
.编址的这用样户的程程序序。是不可能直接投入运行的,因为程序中 k
LOGO 5
第三章 存储管理 3.1 存储管理综述
正文
主存块号 主存储器
0
0
::
字块0
1
1
::
字块1
标记
Cache
:: ::
字块0 字块1
2
::
字块2
:: ~~ :: ~~
2m-1
::
字块M-1
~~ :: ~~
2c-1
::
字块C-1
M= 2m C = 2c
(1)CACAHE命中:CPU访问的数据或指令已存在于CACHE中。
LOGO 8
第三章 存储管理 3.1 存储管理综述
正文
▪地址定位
就是将进程的逻辑地址变换为内存中的物理地址。 我们需要实现从逻辑地址到物理地址的变换,即实现 从虚地址到实地址的变换。
▪内存扩充 内存“扩充”包含了存储器利用的提高和扩充两方
面的内容。为用户提供比内存物理空间大得多的地址 空间。比较 3.1 存储管理综述
正文
▪内存的保护和共享 内存保护:就是确保多个进程都在各自分配到内 存区域内操作,互不干扰,防止一个进程破坏其他进 程的信息。
内存共享:内存允许同时有多个程序在运行-多 个进程,它们可能调用相同程序段或使用同一数据体, 从而节省内存空间,减少内外存的数据交换,提高系 统的效率
LOGO 9
第三章 存储管理 3.2 固定分区存储管理
正文 • 用户程序的四个处理阶段
1. 编辑阶段
用户
用汇编语言或某高级语言编写程序,是产生用户程 序的编辑阶段,该阶段的结果是得到“源程序”文件。
编辑阶段
2. 翻译阶段
源程序
为了程序的运行,先应使用汇编程序或编译程序对
源程序进行翻译处理,产生出称为“目标程序”的二进
. 正文 例如,假定用户程序A的相对地址空间为0~3KB(0~3071),在程序
中地址为3000的地方,有一条调用子程序(其入口地址为100)的指令:
通过I/O设备访问辅存
远高于前者,一般相差3个 数量级甚至更多(因访问
中涉及到中断、设备驱LO动GO 3
程序以及物理设备的运行)
第三章 存储管理 3.1 存储管理综述
正文
3.1.2 高速缓冲存储器的工作原理
1、高速缓冲存储器 CACHE是一个高速度、小容量的缓冲存储器,存储
CPU最经常访问的指令或数据,一般用SRAM芯片构成, 其全部功能由硬件实现,对程序员是透明的。
翻译阶段
制程序代码,这属于翻译阶段。
3. 链接编辑阶段
把目标程序代码链接装配到一起,
库代码
其他 代码
目标程序 代码
成为一个统一的程序整体。经过链接编辑阶段,
得到用户程序相对于“0”编址的一个完整的二 进制目标程序代码。
链接编辑阶段
4. 装入阶段
装入阶段的任务,是根据内存的使用情况,
为进入内存的程序分配存储区,对程序中的地 址进行调整。
CACHE用于解决 CPU与主存间的速度匹配问题,其 理论依据是程序访问的局部性原理。
LOGO 4
第三章 存储管理 3.1 存储管理综述
正文
为了使主存与cache之间映射,将主存与缓存都分在若 干个块,每个块包含若干个字,并使块的大小相等。
将主存n位地址分为高m位和低b位,缓存地址也分成 高c位和低b位。主存的块数M=2m远大于缓存的块数C=2c 块。
由于缓存的块数远小于主存的块数,一个缓存块不能 唯一、永久地对应一个主存块,每个缓存块需设一个标记, 用来表示当前存放的是哪一个主存块,该标记的内容相当 于主存块的编号(即主存地址的高m位)。
CPU读信息时根据主存地址的低位部分,将主存地址 的高位部分与缓存块的标记进行比较,以判断所读信息是 否在缓存中。
a+k
的地址没有能够反映出它所在存储区的真正存储位置。
物理
逻辑
装入
地址
.2. 地址的重定位
地址
程序被装入到分配给它的内存储区时,必须对每
条指令里所涉及到的逻辑地址进行修改,使它们能够
正确地反映出所在的存储位置。这种把逻辑地址转换成物理地址的过程,称为L地O址GO的 11
“重定位”。
第三章 存储管理 3.2 固定分区存储管理
(2)命中时间:在CACHE命中时的访存时间,它等于CACHE的访问时间。
(3)失效时间:CACHE不命中时因访存而增加的访问时间,它等于对主存的访问
时间和将主存中的数据调入CACHE的时间。
LOGO 6
第三章 存储管理 3.1 存储管理综述
正文
3.1.3 存储管理的功能 ▪内存的分配和回收
当用户提出内存申请时,操作系统按一定策略从表 中选出符合申请者要求的空闲区进行分配,并修改表内 有关项,这称为内存的分配;若某进程执行完毕,需归 还内存空间时,操作系统负责及时收回相关存储空间, 并修改表中有关项,这称为内存的回收。
• 理想中的存储器
– 速度快 – 容量大 – 价格便宜
• 目前无法同 时满足三个 条件
• 多级存储器 结构
LOGO 2
第三章 存储管理 3.1 存储管理综述
正文
寄存器和主存又 叫
“可执行存储器”
可执行 存储器
辅存
计算机对所存信息访问机制 访问所耗时间
进程可在很少的时钟周期使 很少的时钟周期 用一条Load或store指令访 问可执行存储器
第三章 存储管理 3.1 存储管理综述
正文
存储器分类
内存:CPU直接存取,存放正要执行的程序和数据, 访问速度快,价格贵,容量小。
外存:CPU不能直接访问,存放暂时不执行的程序 和数据,访问速度慢,容量大。
存储管理指内存管理
LOGO 1
第三章 存储管理 3.1 存储管理综述
正文
3.1.1 存储器的层次结构
磁盘
可执行程序 代码
装入阶段
程序 地址空间
LOGO 10
第三章 存储管理 3.2 固定分区存储管理
正文
• 3.2.1 地址重定位
.1. 用户程序的两种地址和空间 内存单元的地址称为“绝对地址”或“物理地址”。从任何一个绝对地
.址开始的一段连续的内存空间,被称为“物理地址空间”,或“绝对地址空间内”存 。 在多道程序设计环境下,用户无法事先指定要占用内存的哪个
相关主题