内容程序的装入和链接连续分配存储管理方式覆盖与交换分页

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在程序运行期间,凡遇到访问内存的操作,就由硬件机 制自动地把用户程序的相对地址与重定位寄存器的内容相加, 其和就是实际访问内存华北的电力有大学效计地算机址系 。
Βιβλιοθήκη Baidu 5.1.1 程序的装入
0:
重定位寄存器
10000
2500
10000:
100: LOAD 1,2500
2500:365 5000:
10100: LOAD 1,2500 +
12500: 365 15000:
地址空间
存储空间
• 优点:OS可以将一个程序分散存放于不连续的内存空
间,可以移动程序,有利用实现共享。
1. 缺点:需要华硬北件电力支大学持计,算机O系S实现较复杂。
5.1.2链接程程序序的的链功能接是将经过编译或汇编得到的一组
目标模块以及它们所需的库函数,装配成一个完整的 装入模块,实现链接的方法有三种:静态链接、装入 时动态链接和运行时动态链接。
华北电力大学计算机系
5一.1..2静态程链序接的(S链tat接ic Linking)
事先进行链接,形成一个完整的装入模块,即可执行模 块,以后不再拆开,要运行时可直接调入内存。
1. 对相对地址进行修改 2. 变换外部调用符号
华北电力大学计算机系
5二.1..2装入程时序动的态链链接接(Load-Time Dynamic Linking)
的主要区别; ✓ 了解并领会段页式存储管理方式;
华北电力大学计算机系
第➢ 五重章点 存储器管理
✓ 动态分区分配; ✓ 分页存储管理的基本方法; ✓ 分页存储管理方式的地址变换机构; ✓ 分页存储管理方式的页表机制; ✓ 分段存储管理的基本原理。
➢ 难点
✓ 动态分区分配算法; ✓ 动态重定位分区分配算法; ✓ 分页存储管理具有快表的地址变换机构; ✓ 段页式存储管理的地址变换过程。
目标模块在装入内存时,边装入边链接,即在装入一个目标模块时, 若发生一个外部模块调用,将引起装入程序去找出相应的外部目标模块,并 将之装入内存。
1. 优点
便于软件版本的修改和更新 便于实现目标模块的共享
2. 缺点
进程执行期间,装入模块是不改变的 每次运行时,装入模块都是相同的
三.运行时动态链接(Run-Time Dynamic Linking)
华北电力大学计算机系
55..11.1程程序序的的装装入入 和链接
5.1.2 程序的链接
华北电力大学计算机系
5一.1..1程序程在序成的为装进程入前的准备工作
1. 编辑:形成源文件 2. 编译:形成目标模块 3. 链接:由多个目标模块或程序库生成装入模块 4. 装入:将装入模块装入内存

内存
编辑 程序
在可执行文件中记录内存地址,装入时直接定位在上述( 即文件中记录的地址)内存地址。
1. 优点:装入过程简单。 2. 缺点:过于依赖于硬件结构,不适于多道程序系统。
华北电力大学计算机系
5二.1..1可重程定序位的装装入方入式(Relocatable Loading Mode)
即静态重定位,装人程序把目标模块中的逻辑地址与本程
华北电力大学计算机系
5三.1..1动态程运序行的时装装入入方式(Dynamic Run-Tme Loading Mo
de) 即动态重定位,是在程序运行时完成的,靠硬件地址变换 机构实现。 装入内存的地址仍是相对地址。
最简单的办法是利用一个重定位寄存器。
在程序实际运行前,由操作系统把程序在内存的起始地址 送入重定位寄存器。
序在内存中的起始地址相加得到正确的物理地址。
0:
10000:
1000: LOAD 1,2500 11000: LOAD 1,12500
2500: 365
12500: 365
2600:
12600:
地址空间
存储空间
1. 优点:不需硬件支持,可以装入多道程序
2. 缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不 能移动。不易实现共享。
模块中的地址称为相对地址(或称为“逻辑地址”、“虚 地
址”),而把相对地址的集合称为“相对地址空间”或简 称
为“地址空间”。
华北电力大学计算机系
5.13..1存储程空序间的装入
我们把这一内存中存储单元的地址称为物理地址(绝对
地址,实地址),其集合称为“绝对地址空间”或“存储 空
间”。 4. 重定位
源文件
目标
编译 程序
模块
. . .
目标
模块
华北电力大学计算机系
链接 程序
装入 装入 模块 程序
5二.1..1名字程空序间的、装地址入空间、重定位和存储空间
1. 名字空间 在源程序中,是通过符号名来访问子程序和数据的,我
们把程序中符号名的集合称为“名字空间”。
1. 地址空间 目标程序是以“0”作为参考地址的模块,我们把目标
装配模块虽然具有统一的地址空间,但是仍是以“0” 作 为参考地址。要把它装入内存执行,就要确定装入内存的 实际物理地址,并修改程序中与地址有关的代码,这一过 程称为地址重定位。 所谓地址重定位是指把地址空间中的逻辑地址转换为存 储空间的物理地址的过程.又称为地址映射。 由操作系统中华的北电装力大入学程计算序机系loader来完成。 地址重定位的方式有静态重定位和动态重定位。
将某些目标模块的链接,推迟到执行时在进行,即在执行过程中,若 发现一个被调用模块尚未装入内存,由OS去找到该模块,将它装入内存,并 把它链接到调用模块上。华北电力大学计算机系
5四.1..2Wi程nd序ow的s N链T动接态链接库
1. 构造动态链接库 DLL是包含函数和数据的模块,它的调用模块可为EXE或
第➢ 五目章的及存要求储器管理
✓ 了解程序装入的方式和实现链接的方法; ✓ 领会单一连续分配和固定分区分配机制的地址转换; ✓ 理解并掌握动态分区分配的分配和回收算法,领会动态
重定位分区分配算法; ✓ 了解并领会对换技术; ✓ 理解并掌握分页存储管理的基本方法、地址变换机构和
页表机制; ✓ 理解并掌握分段存储管理的基本原理,领会分页与分段
5.1.1 程序的装入
符号 源程序
编译 链接
相对目标程序 (装配模块)
地址重定位 装入
绝对目标程序
名字空间
地址空间
存储空间
(符号地址) (相对地址/逻辑地址/虚地址) (绝对地址/物理地址/虚地址)
华北电力大学计算机系
5一.1..1绝对程装序入的方装式(入Absolute Loading Mode)
相关文档
最新文档