操作系统存储管理
计算机操作系统存储管理

计算机操作系统存储管理计算机操作系统存储管理是指操作系统在运行过程中管理和控制计算机的存储资源的一种机制。
它负责分配和回收内存,以及保护和管理进程的内存访问权限。
存储管理是操作系统中的一个重要子系统,对系统的性能和稳定性具有重要影响。
本文将介绍计算机操作系统存储管理的基本原理、常见的存储管理技术以及其在实际应用中的作用。
一、存储管理的基本原理在计算机系统中,存储器扮演着重要的角色,它用于存储程序、数据和系统状态。
计算机操作系统存储管理的基本原理是将物理内存划分为多个逻辑区域,每个区域被分配给不同的程序或进程使用。
操作系统维护一个内存分配表,记录每个逻辑区域的使用情况,并根据请求进行内存分配与回收。
当进程创建时,操作系统将为其分配一定大小的内存,当进程终止时,操作系统会回收这些内存资源。
同时,存储管理还负责处理内存碎片问题,通过内存的动态分配与合并来最大化利用内存资源。
二、常见的存储管理技术1. 基于固定分区的存储管理技术基于固定分区的存储管理技术是最早的一种存储管理方法。
它将物理内存划分为若干固定大小的分区,每个分区只能分配给一个进程使用。
该方法简单直观,但由于分区的固定大小,会产生很多内存碎片,不利于内存的高效利用。
2. 基于可变分区的存储管理技术为了解决内存碎片问题,出现了基于可变分区的存储管理技术。
这种技术允许每个进程动态地申请和释放内存空间,分区的大小可以根据进程的需要进行调整。
它相对于固定分区的方法更加灵活,能够提高内存利用率,但也存在内存碎片问题。
3. 页式存储管理技术页式存储管理技术将物理内存和逻辑内存划分为固定大小的页块,进程的地址空间也被划分为相同大小的页。
通过将逻辑地址转换为物理地址,实现了逻辑内存与物理内存的映射。
该技术可以很好地解决内存碎片问题,并且方便创建和销毁进程,但需要额外的地址转换开销。
4. 段式存储管理技术段式存储管理技术将进程的逻辑地址空间划分为若干段,每个段具有不同的长度和属性。
计算机操作系统中的文件系统和存储管理

计算机操作系统中的文件系统和存储管理计算机操作系统作为整个计算机系统的核心,负责管理和控制计算机硬件和软件资源的使用。
其中,文件系统和存储管理是操作系统中重要的子系统,负责管理计算机中的文件和存储设备。
本文将介绍计算机操作系统中的文件系统和存储管理的作用、原理以及常见实现方式。
一、文件系统文件系统是操作系统中的一个重要组成部分,它负责管理和组织计算机中的文件,使用户能够方便地创建、访问、修改和删除文件。
文件系统在操作系统层次上对存储介质进行抽象,将存储设备上的数据组织为一个个文件,并提供了对文件的操作接口。
常见的文件系统有FAT、NTFS(在Windows系统中使用)、EXT4(在Linux系统中使用)等。
文件系统的主要功能如下:1. 文件的创建与删除:文件系统提供了创建和删除文件的接口,用户可以根据需要创建和删除文件。
2. 文件的读写操作:用户可以通过文件系统对文件进行读写操作,包括从文件中读取数据和向文件中写入数据。
3. 文件的共享与保护:文件系统可以对文件进行共享和保护,以控制不同用户对文件的访问权限。
4. 文件的组织和管理:文件系统可以对文件进行组织和管理,包括对文件进行分类、组合和命名等。
文件系统的实现方式一般采用了目录结构,它通过目录(或文件夹)来组织和管理文件。
目录可以看作是一个文件索引的表格,它记录了文件的位置、大小、权限等信息,使用户可以根据文件名或路径找到相应的文件。
二、存储管理存储管理是操作系统中的另一个重要组成部分,它负责管理计算机中的存储设备,包括内存、硬盘等,以使其能够高效地存储和检索数据。
存储管理的主要功能如下:1. 内存管理:存储管理负责对计算机中的内存进行管理,包括内存的分配与释放、内存的保护与共享等。
通过内存管理,操作系统可以为不同的进程提供独立的地址空间,保证它们之间的互不干扰。
2. 虚拟存储:虚拟存储是一种将物理内存和辅助存储设备(如硬盘)结合起来使用的技术。
深入了解计算机操作系统的存储管理

