第十一讲存储器管理之基本概念.doc

第十一讲存储器管理之基本概念.doc

ID:28844003

大小:46.00 KB

页数:3页

时间:2018-12-14

第十一讲存储器管理之基本概念.doc_第1页
第十一讲存储器管理之基本概念.doc_第2页
第十一讲存储器管理之基本概念.doc_第3页
资源描述:

《第十一讲存储器管理之基本概念.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第十一讲存储器管理之基本概念存储器是计算机系统的重要部分,存储器是一种宝贵的资源,因此要合理的管理和利用。存储器管理的主要对象是内存。存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及从逻辑上扩充存储器。存储器管理应该具有下面功能:n实现内存的分配和回收n地址变换n“扩充”内存容量n进行存储保护1程序的装入和链接在多道程序环境下,要使程序运行,必须创建进程,而创建进程第一件事就是将程序和数据装入内存。一个用户源程序要变为在内存中可执行的程序,通常要进行以下处理:(1)编译:由编译程序将用户源程序编译成若干

2、个目标模块(2)链接:由链接程序将目标模块和相应的库函数链接成装入模块(3)装入:由装入程序将装入模块装入内存1.1一些概念u逻辑地址--用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。也就是相对与初始地址的,逻辑地址又称相对地址,相对基地址而言。u物理地址--内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又称绝对地址,它是数据在内存中的实际存储地址。u地址空间(名空间):指用户程序使用的全部地址。地址空间中的每个地址单元编号称为逻辑地址(logicaladdress),由于通常逻辑地址都是相对于程序的起始地址的,故又称

3、为相对地址(relativeaddress)。u存储空间:指内存中存储数据的物理单元的集合。这些物理单元的集合称为物理地址(physicaladdress)或绝对地址(absoluteaddress)。u重定位:当作业的地址空间与存储空间不一致时,所进行的地址调整以便使作业能够执行的过程称为重定位。重定位实质是地址变换,即作业地址空间中的逻辑地址变换为主存空间的物理地址。根据地址变换进行的时间及采用技术手段不同,可分为静态重定位和动态重定位两类。静态重定位(staticrelocation):在作业装入时根据目标程序装入内存的位置来对目标程序中的地

4、址进行修改(变换),使之能正确运行。在完成装入后,在作业执行期间不再进行地址修改,因此也不允许作业在内存中移动。静态重定位的优点是地址变换由软件实现,不需硬件变换机构,但缺乏灵活性,不利于改善内存的利用率。动态重定位(dynamicrelocation):指把用户程序地址空间中的逻辑地址,变换为内存空间的物理地址的过程,是在程序执行每条指令时,由地址变换机构硬件自动完成的。动态重定位的优点是灵活,有利于提高主存的利用率及对程序段的共享。1.2程序的装入讲装入模块装入内存时。可以有以下装入方式。1.2.1绝对装入方式思想:编译时,若知道程序将驻留内存

5、的什么位置,则编译程序将产生绝对地址的目标代码(即装入模块)。绝对装入程序按照装入模块中的地址,将程序和数据装入内存。装入模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,因此不用对程序和数据进行修改。那么是谁知道程序将驻留在内存的什么位置呢?程序员,因此此方式要求程序员要很熟悉内存使用情况。适用:单道程序环境1.2.2可重定位装入方式基本思想:在多道环境下,不可能预知程序应该放在内存的哪个位置,装入程序在装入时根据内存的实际情况把相对地址(逻辑地址)转换为绝对地址,装入到适当的位置。(在装入时进行地址转换)静态重定位。适用:用于多道程

6、序环境。课本例子见下图P1041.2.3动态运行时装入方式思想:在把装入模块装入内存后,并不立即进行地址转换,而是把相对地址到绝对地址的的地址转换推迟到程序真正开始运行的时候再进行。需要一个重定位寄存器支持。其本质就是在程序运行的过程中进行地址转换。适用:多道环境中程序在内存中改变位置。1.2.4三种装入方式的对比绝对装入方式只能将装入模块装入到内存中事先指定的位置,在多道程序环境下是不可能事先知道每一道程序在内存中的位置的,因此这种装入方式只能用于单道程序环境。地址转换时机:程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。适

7、用于。可重定位装入方式可将装入模块装入到内存中任何允许的位置,故可用于多道程序环境;然而它不允许程序在运行中移动位置。地址转换时机发生于程序装入内存时发生。适用于动态运行时装入方式允许程序在运行中移动位置,需要特殊硬件的支持。地址转换时机发生于程序运行时。适用于1.2程序的链接由链接程序将目标模块和相应的库函数链接成装入模块。按照链接时间不同分为三种:1.2.1静态链接方式思想:是一种事先链接方式,即在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装入模块(执行文件),以后不再拆开。实现静态链接应解决的问题:(1)相对地址的修改。

8、每个模块中所有相对地址的修改。比如,原起始地址为0,现在为L。则模块中所有相对地址都要加L。(2)变换外部调用符号。每个模

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

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

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