欢迎来到天天文库
浏览记录
ID:40109555
大小:3.36 MB
页数:183页
时间:2019-07-21
《《存储器管理》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第四章存储器管理2第四章存储器管理如何对存储器进行有效的管理,不仅影响到存储器的利用率,而且还对系统性能有重大影响。存储器:内存(本章)外存(第六章)3主要内容new存储器的层次结构4.1程序的装入和链接4.2连续分配方式4.3基本分页存储管理方式4.4基本分段存储管理方式4.5虚拟存储器的基本概念4.6请求分页存储管理方式4.7页面置换算法4.8请求分段存储管理方式4本章学习目标了解存储管理的研究对象和目的了解存储管理的基本功能和有关的基本概念掌握分页存储管理和分段存储管理的基本概念掌握请求分页和请求分段存储管理的基本原理New4.1存储器
2、的层次结构1.多级存储器结构2.主存储器与寄存器3.高速缓存与磁盘缓存51.多级存储器结构寄存器高速缓存内存磁盘缓存磁盘可移动存储器6三层由快到慢寄存器与主存(前四者)由操作系统直接管理,可快速访问,称为可执行存储器。后两者需要通过I/O访问2.主存储器与寄存器1.主存储器容量大小2.寄存器速度与CPU完全协调长度以字为单位,几十至几百个73.高速缓存和磁盘缓存高速缓存局部性原理CPU与内存之间磁盘缓存频繁使用的磁盘数据暂存在内存中的磁盘高速缓存中89预备知识地址空间的概念1.内存空间(物理空间)内存是由若干个存储单元组成的,每个存储单元的编号
3、称为内存地址(或物理地址)2.逻辑空间经过汇编或编译后形成目标程序是以0为基址顺序进行编址的,目标程序占据的地址空间称为作业的逻辑地址空间。逻辑空间中的地址称为逻辑地址,这是一个相对地址。104.1程序的装入和链接为作业创建进程需将其装入内存。要把程序装入内存,就要对程序进行编译和链接。1.编译由编译程序把源程序翻译成若干个目标模块;2.链接由链接程序把目标模块以及相关的库函数链接在一起,形成完整的装入模块;3.装入由装入程序把装入模块装入内存。114.1.1程序的装入将一个装入模块装入内存时,有三种方式:绝对装入方式可重定位装入方式动态运行时
4、装入方式关键在于将逻辑地址转换为物理地址的时机不同121.绝对装入方式AbsoluteLoadingMode若编译时知道程序将在内存的(起始)驻留地址,编译程序将产生绝对(物理)地址的目标代码。只适用单道程序环境。装入模块不需再地址转换,直接装入内存。绝对地址,即可在编译或汇编时给出,也可由程序员直接给出。通常在程序中采用符号地址,在编译或汇编时,再将其转换为绝对地址。132.可重定位装入方式RelocationLoadingMode多道程序环境下,各目标模块的起始地址均从0开始,程序中的其它地址都是相对于起始地址计算的,不是绝对的物理地址,编
5、译程序无法预知目标模块应放于何处。装入时,需根据内存当前的情况,将模块装入到内存的适当位置,存在一个逻辑地址空间到内存物理地址空间的转换过程(即重定位)。142.可重定位装入方式RelocationLoadingMode逻辑地址与实际装入内存的物理地址会不同。Load1,2500的作用是把2500单元中的数据送至寄存器1。在装入时,指令的地址会由原来的1000,变为11000,取数地址2500也会变为12500。该例中,在装入时对目标程序中指令和数据的地址修改过程称为重定位。该地址变换是在装入时一次完成的,不再改变,故称为静态重定位。153.动
6、态运行时装入方式DynamicRun-timeLoading把程序装入内存后,并不立即把装入模块中的逻辑地址转换为物理地址,仍是相对地址。逻辑地址到物理地址的转换直到程序真正运行时才进行。不仅允许装入模块装入到内存中的任何位置,而且允许程序在运行时在内存中移动。(动态重定位分区分配)164.1.2程序的链接根据链接时间的不同,可分为:静态链接装入时动态链接运行时动态链接关键在于进行链接的时机171.静态链接方式StaticLinking在程序运行之前把各目标模块及库函数链接成一个完整的装入模块,以后不再拆开。装配时需解决两个问题:(1)对相对地
7、址进行修改。(2)变换外部符号。18模块ABC在链接前其内部地址均是相对于起始地址0而言的。链接成一个装入模块后,BC的首地址分别变成了L和L+M,这就需要修改BC中的相对地址,将其全部加上L或L+M;对于ABC各模块中所使用的外部调用符号,也都需进行变换,CALLB需变换为JSLL。192.装入时动态链接Load-timeDynamicLinking编译的目标模块在装入内存时,边装入边链接。即在装入一个目标模块时,若发生一个外部模块调用,将引起装入程序去找出相应的外部目标模块,并将它装入内存,还需修改目标模块中的相对地址。202.装入时动态链
8、接Load-timeDynamicLinking优点:VS静态链接1.便于修改和更新各目标模块分开存放,便于修改或更新。静态链接要修改或更新时,需重新
此文档下载收益归作者所有