深入了解计算机操作系统的存储管理计算机操作系统是计算机系统的核心组成部分,为计算机软件和硬件的协调运行提供支持。
计算机内存是计算机硬件中的重要组成部分,是计算机系统运行的基础。
在计算机操作系统中,存储管理是最基本的操作之一。
本文将深入探讨计算机操作系统中的存储管理。
一、存储管理概述在计算机操作系统中,存储管理主要包括内存分配和内存回收两个方面。
内存分配是指在计算机系统启动时,将内存分为多个块,并为进程和线程分配所需的内存,以保证它们可以正常运行;内存回收是指在进程和线程退出时,将分配给它们的内存释放给系统,以便供其他进程和线程使用。
二、内存分配技术为了更好地满足进程和线程的内存需求,计算机操作系统采用了多种内存分配技术,包括动态内存分配和静态内存分配两种。
1、动态内存分配动态内存分配是指在进程和线程运行时,根据其实际内存需求进行内存分配。
操作系统通常采用分区技术对内存进行分配,可以分为固定分区和动态分区两种。
(1) 固定分区固定分区是指将内存分为若干个固定大小的分区,每个分区只能分配给一个进程或线程使用。
由于分区大小固定,因此容易产生“内存碎片”的问题,如果分区大小过小会浪费内存,如果分区大小过大则会导致分配不均。
因此,固定分区在实际应用中并不常用。
(2) 动态分区动态分区是指将内存分为若干个不固定大小的分区,每个分区可以根据进程或线程的实际内存需求进行分配。
动态分区主要解决了固定分区的一些问题,但也会产生“内存碎片”问题。
2、静态内存分配静态内存分配是指在编译时就将内存分配给进程或线程,并在运行时不再进行内存分配。
静态内存分配主要用于一些固定的程序或数据结构上,通常不适用于通用操作系统中。
三、内存回收技术在进程或线程退出时,需要将其占用的内存释放,并返还给系统。
内存回收主要包括两种技术,分别为手动回收和自动回收。
1、手动回收手动回收是指在编写程序时,由程序员手动释放所分配的内存。
手动回收需要注意内存泄漏和悬挂指针等问题,需要程序员自己负责管理内存。
操作系统存储管理

操作系统存储管理在计算机的世界里,操作系统就像是一位有条不紊的大管家,而存储管理则是它手中的一项关键任务。
存储管理的职责是有效地管理计算机的内存和外存资源,以确保程序能够顺利运行,数据能够安全存储和快速访问。
想象一下,如果计算机的存储系统是一个杂乱无章的仓库,程序和数据随意堆放,那么计算机的运行效率将会变得极其低下,甚至可能会出现错误。
因此,操作系统的存储管理就显得尤为重要。
首先,我们来谈谈内存管理。
内存是计算机中程序运行时直接使用的存储空间,它的速度快但容量相对较小。
内存管理的主要任务之一就是合理地分配内存给各个程序,确保它们能够正常运行,同时避免内存的浪费和冲突。
当一个程序需要运行时,操作系统会为它分配一块足够的连续内存空间。
这就像是在一个有限的房间里为客人安排合适的座位一样。
为了实现高效的内存分配,操作系统采用了多种策略,比如分区分配法、分页存储管理和分段存储管理等。
分区分配法是将内存划分为若干个固定大小或可变大小的分区,然后将程序分配到合适的分区中。
这种方法简单直观,但容易产生内存碎片,即一些无法被利用的小空闲区域。
分页存储管理则将内存划分为固定大小的页,程序也被分成同样大小的页。
这样,操作系统可以更灵活地分配内存,减少了内存碎片的产生。
但它也有缺点,比如页表的维护会带来一定的开销。
分段存储管理则是根据程序的逻辑结构将其分成不同的段,比如代码段、数据段等。
这种方式更符合程序的逻辑,但也需要更复杂的管理机制。
除了内存分配,内存保护也是内存管理的重要任务。
操作系统要确保一个程序只能访问自己被分配的内存区域,不能越界访问其他程序的内存,以保证系统的安全性和稳定性。
接下来,我们说说外存管理。
外存,比如硬盘,具有大容量但速度较慢的特点。
外存管理主要涉及文件系统和存储设备的管理。
文件系统就像是一个图书馆的分类系统,它将外存中的数据组织成文件和目录的形式,方便用户查找和使用。
文件系统需要考虑文件的命名、存储位置、访问权限等诸多方面,以提供高效、可靠的文件存储和访问服务。
操作系统存储管理与文件系统

