第十一讲存储器管理之程序的装入和链接-Read

合集下载

计算机操作系统(第三版)汤小丹第4章

计算机操作系统(第三版)汤小丹第4章

注意:1)“本章要点”部分,用红字标注的不是期末考试出题范围。

2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原题。

红字标注的习题期末考试不考,仅供考研的同学参考。

3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。

4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。

------------------------------------------------------------第四章存储器管理要点4.1 存储器的层次结构理解P116图4-1的存储器层次结构,知道这种结构从经济上考虑,具有好的性能/价格比。

了解P117-118高速缓存CACHE和磁盘缓存,知道它们使用的淘汰算法与虚拟内存的页面置换算法是基本相同的。

4.2 程序的装入和链接这一小节的内容是一些重要的专业常识。

应了解本小节介绍的各种装入和链接方法,要求结合Windows操作系统及C 语言的实际去理解上述装入和链接方法(联系实际部分可上网查询)。

4.3 连续分配方式通用操作系统大都不用连续分配方式,有些嵌入式OS可能使用这种分配方式。

这一小节只需阅读P121-124即可。

4.4 基本分页存储管理方式这是本章最重要的一小节,要求全读。

重点理解页面、物理块、页表、页表的访存、物理地址、逻辑地址、快表(TLB)等概念及相互关系。

4.5 基本分段存储管理方式阅读4.5.1,知道为什么要分段。

阅读4.5.2 知道分段的原理。

考研的同学要知道段表、地址变换,知道分段和分页的主要区别。

阅读4.5.3 知道分段有利于信息共享,知道“纯代码”的概念。

阅读4.5.4 知道什么是段页式存储。

需要补充说明的是:教材说过,分段方便编程,主要是指方便汇编语言程序员,和设计高级语言编译器的程序员。

对使用高级语言进行应用编程的程序员来说,段是透明的,一般不能用高级语言代码去操作段。

第3章 存储管理

第3章 存储管理

中 换 出
峰值当接近物。理 内 存 不 足 时 , 说 页明需W 到出求i磁页,nd盘多即ow以是只s便因有会释为当将放有内页空进存面间写。回 中没有可分配空间,同

时又必须调入内存新的

页面时,才需要换出页
面。
WindowsXP的存储管理



理 内
Available MBytes 是计 算机上运行的进程的可
第2节 存储管理功能
• 用户实体与存储空间 • 分配、释放及分配原则 • 地址映射 • 虚拟存储器 • 存储保护与共享 • 存储区整理
用户实体与存储空间
1.用户实体与存储器的关系
• 任务在被激活之前存放在辅助存储器上。 • 当任务被激活时,它成为进程进入主存储器。 • 进程的描述部分及主程序部分始终存放于主存储器,其他 程序和数据部分视需要由操作系统在内存与外存之间交换。
第三章
存储管理
学习要点
• 存储管理概述 • 存储管理功能 • 分区管理 • 分页管理 • 分段管理和段页式管理 • 常用系统中的存储管理
第1节 概述 及实用系统中的存储管理方法
• 概述 • DOS的存储管理 • WindowsXP的存储管理 • Linux存储管理
存储管理概述
• 主存储器是计算机系统硬件中仅次于CPU的宝贵资 源。
连续的用
户逻辑地址空 作业空间
OS
间,经过装入
程序直接装入

分区的低地址

部分的单一的

连续的区域。
单一分区
2.分配与释放
入口(作业逻辑空间)
逻辑空间≤用户区?
是 装入作业

出错: 内存不够

2024版王道操作系统网课PPT整理(九)

2024版王道操作系统网课PPT整理(九)

