本章重点:
- 理解程序的三种链接方式和三种装入方式。
- 掌握分区、分页和分段分配方式的概念,及分配算法和实现(连续与离散)。
- 掌握虚拟存储器的基本概念。
- 掌握请求分页、分段存储管理方式的概念、分配算法和实现
三种链接方式:
静态链接:事先连接
- 对相对地址的修改
- 变换外部调用符号
装入时动态链接:边装入边连接
- 便于修改和更新
- 便于实现对目标模块的共享
运行时动态链接 Run-time Dynamic Linking
- 对某些模块的链接推迟到执行时才进行,如, 错误处理模块
程序的处理顺序:编辑――编译――链接――装入――运行
三种装入方式:
- 绝对装入
- 编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位,装入后不能移动程序
- 适用于单道系统
- 绝对地址的产生:(1)由编译器完成,(2)由程序员编程完成。
- 可重定位装入方式
- 静态重定位:装入时完成,主要工作是对相对地址中的指令和数据地址的调整过程,适用于多道系统
- 不允许程序运行时在内存中移动
- 动态重定位
- 动态重定位一般在执行时才完成“相对——绝对地址