第4章内存管理ppt课件.ppt

第4章内存管理ppt课件.ppt

ID:58700778

大小:1.12 MB

页数:159页

时间:2020-10-04

第4章内存管理ppt课件.ppt_第1页
第4章内存管理ppt课件.ppt_第2页
第4章内存管理ppt课件.ppt_第3页
第4章内存管理ppt课件.ppt_第4页
第4章内存管理ppt课件.ppt_第5页
资源描述:

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

1、第4章存储器管理计算机系统中的存储器可以分为两种:内存储器和辅助存储器。前者可被CPU直接访问,后者不能。辅助存储器与CPU之间只能够在输入输出控制系统的管理下,进行信息交换。既然内存储器可被CPU直接访问,因此它是计算机系统中的一种极为重要的资源。在操作系统中,把管理内存储器的部分称为“存储器管理”。能否合理地使用内存,会在很大程度上影响到整个计算机系统的性能。退出2021/8/314.2.程序的装入和链接将一个用户源程序变为一个可在内存中执行的程序,通常要经过编译、链接和装入几个步骤(1)编译。由编译程序将用户源代码编译成若干个目标模块。(2)链接。由链接程序将

2、编译后形成的目标模块以及它们所需要的库函数,链接在一起,形成一个装入模块。(3)装入。由装入程序将装入模块装入主存的过程。2021/8/31源程序的执行过程通常要经过编译、链接和装入几个步骤2021/8/314.2.1程序的装入程序的装入就是把程序装入内存空间。采用三种方式(1)绝对装入方式:是由装入程序根据装入模块中的地址,将程序和数据装入内存。(2)可重定位方式:是由装入程序根据内存当前的实际使用情况,将装入模块装入到内存适当的地方。(3)动态运行时装入方式:动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地

3、址转换推迟到程序要真正执行时才进行。2021/8/31程序的装入绝对装入方式:是由装入程序根据装入模块中的地址,将程序和数据装入主存若知道程序在内存的位置,编译程序将产生绝对地址目标模块绝对地址一般由编译程序给出程序被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,所以不允许改变程序和数据的地址只适于单道环境2021/8/31程序的装入绝对装入方式只能将目标模块装入到内存中事先指定的位置。在多道程序环境下,编译程序不可能预知所编译的目标模块应放在内存的什么地方,因此在多道程序环境下,所得到的目标模块的起始地址通常是从0开始的,程序中的其它地址都是相对于起始地

4、址计算的。因此采用重定位装入方式。2021/8/31程序的装入可重定位方式:是由装入程序根据主存当前的实际使用情况,将装入模块装入到主存适当的地方。重定位:在装入时对目标程序中指令和数据的修改过程。会使装入模块中的所有逻辑地址与实际装入内存的物理地址不同2021/8/31程序的装入静态重定位方式:是指地址转换工作是在程序装入内存时由装配程序完成的。装配程序根据将要装入内存的起始地址,对程序模块中有关的地址部分进行调整和修改(物理地址=逻辑地址+程序存放在内存的起始地址),一旦确定下来之后不再改变,即静态地址重定位是在程序执行之前完成的地址转换。它的优点:无需硬件支持

5、,容易实现。缺点:程序经地址重定位后不能再移动,程序在内存空间只能连续存储,程序很难被若干个用户所共享。2021/8/31程序的装入静态重定位方式:如上图所示,图(a)中,程序中逻辑地址为6,8,10,因为装入内存中程序的起始地址变为100,所以须对地址进行重定位,否则在图(b)的情况下会发生调用错误,所调用的地址中不再是程序员想要的内容。图(c)为重定位之后的结果。2021/8/31程序的装入动态运行时装入方式:动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序要真正执行时才进行。适于多道环境允

6、许程序移动,如切换动态重定位需要特殊硬件支持(重定位寄存器)2021/8/31程序的装入动态重定位:是指地址转换工作是在程序执行期间由硬件变换机构动态实现地址转换的。物理地址=逻辑地址+重定位寄存器的内容。动态重定位的优点:用户程序在执行过程中内存可移动,程序不必连续存放在内存中,可以放在不同区域,若干个用户可以共享同一程序段或数据段。缺点:需要附加硬件支持,实行存储管理的软件算法比较复杂。2021/8/31程序的装入动态重定位:如上图所示,作业装入内存后,仍是逻辑地址,没有进行重定位,当运行过程中运行到这一句时,将逻辑地址2500加上重定位寄存器中的10000,即

7、是需要的物理地址。此种情况下,作业中的地址一直保持是逻辑地址,如果发生了内存中的移动,将新的内存起始位置传给重定位寄存器即可,也就是重定位寄存器中一直记录着当前作业所在内存的起始地址。2021/8/31程序的链接链接程序的功能是将经过编译或汇编后所得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块。实现链接的方法有三种静态链接:事先进行链接,以后不再拆开的链接方式装入时动态链接:用户源程序经编译后所得到的目标模块,是在装入内存时,边装入边链接的。运行时动态链接:某些目标模块的链接,是在程序执行中需要该(目标)模块时,才对它进行链接2021/8/3

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

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

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