段页式管理方式
段页式管理的基本概念
将进程先分段,每段再分页,即 先将用户程序分成若干个段,再 把每个段分成若干个页,并为每 一个段赋予一个段名。
段页式管理的地址结构
由段号、段内页号及页内位移三 部分所组成。
段页式管理的优缺点
结合了分段和分页的优点,既便 于实现、分段可共享、易于保护, 又能满足用户的要求;但增加了 系统开销,如地址变换复杂等。
04
文件管理
Chapter
文件和文件系统
文件的定义
文件是具有符号名的、在逻辑上具有 完整意义的一组相关信息项的有序序 列。
文件系统的定义
操作系统中负责存取和管理文件的信 息的机构,称为文件管理系统,简称 文件系统。
文件系统的功能
从系统角度来看,文件系统是对文件 存储器的存储空间进行组织、分配和 回收,负责文件的存储、检索、共享 和保护;从用户角度来看,文件系统 主要是实现“按名取存”,文件系统 的用户只要知道所需文件的文件名, 就可存取文件中的信息,而无需知道 这些文件究竟存放在什么地方。
02
对称加密和非对称 加密的原理和优缺 点比较。
03
数字签名和数字证 书的原理和应用。
04
加密技术在操作系 统中的应用:文件 加密、磁盘加密、 网络通信加密等。
操作系统安全漏洞与防范
操作系统安全漏洞的类型
缓冲区溢出、整数溢出、格式化字符串漏洞等。
操作系统安全加固的方法
关闭不必要的服务和端口、限制用户权限、定期 更新补丁等。
只能用于单用户、单 任务的操作系统中。
02
固定分区分配
将内存划分为若干个 固定大小的区域,每 个分区只装入一道作 业。
03
动态分区分配

操作系统第17讲 习题三new

操作系统第17讲 习题三new

A,B(1)提高系统吞吐量(2)提高存储空
间的利用率(3)降低存储费用(4)提高换入换出
的速度。
10
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
5、对重定位存储管理方式,应(A),当程序执行时,
是由(B)与(A)中的(C)相加得到(D),用(D)
来访问内存。
A(1)在整个系统中设置一个重定位寄存器;(2)
Ⅰ. 修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框
A.仅Ⅰ、Ⅱ B.仅Ⅱ C.仅Ⅲ D.Ⅰ、Ⅱ和Ⅲ
21
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
10.当系统发生抖动(thrashing)时,可用采取
的有效措施是()
Ⅰ. 撤销部分进程
Ⅱ.增加磁盘交换区的容量
Ⅲ.提高用户进程的优先级
A.仅Ⅰ B.仅Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅱ
空闲区大小递减
8
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
3、在回收内存时能出现下述几种情况(1)释放区与插
入点前一分区F1相邻,此时应(A);(2)释放区与
插入点后一分区F2相临界,此时应(B);(3)释放
区不与F1和F2相邻接,此时应(C)。
A,B,C:(1)为回收分区建立一分区表项,填上分
第四章 存储器管理
1、在动态分区式内存管理中,倾向于优先使用低
地址部分的空闲区的算法是(A);能使内存空间
中空闲分区分布得较均匀的算法是(B);每次分
配时,把即能满足需要,又能最小的空间区分配给
进程的算法是(C)
A,B,C:(1)最佳适应算法;(2)最坏适
应算法;(3)首次适应算法(4)循环首次适应算

内存的存储管理--段式和页式管理的区别

内存的存储管理--段式和页式管理的区别

存储管理的基本原理内存管理方法内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。

下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。

1.连续分配存储管理方式连续分配是指为一个用户程序分配连续的内存空间。

连续分配有单一连续存储管理和分区式储管理两种方式。

(1)单一连续存储管理在这种管理方式中,内存被分为两个区域:系统区和用户区。

应用程序装入到用户区,可使用用户区全部空间。

其特点是,最简单,适用于单用户、单任务的操作系统。

CP/M和DOS 2.0以下就是采用此种方式。

这种方式的最大优点就是易于管理。

但也存在着一些问题和不足之处,例如对要求内存空间少的程序,造成内存浪费;程序全部装入,使得很少使用的程序部分也占用—定数量的内存。

(2)分区式存储管理为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。

分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。

分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。