操作系统存储管理与文件系统操作系统是计算机系统中的关键组成部分,它负责协调和管理计算机硬件和软件资源的分配和调度。
其中,存储管理和文件系统是操作系统的两个重要模块。
本文将就操作系统存储管理和文件系统的概念、原理以及其在计算机系统中的作用进行探讨。
一、存储管理存储管理是操作系统中的一个重要模块,它负责管理和分配计算机的内存资源。
操作系统使用存储管理来维护系统的内存层次结构,包括主存储器(RAM)和辅助存储器(硬盘、固态硬盘等)。
存储管理的主要任务包括内存分配、地址转换、内存保护和内存回收等。
1. 内存分配内存分配是指操作系统管理内存资源的过程。
在计算机系统中,每个进程都需要一定数量的内存来存储程序代码、数据和运行时堆栈等信息。
操作系统通过内存分配算法,将可用的内存空间划分给不同的进程,以保证每个进程都能得到所需的内存资源。
2. 地址转换地址转换是存储管理的关键环节之一。
由于物理内存和进程的虚拟地址空间并不一致,操作系统需要通过地址转换机制将虚拟地址映射到物理地址上。
常见的地址转换技术包括分段、分页和段页式转换等。
3. 内存保护内存保护是保证系统安全和稳定性的重要手段。
操作系统通过内存保护机制,防止多个进程之间相互干扰或越界访问内存空间,以保证系统运行的稳定性和安全性。
4. 内存回收内存回收是指操作系统在进程结束或者内存资源紧张时,将不再使用的内存空间回收并释放给其他进程使用。
内存回收的主要方式包括垃圾回收、页面置换等。
二、文件系统文件系统是管理计算机存储设备上的文件和目录结构的一种机制。
它为用户和应用程序提供了方便的访问和管理文件的接口。
文件系统通过文件管理、目录管理和文件存储管理等模块,实现了对文件的组织和存储。
1. 文件管理文件管理是文件系统中的核心功能之一,它负责文件的创建、打开、关闭、读写和删除等操作。
文件管理还包括文件的权限管理、属性管理和空间管理等。
操作系统通过文件管理,使用户和应用程序能够方便地进行文件的操作和管理。
31操作系统_存储管理

31操作系统_存储管理在计算机的世界里,操作系统就像是一个大管家,负责统筹和管理着各种资源,让计算机能够有条不紊地运行。
而存储管理,则是这个大管家工作中的一个重要环节。
想象一下,计算机的存储就像是一个巨大的仓库,里面存放着各种各样的数据和程序。
存储管理的任务就是要确保这些“货物”能够被合理地存放、取用和保护,同时还要最大程度地提高仓库的空间利用率。
首先,我们来谈谈存储管理中的分区存储管理。
这就好比把仓库划分成不同的区域,每个区域有固定的大小。
早期的操作系统常常采用这种方式。
固定分区就是事先把仓库划分成几个大小固定的区域,每个程序进来就只能放在规定的区域里。
这种方式简单直接,但缺点也很明显,如果程序太大,放不进某个区域,那就没办法了;如果程序很小,却占了一个大区域,就会造成空间的浪费。
为了改进这个问题,出现了动态分区。
它就灵活多了,根据程序的实际大小来划分区域。
程序进来的时候,系统会找一块足够大的空闲区域给它。
但是,这又带来了新的麻烦,那就是容易产生碎片。
就像仓库里的货物摆放不整齐,到处都是小块的空闲空间,很难再利用起来。
为了减少碎片的产生,又有了分页存储管理。
这就像是把仓库的地面划分成一个个同样大小的格子,数据和程序被分成固定大小的页,存放在这些格子里。
这样一来,空间的利用更加精细,碎片问题得到了一定的缓解。
但是,分页也有它的不足,那就是页表可能会很大,占用不少内存。
接着是分段存储管理。
分段是根据程序的逻辑结构来划分的,比如把一个程序的不同功能模块分成不同的段。
这样更符合人们的思维习惯,也方便程序的共享和保护。
不过,分段也不是完美的,它可能会导致外部碎片的产生。
为了解决分页和分段各自的问题,结合两者优点的段页式存储管理应运而生。
先分段,再分页,既照顾了程序的逻辑结构,又提高了空间利用率。
在存储管理中,还有一个重要的概念就是虚拟存储。
它就像是给计算机制造了一个“假象”,让计算机觉得自己拥有比实际更多的内存。
操作系统之存储管理

