如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第四章存储器管理在多道程序设计技术出现后,对存储管理提出了更高的要求。一方面,要使主存得到充分、有效地利用;另一方面又要为用户提供方便的使用环境。4.1存储器的层次结构图4-1计算机系统存储层次示意寄存器、高速缓存、主存储器和磁盘缓存均属于操作系统存储管理的管辖范畴,掉电后它们存储的信息不再存在。固定磁盘和可移动存储介质属于设备管理的管辖范畴,它们存储的信息将被长期保存。4.1.2主存储器与寄存器1.主存储器主存储器(简称内存或主存)是计算机系统中一个主要部件,用于保存进程运行时的程序和数据,也称可执行存储器,其容量对于当前的微机系统和大中型机,可能一般为数十MB到数GB,而且容量还在不断增加,而嵌入式计算机系统一般仅有几十KB到几MB。CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器读取并将它们装入到寄存器中,或者从寄存器存入到主存储器。CPU与外围设备交换的信息一般也依托于主存储器地址空间。由于主存储器的访问速度远低于CPU执行指令的速度,为缓和这一矛盾,在计算机系统中引入了寄存器和高速缓存。2.寄存器寄存器访问速度最快,完全能与CPU协调工作,但价格却十分昂贵,因此容量不可能做得很大。寄存器的长度一般以字(word)为单位。寄存器的数目,对于当前的微机系统和大中型机,可能有几十个甚至上百个;而嵌入式计算机系统一般仅有几个到几十个。寄存器用于加速存储器的访问速度,如用寄存器存放操作数,或用作地址寄存器加快地址转换速度等。4.1.3高速缓存和磁盘缓存1.高速缓存高速缓存是现代计算机结构中的一个重要部件,其容量大于或远大于寄存器,而比内存约小两到三个数量级左右,从几十KB到几MB,访问速度快于主存储器。根据程序执行的局部性原理(即程序在执行时将呈现出局部性规律,在一较短的时间内,程序的执行仅局限于某个部分),将主存中一些经常访问的信息存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度。2.磁盘缓存由于目前磁盘的I/O速度远低于对主存的访问速度,因此将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓存中,可减少访问磁盘的次数。磁盘缓存本身并不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存储器存储空间的扩充,即利用主存中的存储空间,来暂存从磁盘中读出(或写入)的信息。主存也可以看做是辅存的高速缓存,因为,辅存中的数据必须复制到主存方能使用;反之,数据也必须先存在主存中,才能输出到辅存。4.1.4地址映射系统区存储管理的功能:存储分配地址映射(逻辑地址与物理地址的对应关系)存储保护内存扩充(虚拟存储器技术以及各种调度算法)在多道程序设计的环境中:当有作业进入计算机系统时,存储管理应能根据当时的内存分配状况,按作业要求分配给它适当的内存。当某个作业完成不再使用内存时,应回收占用的内存空间,以便供其他用户使用。物理地址和逻辑地址内存地址的集合称为内存地址空间(或物理地址空间),简称内存空间(或物理空间),是一维线性空间。例如,某个系统,有64kb内存,则其内存空间编号为:0,1,2,3,……,65535。2)逻辑空间用汇编语言或高级语言编写程序时,常常用符号名来访问某一单元。把源程序中由符号名组成的程序空间称为符号名空间,简称名空间。源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的,原来用符号名访问的单元用具体的数据——单元号取代。这样生成的目标程序占据一定的地址空间,称为作业的逻辑地址空间,简称逻辑空间。在逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址(或相对地址、虚地址)。一个编译好的程序存在于它自己的逻辑空间中,运行时,要把它装入内存空间,如图4.2所示,一个作业在编译前、编译后及装入内存后不同空间的情形。1000b1100b1200b1299b由图4.2可以看出:该作业经过编译后,大小为300字节,逻辑地址空间为0~299。在作业的第100号单元处有指令MovRl,[200],即把200号单元内的数据6817送入寄存器Rl。假如把作业装入到内存第1000~1299号单元处。由图4.2可以看出,若只是简单地装入第1000~1299号单元,执行MovRl,[200]指令时,会把内存中200号单元的内容送入Rl,显然这样会出错。只有把1200单元的内容送入Rl才是正确的。所以作业装入内存时,需对指令和指令中相应的逻辑地址部分进行修改,才能使指令按照原有的逻辑顺序正确运行。4.2程序的装入和链接图4-2对用户程序的处理步骤4.2.1程序的装入1.绝对装入方式(AbsoluteLoadingMode)在编译时,如果知道程序将驻留在内存的什么位置,那么,编译程序将产生绝