分区式存储管理引人了两个新的问题:内碎片和外碎片。

前者是占用分区内未被利用的空间,后者是占用分区之间难以利用的空闲分区(通常是小空闲分区)。

为实现分区式存储管理,操作系统应维护的数据结构为分区表或分区链表。

表中各表项一般包括每个分区的起始地址、大小及状态(是否已分配)。

分区式存储管理常采用的一项技术就是内存紧缩(compaction):将各个占用分区向内存一端移动,然后将各个空闲分区合并成为一个空闲分区。

这种技术在提供了某种程度上的灵活性的同时,也存在着一些弊端,例如:对占用分区进行内存数据搬移占用CPU~t寸间;如果对占用分区中的程序进行“浮动”,则其重定位需要硬件支持。

1)固定分区(nxedpartitioning)。

固定式分区的特点是把内存划分为若干个固定大小的连续分区。

第4章4-5节基本分页、分段存储管理方式

第4章4-5节基本分页、分段存储管理方式
页表
页号
计算公式:物理地址 块号 页面大小+块内地址 块号*页面大小 计算公式:物理地址=块号 页面大小 块内地址
0 1
块 号 2 4 6 7
逻辑地址3500:
页号:3500/1024=3 对应物理块号:7 页内地址:428
2 3
故物理地址为: 7*1024+428=7596
逻辑地址4500:
页号:4500/1024=4
第四章 存 储 器 管 理
问题:
在分页系统中,内存的利用率是不是就 可以达到100%了? 由于进程的最后一页经常装不满一块 而形成了不可利用的碎片,称之为“页内 页内 碎片”。 碎片
第四章 存 储 器 管 理
2) 页面大小 在分页系统中的页面其大小应适中: 页面 太小 太大 页面数 分配时间 多 少 长 短 内存碎片 减小 变大 内存利 用率 高 低
n
1742 外部页表
1023 0 1 2 第n页页表 1468
图 4-4 两级页表结构 1023
… … … 内存空间
114 1151468第四章 存 Nhomakorabea 器 管 理
(2)地址变换机构
外部页号 P1 外部页内地址 页内地址 P2 d
逻辑地址
外部页表寄存器

… 外部页表

… 页表
b d 物理地址
图 4-5 具有两级页表的地址变换机构
第四章 存 储 器 管 理
4.4.2 地址变换机构
假设页面大小为1K 假设页面大小为
1. 基本的地址变换机构
越界中断 逻辑地址 3100 页表寄存器
页表始址 页表长度

页号 3
页内地址 28
块号 页号 0 1 2 3 … 页表 物理地址 9244 1 3 4 9

2016华侨大学计算机科学与技术操作系统简答题

简答题一、第一章操作系统引论1.实时系统与分时系统的区别?1)多路性。

1.实时信息处理系统也按分时原则为多个终端用户服务。

2.实施控制系统的多路性则主要表现在系统周期地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。

3.分时系统中的多路性则与用户情况有关,时多时少。

2)独立性1.实时信息处理系统中的每个终端用户在向实时系统提出服务请求时,是彼此独立的操作,互不干扰。

2.实时控制系统中,对信息的采集和对象的控制也都是彼此互不干扰。

3)及时性1.实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的。

2.实时控制系统的及时性,则是以控制对象所要求的开始截至时间或完成截止时间来确定的。

4)交互性1.实时信息处理系统中,人与系统的交互仅限于访问系统中某些特定的专用服务程序2.分时系统可以向终端用户提供数据处理和资源共享服务。

5)可靠性1.分时系统和实时系统均要求系统可靠,实时系统比分时系统更可靠。

2.操作系统的主要功能1)处理机管理1.进程同步:进程同步的主要任务是为多个进程(含线程)的运行进行协调(两种协调方式)a)进程互斥方式b)进程同步方式2.进程通信:进程通信的主要任务就是用来实现在相互合作的进程之间的信息交换。

