- 4
- 0
- 约7.12千字
- 约 11页
- 2016-11-29 发布于广东
- 举报
4第四章存储器管理1Convertor.doc
第四章 存储器管理(1)
张 琦
内容
4.1 存储器的层次结构
4.2 程序的装入和链接
4.3 连续分配方式
4.4 基本分页存储管理方式
4.5 基本分段存储管理方式
4.6 虚拟存储器的基本概念
4.7 请求分页存储管理方式
4.8 页面置换算法
4.9 请求分段存储管理方式
4.1 存 储 器 的 层 次 结 构
4.1.1 多级存储器结构
对于通用计算机而言,存储层次至少应具有三级:最高层为CPU寄存器,中间为主存,最底层是辅存。
在较高档的计算机中,还可以根据具体的功能分工细划为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可移动存储介质等6层。
计算机系统存储层次示意
在存储层次中越往上,存储
介质的访问速度越快,价格也
越高,相对存储容量也越小。
CPU寄存器
主存
辅存
4.1 存 储 器 的 层 次 结 构
一般来说,容量越大的存储介质,访问速度会越慢,
但单位存储的成本越低。
反过来说,如果存储介质的访问速度越高,则它的成本也
会越高,例如寄存器。
4.1 存 储 器 的 层 次 结 构
4.1.2 主存储器与寄存器
1.主存储器
主存储器(简称内存或主存)用于保存进程运行时的
程序和数据。
由于主存储器的访问速度远低于CPU执行指令的
速度,为缓和这一矛盾,在计算机系统中引入了寄存
器和高速缓存。
2. 寄存器
寄存器访问速度最快,用于加速存储器的访问速度,
协调CPU工作,但价格却十分昂贵,因此容量不可能
做得很大。
4.1 存 储 器 的 层 次 结 构
4.1.3 高速缓存和磁盘缓存
1.高速缓存
高速缓存容量大于或远大于寄存器, 访问速度快于主
存储器。将主存中一些经常访问的信息存放在高速缓存
中,减少访问主存储器的次数,可大幅度提高程序执行
速度。
2.磁盘缓存
磁盘缓存本身并不是一种实际存在的存储介质,它依
托于固定磁盘,提供对主存储器存储空间的扩充,即利
用主存中的存储空间,来暂存从磁盘中读出(或写入)的
信息。
4.2 程 序 的 装 入 和 链 接
如何将一个用户源程序变为一个可在内存中执行的程
序,通常都要经过以下几个步骤:
①是要编译,由编译程序(Compiler)将用户源代码编译成若干个目标模块(Object Module);
②是链接,由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块(Load Module);
③最后是装入,由装入程序(Loader)将装入模块装入内存。
…
…
…
编译程序
产生的目
标模块
库
内存
装入模块
4.2 程 序 的 装 入 和 链 接
4.2.1 程序的装入
1. 绝对装入方式(Absolute Loading Mode)
装入程序按照装入模块中的绝对地址将程序和数据
装入内存。
2.可重定位装入方式(Relocation Loading Mode)
装入模块为相对地址(逻辑地址),装入程序按照当
前内存使用的情况,将装入模块装入内存的某个物理地址。
3.动态运行时装入方式(Dynamic Run-time Loading)
将装入模块装入内存后,运行时才进行地址变换,又称
为动态重定位。
只适用于单道程序环境。
装入后不能改变,是一种静态重定位。
4.2 程 序 的 装 入 和 链 接
4.2.2 程序的链接
根据链接时间的不同,可把链接分成如下三种:
(1) 静态链接
事先将所需目标模块链接生成一个完整的装入模块
(. exe)运行时直接装入内存。
(2) 装入时动态链接
指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式。
(3) 运行时动态链接
延迟到运行时,才将当前被调用的目标模块装入,并链接。
4.3 连 续 分 配 方 式
4.3.1 单一连续分配
这是最简单的一种存储管理方式,但只能用于单用户、
单任务的操作系统中。采用这种存储管理方式时,可把内存
分为系统区和用户区两部分。
1.划分分区的方法
(1) 分区大小相等,即所有的内存分区大小相等。
(2) 分区大小不等。
4.3.2 固定分区分配
这是最简单的可运行多道程序的存储管理方式。将内存用
户空间划分为若干个固定大小的区域,在每个分区中装入一
道作业,允许几道作业并发运行。
4.3 连 续 分 配 方 式
2.内存分配
将内存固定划分为相等或不等的区域,称为分区,
分区一旦划定,在执行过程中分区长度和个数将不再变
化。建立内存分配表记录分区分配的情况。
简单、可靠,但产生分
原创力文档

文档评论(0)