主存管理
第七章
链接
链接的三种方式:
静态链接:在程序运行之前,先将各目标模块及它们所需的库函数连接成-一个完整的可执行文件(装入模块),之后不再拆开。
装入时动态链接:将各目标模块装入内存时,边装入边链接的链接方式。
运行时动态链接:在程序执行中需要该目标模块时,才对它进行链接。其优点是便于修改和更新,便于实现对目标模块的共享。
程序处理装入
绝对装入
绝对装入:在编译时,如果知道程序将放到内存中的哪个位置,编译程序将产生绝对地址的目标代码。装入程序按照装入模块中的地址,将程序和数据装入内存。(只适合单道批处理程序)
Eg:如果知道装入模块要从地址为100的地方开始存放...
静态重定位
静态重定位:又称可重定位装入。编译、链接后的装入模块的地址都是从0开始的,指令中使用的地址、数据存放的地址都是相对于起始地址而言的逻辑地址。可根据内存的当前情况,将装入模块装入到内存的适当位置。装入时对地址进行“重定位”,将逻辑地址变换为物理地址(地址变换是在装入时一次完成的)。
静态重定位的特点是在一个作业装入内存时,必须分配其要求的全部内存空间,如果没有足够的内存,就不能装入该作业。作业一旦进入内存后,在运行期间就不能再移动,也不能再申.请内存空间。
动态重定位
动态重定位:又称动态运行时装入。编译、链接后的装入模块的地址都是从0开始的。装入程序把装入模块装入内存后,并不会立即把逻辑地址转换为物理地址,而是把地址转换推迟到程序真正要执行时才进行。因此装入内存后所有的地址依然是逻辑地址。这种方式需要一个重定位寄存器的支持。

内存管理

连续分配管理

单一连续分配

固定分区分配

动态分区分配

动态分区分配算法
首次适应算法

最佳适应算法

最坏适应算法

邻近适应算法

非连续分配管理
基本分页存储存储

基本分段存储管理



虚拟内存


页表机制

页面置换算法
最佳置换算法

最佳置换算法可以保证最低的缺页率,但实际上,只有在进程执行的过程中才能知道接下来会访问到的是哪个页面。操作系统无法提前预判页面访问序列。因此,最佳置换算法是无法实现的。
先进先出置换算法

最近最久未使用置换算法


页面分配、置换策略




浙公网安备 33010602011771号