3.调度:在传统的操作系统中,包括作业调度和进程调度两步2)存储器管理1.内存分配:分为静态和动态两种方式2.内存保护:主要任务是确保没到用户程序都在自己的内存空间内运行,彼此互不干扰。

3.地址映射:逻辑地址和物理地址4.内存扩充3)设备管理1.缓冲管理2.设备分配3.设备处理4)文件管理1.文件存储空间的管理:其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高问价系统的存取速度.2.目录管理3.文件读写管理与保护5)操作系统与用户的接口1.用户接口a)联机用户接口b)脱机用户接口c)图形用户接口2.程序接口二、第二章进程管理1.进程的特征:由于程序是不能参与并发执行的,为使其并发执行,应为之配置进程控制块1)结构特征1.由程序段,相关的数据段和进程控制块(PCB)三部分构成了进程实体。

[操作系统]第3章 存储管理


3.3.2 可变分区管理
1. 可变分区概念 可变分区/动态分区,与固定分区有三点不同: 1)分区的建立时刻 可变分区:在系统运行过程中,在作业装入时动态建立 固定分区:系统初启时建立。 2)分区的大小 可变分区:根据作业对内存的需求量而分配。 固定分区:事先设定,固定不变。 3)分区的个数 可变分区:变化不定。 固定分区:固定不变。
第3章 存储管理 章
本章研究的主要目的: 第一、要使主存得到充分、有效的利用; 第二、为用户提供方便的使用环境。
第3章 存储管理 章
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 概述 地址映射 分区管理 覆盖与交换 分页管理 分段管理 段页式管理 虚拟存储器管理
3.1 概述
存储器分类
作业调度时,根据内存需求,按一定的分区分 配算法,在PDT中查找空闲区,若满足,则进 行分配,并置该分区状态为1,表明已被占用。 作业执行完,回收内存时,回收的分区状态置 0,等待重新分配。
固定分区存在问题
简单易行但存在下列问题: 碎片 可接纳的作业大小受分区大小的限制 一般用在作业大小预先知道的专用系统中。
空白区表中的空白区按其容量以递减的次序排 列。查找分区说明表,找到第一个满足申请长 度的空闲区,分配并分割。剩余部分插入适当 位置。 最差适应算法:分割大空闲区后,还可以产生 较大的空闲区,空闲区均匀地减小,以避免碎 片。
④ 唯一最佳适应算法(single best fit) 分区按大小顺序分级(8KB、16KB、32 KB、…… ) 作业按请求容量也分成相应的存储级,仅当 PDT中相应级的分区为空闲时,才进行内存 分配,即使有更大的分区空闲也不予以分配。
分配策略/算法
① 首次/最先适应First fit:

计算机内存管理基础知识

计算机内存管理基础知识一、前言学妹刚上大学,问我计算机内存知识需要了解么?我当场就是傻瓜警告,于是就有了这篇文章。

为什么要去了解内存知识?因为它是计算机操作系统中的核心功能之一,各高级语言在进行内存的使用和管理上,无一不依托于此底层实现,比如我们熟悉的Java内存模型。

最近几篇文章学习操作系统的内存管理后,喜欢底层的同学可以去学习CPU结构、机器语言指令和程序执行相关的知识,而看重实用性的同学后续学习多进程多线程和数据一致性时,可以有更深刻的理解。

二、冯•诺伊曼结构1、早期计算机结构在冯•诺依曼结构提出之前的计算机,是一种计算机只能完成一种功能,编辑好的程序是直接集成在计算机电路中,例如一个计算器仅有固定的数学计算程序,它不能拿来当作文字处理软件,更不能拿来玩游戏。

若想要改变此机器的程序,你必须更改线路、更改结构甚至重新设计此计算机。

简单来说,早期的计算机是来执行一个事先集成在电路板上的某一特定的程序,一旦需要修改程序功能,就要重新组装电路板,所以早期的计算机程序是硬件化的。

