521分区法 1.固定分区法 固定分区法就是把内存固定划分为若干 个不等的区域,划分的原则由系统决定。 在整个执行过程中保持分区长度和分区 个数不变 固定分区法管理方式虽然简单,但内存 利用率不高
11 5.2.1 分区法 1. 固定分区法 固定分区法就是把内存固定划分为若干 个不等的区域,划分的原则由系统决定。 在整个执行过程中保持分区长度和分区 个数不变。 固定分区法管理方式虽然简单,但内存 利用率不高
521分区法 2.动态分区法 动态分区分配是根据进程的实际需要, 动态地为它分配连续的内存空间,各个 分区是在相应作业装入内存时建立的, 其大小恰好等于作业的大小。 为了实现分区分配,系统中设置了相应 的数据结构来记录内存的使用情况,常 用的数据结构形式有空闲分区表和空闲 分区链 12
12 5.2.1 分区法 2. 动态分区法 动态分区分配是根据进程的实际需要, 动态地为它分配连续的内存空间,各个 分区是在相应作业装入内存时建立的, 其大小恰好等于作业的大小。 为了实现分区分配,系统中设置了相应 的数据结构来记录内存的使用情况,常 用的数据结构形式有空闲分区表和空闲 分区链
522可重定位分区法 使用动态分区法会出现“碎片”问题,解决碎 片问题的方法,是允许存储块的大小可动态变 化,采用动态重定位技术可以较好地解决这个 问题。 动态重定位分区分配算法,与动态分区分配算 法基本上相同;差别仅在于:在这种分配算法 中,增加了“紧凑”功能,通常是在找不到足 够大的空闲分区来满足用户需求时,进行紧凑 处理。 13
13 5.2.2 可重定位分区法 使用动态分区法会出现“碎片”问题,解决碎 片问题的方法,是允许存储块的大小可动态变 化,采用动态重定位技术可以较好地解决这个 问题。 动态重定位分区分配算法,与动态分区分配算 法基本上相同;差别仅在于:在这种分配算法 中,增加了“紧凑”功能,通常是在找不到足 够大的空闲分区来满足用户需求时,进行紧凑 处理
522可重定位分区法 动态重定位的实现过程 限长寄存器基址寄 500B 相对地址|24KB 64KB LOAD1,3000 3000 Y LOAD1,3000 小于24KB 3000B 123 地址越界 123 中断 访问内存地 24KB 作业3的 地址空间 内存
14 5.2.2 可重定位分区法 动态重定位的实现过程 Y 0 0 ≈ ≈ 限长寄存器 基址寄存器 500B 64KB 相对地址 24KB 64KB LOAD 1,3000 3000 ≈ ≈ LOAD 1,3000 小于 24KB? + 3000B 123 ≈ ≈ N 地址越界 ≈ ≈ 123 中断 88KB≈ ≈ 访问内存地址 24KB ≈ ≈ 作业 3 的 地址空间 内存
523覆盖技术 覆盖是在程序运行过程中,把同一存储 区在不同时刻分配给不同的程序段或数 据段来共享的一种存储分配技术 使用覆盖技术时的缺点是程序员必须小 心地设计程序及其数据结构,使得要覆 盖的段块具有相对独立性,不存在直接 联系或相互交叉访问。 15
15 5.2.3 覆盖技术 覆盖是在程序运行过程中,把同一存储 区在不同时刻分配给不同的程序段或数 据段来共享的一种存储分配技术。 使用覆盖技术时的缺点是程序员必须小 心地设计程序及其数据结构,使得要覆 盖的段块具有相对独立性,不存在直接 联系或相互交叉访问