1、第四章第四章 存储器管理存储器管理Memory Managementq 为多道程序的运行提供良好的环境为多道程序的运行提供良好的环境q 提高存储器的利用率提高存储器的利用率q 从逻辑上扩充存储器从逻辑上扩充存储器q 存储共享和保护存储共享和保护4.1 存储体系存储体系4.2 程序的链接和装入程序的链接和装入 4.3 连续分配方式连续分配方式 4.4 基本分页存储管理方式基本分页存储管理方式 4.5 基本分段存储管理方式基本分段存储管理方式 4.6 虚拟存储器的基本概念虚拟存储器的基本概念 4.7 请求分页存储管理方式请求分页存储管理方式 4.8 页面置换算法页面置换算法 4.9 请求分段存储管
2、理方式请求分段存储管理方式 本章主要内容本章主要内容 4.1 存储体系存储体系在现代计算机系统中,存储器是信息外理的来源与归宿,占据重要位置。但是,在现有技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。 4.1 存储体系存储体系存储层次结构无限容量大,速度无限快,价格便宜。金钱、性能存储管理存储管理使主存储器在成本、速度和规模之间获得较好的权衡。使主存储器在成本、速度和规模之间获得较好的权衡。4.2 程序的链接和装入程序的链接和装入Program Linking and Loading& 一、用户程序的主
3、要处理阶段一、用户程序的主要处理阶段& 二、程序的装入二、程序的装入& 三、程序的链接三、程序的链接一、用户程序的主要处理阶段一、用户程序的主要处理阶段将一个用户程序变为一个可在内存中执行的程序,通常将一个用户程序变为一个可在内存中执行的程序,通常要经过以下几步:要经过以下几步: (1) 编译编译 (Compiling ) Source code - Object Module (2)链接链接 (Linking) Object Modules + Library function-Load Module (3)装入装入 (Loading) Load Module-Internal Memory
4、; 构造构造PCB, 形成进程形成进程 (使用物理地址使用物理地址 ) 库库汇编汇编编译编译主主子子 1子子 2目标模块目标模块链接程序链接程序装入模块装入模块库库主主子子 1子子 2装入程序装入程序内存内存库库主主子子 1子子 2第一步第一步 第二步第二步 第三步第三步图图 4-1 对用户程序的处理步骤对用户程序的处理步骤编译器只能在一个模块内部完成符号名到地址的转换,编译器只能在一个模块内部完成符号名到地址的转换,不同模块间的符号解析由链接器来完成的。不同模块间的符号解析由链接器来完成的。 地址映射Load A 12003456。1200物理地址空间Load A data1data1 34
5、56源程序Load A 20034560100200编译连接逻辑地址空间BA=1000符号地址、相对地址、绝对地址符号地址、相对地址、绝对地址基本概念基本概念 ( Basic Concept)地址映射(重定位):地址映射(重定位): 把逻辑地址空间中使用的逻辑地址变换成内存空间中的物理地址的过程。物理地址:物理地址: 内存是一块存储区域,存储单位是字节(字),每个字节都有地址。这种地址称为物理地址(绝对地址)。所有的物理地址集合构成 物理地址空间物理地址空间 。逻辑地址:逻辑地址: 源程序经过编译连接形成可执行文件中的地址,通常从 0开始,程序中其余指令中的地址都相对于首地址而编址,这种地址称为逻辑地址(相对地址、虚地址)。所有逻辑地址的集合构成 逻辑地址空间逻辑地址空间 。符号地址:符号地址: 源程序中用字母和数字组成的符号代表存储器的地址。二、二、 程序的装入程序的装入Program Loading一个程序运行装入到内存时,可有三种装入方式:一个程序运行装入到内存时,可有三种装入方式: (1)绝对装入方式绝对装入方式 (Absolute Loading Mode) (2)可重定位方式可重定位方式 (Relocatable Loading Mode) (3)动态运行时装入方式动态运行时装入方式 (dynamic Run-Time Loading)