2、理论提出1945年,冯•诺依曼由于在曼哈顿工程中需要大量的运算,从而使用了当时最先进的两台计算机Mark I和ENIAC,在使用Mark I和ENIAC的过程中,他意识到了存储程序的重要性,从而提出了“存储程序”的计算机设计理念,即将计算机指令进行编码后存储在计算机的存储器中,需要的时候可以顺序地执行程序代码,从而控制计算机运行,这就是冯.诺依曼计算机体系的开端。

这是对计算机发展有深刻意义的重要理论,从此我们开始将程序和数据一样看待,程序也在存储器中读取,这样计算机就可以不单单只能运行事先编辑集成在电路板上的程序了,程序由此脱离硬件变为可编程的了,而后诞生程序员这个职业。

关于冯・诺依曼这位大神,值得单独开一篇文章来聊聊。

3、五大部件冯诺依曼计算机体系结构如下:数据流一》指令流-A 控制流---►img冯•诺依曼结构用极高的抽象描述了计算器的五大部件,以及程序执行时数据和指令的流转过程。

2019年最新-16页面置换算法-精选文档


7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1
进程运行时, 先将7,0,1三个页面装入内存。 以后, 当进程要访问页面2时, 将会产生缺页中断。此时OS根据 最佳置换算法, 将选择页面7予以淘汰。
引用率 701 203 042 303 212 017 01
777 2
2
3) 在实际应用中,为了照顾到重要的、紧迫的作业能尽 快地完成, 应为它分配较多的内存空间。通常采取的方法 是把内存中可供分配的所有物理块分成两部分:一部分按 比例地分配给各进程;另一部分则根据各进程的优先权, 适当地增加其相应份额后,分配给各进程。在有的系统中, 如重要的实时控制系统,则可能是完全按优先权来为各进 程分配其物理块的。
VII. 把所缺的页调入内存, 修改页表中的相应表项,存在位 为“1”,并将此页表项写入快表中。
VIII.形成所要访问数据的物理地址,再去访问内存数据。
4.7 页面置换算法
1. 2. 先进先出算法 3. LRU算法 4. Clock算法 5. 其他算法
页面置换算法
页面置换算法
页面置换算法的设计目标
具有较低的页面更换频率 换出以后不再访问的页面或者较长时间不再使用的页面
页面置换算法
4.7.1
1. 最佳(Optimal) Belady于1966年提出的一种理论上的算法,思想是选择的 被淘汰页面以后将永不使用,或者在最长(未来)时间内 不再被访问。
页面置换算法
假定系统为某进程分配了三个物理块, 并考虑有以下
页面置换算法
3. 物理块分配算法 1)
这是将系统中所有可供分配的物理块,平均分配给各个 进程。 例如,当系统中有100个物理块,有5个进程在运行时, 每个进程可分得20个物理块。这种方式貌似公平,但实际上 是不公平的,因为它未考虑到各进程本身的大小。如有一个 进程其大小为200页,只分配给它20个块,这样,它必然会 有很高的缺页率;而另一个进程只有10页,却有10个物理块 闲置未用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

存储器是计算机系统的重要部分,存储器是一种宝贵的资源,因此要合理的管理和利用。
存储器管理的主要对象是内存。存储管理的主要任务是为多道程序的运行提供良好的环境,
方便用户使用存储器,提高存储器的利用率以及从逻辑上扩充存储器。
存储器管理应该具有下面功能:
 实现内存的分配和回收
 地址变换
 “扩充”内存容量
 进行存储保护
1 程序的装入和链接
在多道程序环境下,要使程序运行,必须创建进程,而创建进程第一件事就是将程序和
数据装入内存。一个用户源程序要变为在内存中可执行的程序,通常要进行以下处理:
(1)编译:由编译程序将用户源程序编译成若干个目标模块
(2)链接:由链接程序将目标模块和相应的库函数链接成装入模块
(3)装入:由装入程序将装入模块装入内存
1.1 一些概念
 逻辑地址--用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。也就是相
