欢迎来到天天文库
浏览记录
ID:55343321
大小:1.63 MB
页数:133页
时间:2020-05-14
《计算机操作系统第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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层。图4-1计算机系统存储层次示意在存储层次中越往上,存储介质的访问速度越快,
2、价格也越高,相对存储容量也越小。其中,寄存器、高速缓存、主存储器和磁盘缓存均属于操作系统存储管理的管辖范畴,掉电后它们存储的信息不再存在。固定磁盘和可移动存储介质属于设备管理的管辖范畴,它们存储的信息将被长期保存。4.1.2主存储器与寄存器1.主存储器主存储器(简称内存或主存)是计算机系统中一个主要部件,用于保存进程运行时的程序和数据,也称可执行存储器,其容量对于当前的微机系统和大中型机,可能一般为数十MB到数GB,而且容量还在不断增加,而嵌入式计算机系统一般仅有几十KB到几MB。CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器读取并
3、将它们装入到寄存器中,或者从寄存器存入到主存储器。CPU与外围设备交换的信息依托于主存储器地址空间。由于主存储器的访问速度远低于CPU执行指令的速度,为缓和这一矛盾,在计算机系统中引入了寄存器和高速缓存。2.寄存器寄存器访问速度最快,完全能与CPU协调工作,但价格却十分昂贵,因此容量不可能做得很大。寄存器的长度一般以字(word)为单位。寄存器的数目,对于当前的微机系统和大中型机,可能有几十个甚至上百个;而嵌入式计算机系统一般仅有几个到几十个。寄存器用于加速存储器的访问速度,如用寄存器存放操作数,或用作地址寄存器加快地址转换速度等。4.1.3高速缓存和
4、磁盘缓存1.高速缓存高速缓存是现代计算机结构中的一个重要部件,其容量大于或远大于寄存器,而比内存约小两到三个数量级左右,从几十KB到几MB,访问速度快于主存储器。根据程序执行的局部性原理(即程序在执行时将呈现出局部性规律,在一较短的时间内,程序的执行仅局限于某个部分),将主存中一些经常访问的信息存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度。2.磁盘缓存由于目前磁盘的I/O速度远低于对主存的访问速度,因此将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓存中,可减少访问磁盘的次数。磁盘缓存本身并不是一种实际存在的存储介质,它依托于固
5、定磁盘,提供对主存储器存储空间的扩充,即利用主存中的存储空间,来暂存从磁盘中读出(或写入)的信息。主存也可以看做是辅存的高速缓存,因为,辅存中的数据必须复制到主存方能使用;反之,数据也必须先存在主存中,才能输出到辅存。4.2程序的装入和链接图4-2对用户程序的处理步骤4.2.1程序的装入1.绝对装入方式(AbsoluteLoadingMode)在编译时,如果知道程序将驻留在内存的什么位置,编译程序将产生绝对地址的目标代码。绝对装入程序按照装入模块中的地址,将程序和数据装入内存。装入模块被装入内存后,由于程序中的逻辑地址和实际内存地址完全相同,故不需要对
6、程序和数据的地址进行修改。程序中的绝对地址,既可由程序员直接赋予,也可在编译或汇编时给出。由程序员直接给出绝对地址,不仅要求程序员熟悉内存的使用情况,而且程序或数据被修改后,可能要改变程序中的所有地址;在程序中采用符号地址,在编译时再将这些符号地址转换为绝对地址。绝对装入方式只适应于单道程序环境。在多道程序环境中,根据内存的当前情况,将装入模块装入到内存的适当位置,并且在装入时完成地址变换,称为可重定位装入方式。2.可重定位装入方式(RelocationLoadingMode)图4-2作业装入内存时的情况重定位是指在装入时对目标程序中指令和数据的修改过
7、程。这一过程通常是在装入时一次完成的,故称为静态重定位。3.动态运行时装入方式(DenamleRun-timeLoading)可重定位装入方式不允许程序运行时在内存中移动位置。但是,在运行过程中它在内存中的位置可能经常要改变。动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。为使地址转换不影响指令的执行速度,需要一个重定位寄存器的支持。4.2.2程序的链接1.静态链接方式(StaticLinking)图4-4程序链接示意图
8、在将这几个目标模块装配成一个装入模块时,须解决以下两个问题:(1)对相对地址进行修改。(2)变
此文档下载收益归作者所有