一个编译好的程序存在于它自己的逻辑地址空间中,运行时,要把它装入内存空间,图 3.2 显示了一个作业在编译前、编译后及装入内存后不同的地址空间。
1000b 1100b
Mov R1,[1200]
1000b 1100b
Mov R1,[200]
1200b
6817
1200b
6817
1299b
1299b
重定位寄存器
逻辑地址 200b
1000b
1200b 内存地址
(a) 采用静态重定位后的内存空间 (b) 采用动态重定位时内存空间及地址重定位示意图
图 3.3 静态地址重定位和动态地址重定位示意图
静态地址重定位的优点是通过重定位装入程序,实现逻辑地址到物理地址的转化,不需 要硬件的支持,可在任何机器上实现。早期的操作系统中大多数采用这种方法。缺点是程序 必须占用连续的内存空间,且一旦装入内存后,因为逻辑地址已被改变,就不便再移动,不 利于内存空间的利用。所以静态地址重定位只适用于静态的内存分配方式。
⑵ 动态地址重定位 动态地址重定位是在程序执行期间进行的。一般说来,这种转换由专门的硬件机构来完 成,通常采用一个重定位寄存器,在每次进行存储访问时,对取出的逻辑地址加上重定位寄 存器的内容,形成正确的物理地址,重定位寄存器的内容是程序装入内存的起始地址,如图 3.3(b)所示。 动态地址重定位的优点是不要求程序装入固定的内存空间,在内存中允许程序再次移动 位置,而且可以部分地装入程序运行,也便于多个作业共享同一程序的副本,因此,现代计 算机系统广泛采用动态地址重定位技术。动态地址重定位技术缺点是需要硬件支持,而且实
实验四 操作系统存储管理实验报告