对与初始地址的,逻辑地址又称相对地址,相对基地址而言。
 物理地址--内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又
称绝对地址,它是数据在内存中的实际存储地址。

地址空间(名空间):指用户程序使用的全部地址。地址空间中的每个地址单元编号称

为逻辑地址(logical address),由于通常逻辑地址都是相对于程序的起始地址的,故又称
为相对地址(relative address)。
 存储空间:指内存中存储数据的物理单元的集合。这些物理单元的集合称为物理地址
(physical address)或绝对地址(absolute address)。
 重定位:当作业的地址空间与存储空间不一致时,所进行的地址调整以便使作业能够执
行的过程称为重定位。重定位实质是地址变换,即作业地址空间中的逻辑地址变换为主存空
间的物理地址。根据地址变换进行的时间及采用技术手段不同,可分为静态重定位和动态重
定位两类。

静态重定位(static relocation):在作业装入时根据目标程序装入内存的位置来对目标

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

1.2.1 绝对装入方式
思想:编译时,若知道程序将驻留内存的什么位置,则编译程序将产生绝对地址的目标
代码(即装入模块)。绝对装入程序按照装入模块中的地址,将程序和数据装入内存。装入
模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,因此不用对程序和数

据进行修改。那么是谁知道程序将驻留在内存的什么位置呢?程序员,因此此方式要求程序

员要很熟悉内存使用情况。
适用:单道程序环境
1.2.2 可重定位装入方式
基本思想:在多道环境下,不可能预知程序应该放在内存的哪个位置,装入程序在装入时根
据内存的实际情况把相对地址(逻辑地址)转换为绝对地址,装入到适当的位置。(在装入
时进行地址转换)静态重定位。
适用:用于多道程序环境。
课本例子见下图P104

1.2.3动态运行时装入方式
思想:在把装入模块装入内存后,并不立即进行地址转换,而是把相对地址到绝对地址的的
地址转换推迟到程序真正开始运行的时候再进行。需要一个重定位寄存器支持。其本质就是
在程序运行的过程中进行地址转换。
适用:多道环境中程序在内存中改变位置。

1.2.4 三种装入方式的对比
绝对装入方式只能将装入模块装入到内存中事先指定的位置,在多道程序环境下是不可
能事先知道每一道程序在内存中的位置的,因此这种装入方式只能用于单道程序环境。地址
转换时机:程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。
适用于。
可重定位装入方式可将装入模块装入到内存中任何允许的位置,故可用于多道程序环境;
然而它不允许程序在运行中移动位置。地址转换时机发生于程序装入内存时发生。适用于
动态运行时装入方式允许程序在运行中移动位置,需要特殊硬件的支持。地址转换时机
发生于程序运行时。适用于
1.2 程序的链接
由链接程序将目标模块和相应的库函数链接成装入模块。按照链接时间不同分为三种:
1.2.1 静态链接方式
思想:是一种事先链接方式,即在程序运行之前,先将各目标模块及它们所需的库函数,链
接成一个完整的装入模块(执行文件),以后不再拆开。
实现静态链接应解决的问题:
(1)相对地址的修改。每个模块中所有相对地址的修改。比如,原起始地址为0,现在为L。
则模块中所有相对地址都要加L。
(2)变换外部调用符号。每个模块中所用的外部调用符号也都要变换。如模块的起始地址
为0,现在变为L。
存在问题:
(1)不便于对目标模块的修改和更新
(2)无法实现对目标模块的共享

如图
1.2.2 装入时动态链接
思想:指将一组目标模块在装入内存时,边装入边链接的方式。具有便于修改和更新、便于
实现对目标模块的共享。
存在问题:
由于程序运行所有可能用的目标模块在装入时均全部链接在一起,所以将会把一些不会
运行的目标模块也链接进去。如程序中的错误处理模块
1.2.3 运行时动态链接
思想:在程序运行中需要某些目标模块时,才对它们进行链接的方式。具有高效且节省内存
空间的优点。

相关文档
最新文档