从头开始查表 检索完否?Y 返回 m size >u size?>继续检索下一个表项 m size u size<=size? 从该分区中划出 u size大小的分区 将该分区从链中移出 将该分区分配,并修改相关结构 返回
从头开始查表 检索完否? m.size>u.size? m.size- u.size<=size? 从该分区中划出u.size大小的分区 将该分区分配,并修改相关结构 返回 返回 继续检索下一个表项 将该分区从链中移出 Y Y Y N N N
F1 F1 回收区 回收区 回收区 F2 F2 4-7内存回收时的情况 存储器管理
存储器管理 F1 回收区 回收区 F2 F1 回收区 F2 4-7 内存回收时的情况
4.24可重定位分区分配 令1动态重定位的引入 *连续式分配中,总量大于作业大小的多个小分 区不能容纳作业 紧凑 通过作业移动将原来分散的小分区拼接成 个大分区。 作业的移动需重定位。是动态(因作业已经 装入) 存储器管理
存储器管理 4.2.4 可重定位分区分配 ❖ 1.动态重定位的引入 ٭ 连续式分配中,总量大于作业大小的多个小分 区不能容纳作业。 紧凑 ٭ ▪ 通过作业移动将原来分散的小分区拼接成一 个大分区。 ▪ 作业的移动需重定位。是动态(因作业已经 装入)
紧凑 操作系统 操作系统 用户程序1 用户程序1 10kb 用户程序3 用户程序3 用户程序6 30kb 用户程序9 用户程序6 14kb 用户程序9 26kb
紧凑 操作系统 用户程序1 10kb 用户程序3 30kb 用户程序6 14kb 用户程序9 26kb 操作系统 用户程序1 用户程序3 用户程序6 用户程序9
2、动态重定位的实现 相对地址重定位寄存 0 10000 250010000 100 1010 oad1,2500 load 1,2500 250d 12500 365 ·.“······· 365 15000 500 作业 处理机一侧存储器一侧 存储器管理
存储器管理 2、动态重定位的实现 load 1,2500 365 load 1,2500 365 0 100 2500 5000 2500 10000 10000 10100 + 12500 15000 作业J 处理机一侧 存储器一侧 相对地址 重定位寄存器