实验四操作系统存储管理实验报告一、实验目的本次操作系统存储管理实验的主要目的是深入理解操作系统中存储管理的基本原理和方法,通过实际操作和观察,掌握内存分配、回收、地址转换等关键技术,提高对操作系统存储管理机制的认识和应用能力。
二、实验环境操作系统:Windows 10开发工具:Visual Studio 2019三、实验原理1、内存分配方式连续分配:分为单一连续分配和分区式分配(固定分区和动态分区)。
离散分配:分页存储管理、分段存储管理、段页式存储管理。
2、内存回收算法首次适应算法:从内存低地址开始查找,找到第一个满足要求的空闲分区进行分配。
最佳适应算法:选择大小最接近作业需求的空闲分区进行分配。
最坏适应算法:选择最大的空闲分区进行分配。
3、地址转换逻辑地址到物理地址的转换:在分页存储管理中,通过页表实现;在分段存储管理中,通过段表实现。
四、实验内容及步骤1、连续内存分配实验设计一个简单的内存分配程序,模拟固定分区和动态分区两种分配方式。
输入作业的大小和请求分配的分区类型,程序输出分配的结果(成功或失败)以及分配后的内存状态。
2、内存回收实验在上述连续内存分配实验的基础上,添加内存回收功能。
输入要回收的作业号,程序执行回收操作,并输出回收后的内存状态。
3、离散内存分配实验实现分页存储管理的地址转换功能。
输入逻辑地址,程序计算并输出对应的物理地址。
4、存储管理算法比较实验分别使用首次适应算法、最佳适应算法和最坏适应算法进行内存分配和回收操作。
记录不同算法在不同作业序列下的内存利用率和分配时间,比较它们的性能。
五、实验结果与分析1、连续内存分配实验结果固定分区分配方式:在固定分区大小的情况下,对于作业大小小于或等于分区大小的请求能够成功分配,否则分配失败。
内存状态显示清晰,分区的使用和空闲情况一目了然。
动态分区分配方式:能够根据作业的大小动态地分配内存,但容易产生内存碎片。
2、内存回收实验结果成功回收指定作业占用的内存空间,内存状态得到及时更新,空闲分区得到合并,提高了内存的利用率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016/5/30
操作系统
29
多个等待队列 分区4 单个等待队列 分区4
分区3
分区3
分区2 分区1 操作系统
2016/5/30
分区2 分区1 操作系统
操作系统
30
固定分区(续)
内存管理:设置内存分配表(P146)
分区号 起始地址 长度 状态 进程名
内存分配: 内存回收: 缺点:内存利用率不高
操作系统
4
3.1.2 存储管理的目的
充分利用内存,为多道程序并发执行提供存储基础 尽可能方便用户使用
自动装入用户程序 用户程序中不必考虑硬件细节
系统能够解决程序空间比实际内存空间大的问题 程序在执行时可以动态伸缩 内存存取速度快 存储保护与安全 共享与通信 了解有关资源的使用状况 实现的性能和代价
基址寄存器:存放起始地址 限长寄存器:存放长度
防止操作越权
即读写保护 代码段只读,数据段可读和写
2016/5/30
操作系统
8
3.1.3 存储管理的功能(3)
内存扩充:
用户在编制程序时,不应该受内存容量限制,所 以要采用一定技术来“扩充”内存的容量,使用 户得到比实际内存容量大的多的内存空间 具体实现是在硬件支持下,软硬件相互协作,将 内存和外存结合起来统一使用
静态链接是在生成可执行文件时进行的。在目 标模块中记录符号地址(symbolic address), 而在可执行文件中改写为指令直接使用的数字 地址
经过编译的.obj文件 运行时库文件
链接器
可执行程序、包含了库函数
2016/5/30
操作系统
20
执行系统调用的过程
完成read (fd, buffer, nbytes)函数需要11 个步骤
编辑:形成源文件(符号地址) 编译:形成目标模块(模块内符号地址解析) 链接:由多个目标模块或程序库生成可执行文件(模块间 符号地址解析) 装入:构造PCB,形成进程(使用物理地址)
重定位方法:
绝对装入 可重定位装入 动态装入
2016/5/30
操作系统
11
1. 逻辑地址、物理地址和地址映射
优点:不需硬件支持,可以装入有限多道程序 (如MS DOS中的TSR<Terminate/Stay Resident>)。 缺点:一个程序通常需要占用连续的内存空间, 程序装入内存后不能移动。不易实现共享。
2016/5/30
操作系统
16
可执行文件在内存中的重定位
0 Relocation Table 150 ... 2000 150 ...
缺点:需要硬件支持(通常是CPU),OS实 现较复杂。它是虚拟存储的基础。
2016/5/30
操作系统
18
3.1.5 链接
链接是指多个目标模块在执行时的地址空间分 配和相互引用
3.1.5.1 静态链接 3.1.5.2 动态链接
2016/5/30
操作系统
返回
19
3.1.5.1 静态链接(static-linking)
寄存器(register) 命令处理程序 快速缓存(cache) DOS核心 内存(primary storage) 外存(secondary storage)
快速缓存:
Data Cache TLB(Translation Lookaside Buffer)
内存:DRAM, SDRAM等; 外存:软盘、硬盘、光盘、磁带等; 2016/5/30
存储组织是指在存储技术和CPU寻址技术许可的范 围内组织合理的存储结构
其依据是访问速度匹配关系、容量要求和价格。
“寄存器-内存-外存”结构 “寄存器-缓存-内存-外存”结构;
2016/5/30
操作系统
3
微机中的存储层次组织
访问速度越慢,容量越大,价格越便宜;
最佳状态应是各层次的存储器都处于均衡的繁忙状 态(如:缓存命中率正好使主存读写保持繁忙);
操作系统
1
3.1 存储概述
3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 存储组织 存储管理的目的 存储管理的功能 重定位 链接
2016/5/30
操作系统
2
3.1.1 存储组织
存储器的功能是保存数据,存储器的发展方向是高 速、大容量和小体积
内存在访问速度方面的发展:DRAM、SDRAM、SRAM 等; 硬盘技术在大容量方面的发展:接口标准、存储密度等;
2016/5/30
操作系统
21
3.1.5.2 动态链接(dynamic-linking)
在装入或运行时进行链接。通常被链接的共享代码称为动态链 接库(DLL, Dynamic-Link Library)或共享库(shared library)。
经过编译的.obj文件 引入库,包含DLL函数的重定位信息
逻辑地址(相对地址,虚地址):用户的程序经过 汇编或编译后形成目标代码,目标代码通常采用相 对地址的形式
其首地址为0,其余指令中的地址都相对于首地址来编址 不能用逻辑地址在内存中读取信息
物理地址(绝对地址,实地址):内存中存储单元 的地址。物理地址可直接寻址 地址映射:将用户程序中的逻辑地址转换为运行时 由机器直接寻址的物理地址。
2016/5/30
操作系统
31
2. 可变分区存储管理方案
基本思想
内存不是预先划分好的 作业装入时,根据作业的需求和内存空间 的使用情况来决定是否分配 若有足够的空间,则按需要分割一部分分 区给该进程;否则令其等待内存空间
200 data1 3456 3456
1200
2016/5/30
操作系统
13
地址映射过程
逻辑地址空间
0
. . .
VR LOAD A 200 200
BR 1000
物理地址空间
100
+
1100
200
. . .
3456 1200
. . .
300
2016/5/30
1300
操作系统
14
2. 绝对装入(absolute loading)
jmp 150 100
jmp 2150 2100
说明:重定位表中列出所有修改的位置。如:重定 位表的150表示相对地址150处的内容为相对地址 (即100为从0起头的相对位置)。在装入时,要依据 重定位后的起头位置(2000)修改相对地址。
重定位修改:重定位表中的150->绝对地址 2150(=2000+150) 2016/5/30 操作系统 内容修改:内容100变成 2100(=100+2000))。
2016/5/30
操作系统
27
3.2 分区存储管理方案
系统把内存用户区划分为若干连续区域, 称为分区 分区大小可以相等,也可以不等。一个 进程占据一个分区 固定分区 可变分区
2016/5/30
操作系统
28
1. 固定分区
预先把可分配的内存空间分割成若干个 连续区域,每一区域称为分区 每个分区的大小可以相同也可以不同, 分区大小固定不变,每个分区装一个且 只能装一个作业
0 进程2
操作系统
24
单一连续区存储管理
内存分为两个区域:系统区,用户区。 应用程序装入到用户区,可使用用户区 全部空间 最简单,适用于单用户、单任务的OS 优点:易于管理。 缺点:
对要求内存空间少的程序,造成内存浪费; 程序全部装入,很少作系统
25
单一连续区存储管理
0xFFF... 用户程序 位于RAM中的 操作系统 ROM中的 设备驱动程序
用户程序 位于RAM中的 操作系统 0
2016/5/30
用户程序 0
操作系统
位于RAM中的 操作系统 0
26
存储管理方案
分区存储管理方案 页式存储管理方案 段式存储管理方案 段页式存储管理方案 交换和覆盖 虚拟存储管理方案
逻辑地址(相对地址,虚地址) 物理地址(绝对地址,实地址) 地址映射
2016/5/30
操作系统
10
3.1.4 重定位(地址映射)
重定位:在可执行文件装入时需要解决可执行文件 中地址(指令和数据)和内存地址的对应。由操作 系统中的装入程序loader来完成 程序在成为进程前的准备工作
在可执行文件中记录内存地址,装入时直接定 位在上述(即文件中记录的地址)内存地址。
优点:装入过程简单。 缺点:过于依赖于硬件结构,不适于多道程序系统。
2016/5/30
操作系统
15
3. 可重定位装入(relocatable loading)
在可执行文件中,列出各个需要重定位的地址单元和 相对地址值。当用户程序被装入内存时,一次性实现 逻辑地址到物理地址的转换,以后不再转换(一般在 装入内存时由软件完成)。即:装入时根据所定位的 内存地址去修改每个重定位地址项,添加相应偏移量。
链接器
动态链接库 可执行程序 重定位 信息 调用DLL中的函数
2016/5/30
内存
操作系统
22
动态链接的特点
优点
共享:多个进程可以共用一个DLL,节省内存,减少文件 交换。 部分装入:一个进程可以将多种操作分散在不同的DLL中 实现,而只将当前操作相应的DLL装入内存。 便于局部代码修改:即便于代码升级和代码重用;只要函 数的接口参数(输入和输出)不变,则修改函数及其DLL, 无需对可执行文件重新编译或链接。 便于运行环境适应:调用不同的DLL,就可以适应多种使 用环境和提供不同功能。如:不同的显示卡只需厂商为其 提供特定的DLL,而OS和应用程序不必修改。