操作系统第四章存储器管理ppt课件.ppt

操作系统第四章存储器管理ppt课件.ppt

ID:59470621

大小:1.27 MB

页数:130页

时间:2020-09-14

操作系统第四章存储器管理ppt课件.ppt_第1页
操作系统第四章存储器管理ppt课件.ppt_第2页
操作系统第四章存储器管理ppt课件.ppt_第3页
操作系统第四章存储器管理ppt课件.ppt_第4页
操作系统第四章存储器管理ppt课件.ppt_第5页
资源描述:

《操作系统第四章存储器管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章存储器管理如何对存储器加以有效的管理,不仅直接影响到存储器的利用率,而且还对系统性能有重大影响。存储器管理的主要对象是内存。本章主要内容4.1存储器的层次结构4.2程序的装入和链接4.3连续分配方式4.4对换4.5分页存储管理方式4.6分段存储管理方式4.1存储器的层次结构4.1.1多级存储器结构1.存储器的多层结构2.可执行存储器寄存器和主存储器又被称为可执行存储器访问机制不同,所需耗费的时间不同进程可以在很少的时钟周期内使用一条load或store指令对可执行存储器进行访问辅存的访问通过I/O设备来实现,访问中将涉及到访问则中断、设备驱动程序以及物

2、理设备的运行,所需耗费的时间相差3个数量级甚至更多。4.1.2主存储器与寄存器1.主存储器主存储器(简称内存或主存)是计算机系统中一个主要部件,用于保存进程运行时的程序和数据,也称可执行存储器CPU的控制部件只能从主存储器中取得指令和数据,数据能够从主存储器读取并将它们装入到寄存器中,或者相反主存储器的访问速度远低于CPU执行指令的速度,引入寄存器和高速缓存。2.寄存器寄存器访问速度最快,完全能与CPU协调工作,但价格却十分昂贵,因此容量不可能做得很大寄存器用于加速存储器的访问速度,如用寄存器存放操作数,或用作地址寄存器加快地址转换速度等4.1.3高速缓存和

3、磁盘缓存1.高速缓存高速缓存是现代计算机结构中的一个重要部件,其容量大于或远大于寄存器,而比内存约小两到三个数量级左右。根据程序执行的局部性原理,将主存中一些经常访问的信息存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度。进程的程序和数据是存放在主存储器中,每当使用时,被临时复制到一个速度较快的高速缓存中。当CPU访问一组特定信息时,首先检查它是否在高速缓存中,如果已存在,可直接从中取出使用,以避免访问主存,否则,再从主存中读出信息。2.磁盘缓存由于目前磁盘的I/O速度远低于对主存的访问速度,因此将频繁使用的一部分磁盘数据和信息,暂时存放在

4、磁盘缓存中,可减少访问磁盘的次数。磁盘缓存本身并不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存储器存储空间的扩充,即利用主存中的存储空间,来暂存从磁盘中读出(或写入)的信息。主存也可以看做是辅存的高速缓存一个文件的数据可能出现在存储器层次的不同级别中,例如,一个文件数据通常被存储在辅存中(如硬盘),当其需要运行或被访问时,就必须调入主存,也可以暂时存放在主存的磁盘高速缓存中。大容量的辅存常常使用磁盘,磁盘数据经常备份到磁带或可移动磁盘组上,以防止硬盘故障时丢失数据本章主要内容4.1存储器的层次结构4.2程序的装入和链接4.2程序的装入和链接如何将一

5、个用户源程序变成一个可在内存中执行的程序,通常要经过3步骤:编译:由编译程序(Compiler)将用户源代码编译成若个目标模块。链接:由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块。装入:由装入程序(Loader)将装入模块装入内存。1.程序的装入(1).绝对装入方式如果知道程序将驻留在内存的什么位置,那么,编译程序将产生绝对地址的目标代码。绝对装入程序按照装入模块中的地址,将程序和数据装入内存。由于程序中的逻辑地址与实际内存地址完全相同,故不需对程序和数据的地址进行修改。(2).可重定位装入方

6、式由装入程序将装入模块装入内存后,装入模块中程序所访问的所有逻辑地址与实际装入内存的物理地址不同,必须进行变换。把在装入时对目标程序中指令和数据的变换过程称为重定位。因为地址变换是在装入时一次完成的,以后不再改变,故称为静态重定位。采用静态重定位方法将程序装入内存,称为可重定位装入方式。(3).动态运行时装入方式装入程序将目标模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序执行时进行,在硬件地址变换机构的支持下,随着对每条指令或数据的访问自动进行地址变换,故称为动态重定位。2.程序的链接★源程序经过编译后,得到一组目

7、标模块,再利用链接程序将其链接形成装入模块。根据链接时间的不同,可把链接分成如下三种:(1)、静态链接方式。在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块(又称执行模块),以后不再拆开。事先进行链接的方式称为静态链接方式。①对相对地址进行修改目标模块中,使用的都是相对地址,其起始地址都为0,在链接成一个装入模块时修改模块的相对地址。如把原B中的所有相对地址都加上L,把原C中所有相对地址都加上L+M。②变换外部引用地址将每个模块中所用的外部调用符号也都变换为相对地址。例如将callB变换为JSR“L”(2)、装入时动态链接是指将用户

8、源程序编译后所得到的一组目标模块,在装入内存时,采用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。