分区4700K分区3400K分区2200K分区1100K操作系统
分区4 分区3 分区2 分区1 操作系统 700K 400K 100K 0 200K
4.2.2可变分区基本思想1内存不是预先划分好的,而是当程序装入时根据进程的需求和内存空间的使用情况来决定是否分配。若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待主存空间
4.2.2 可变分区 1、基本思想 内存不是预先划分好的,而是当程序装入时, 根据进程的需求和内存空间的使用情况来决定 是否分配。若有足够的空间,则按需要分割一 部分分区给该进程;否则令其等待主存空间
1M270kPc(100k)Pc(100k)Pc(100k)Pc(100k)170kPe(60k)Pb(30k)Pb(30k)140k70k0Pa(120k)Pa(120k)Pd(80k)Pd(80k)20k操作系统操作系统操作系统操作系统操作系统0(b)(d)(a)(c)(e)可变式分区的使用情况,其中,阴影部分为空闲区
可变式分区的使用情况,其中,阴影部分为空闲区 Pa(120k) 操作系统 (a) Pa(120k) 操作系统 (b) Pb(30k) Pc(100k) 1M 140k 0 操作系统 (c) Pb(30k) Pc(100k) 270k 170k Pd(80k) 操作系统 (d) Pc(100k) 70k Pd(80k) 操作系统 (e) Pc(100k) 10k Pe(60k) 20k
2、内存管理的数据结构1)分区说明表由两张表格组成长度始址长度占用始址占用标志Pd10k20k80k100k有效110k60kPe270k730k有效空170k100kPc空---1--(a)已分配区表(b)未分配区表可变分区分区说明表
始址 长度 占用标志 20k 80k Pd 110k 60k Pe 170k 100k Pc 空 ┆ 始址 长度 占用 100k 10k 有效 270k 730k 有效 空 ┆ ┆ (a)已分配区表 (b)未分配区表 可变分区分区说明表 2、内存管理的数据结构 1) 分区说明表由两张表格组成
2)空闲区链将分区分配信息附加在分区中,记录存购空间的使用情况。将表格信息放在每个分区的首尾两个字中,利用表格自己管理自己。表格存放如下一些信息:(1)状态信息:“0”表示该区空闲,“1"表示已分配(2)该区的大小(以字或块为单位)。(3)指针信息:构成空闲区链。状态位前向指针分区大小(N+2)大小为N的已分配区或空闲区状态位分区大小(N+2)后向指针
2) 空闲区链 将分区分配信息附加在分区中, 记录存贮空间的使 用情况。将表格信息放在每个分区的首尾两个字中, 利 用表格自己管理自己。表格存放如下一些信息: (1) 状态信息: “0”表示该区空闲, “1”表示已分配。 (2) 该区的大小(以字或块为单位)。 (3) 指针信息: 构成空闲区链。 状态位 分区大小(N+2) 前向指针 大小为N的已分配区或空闲区 状态位 分区大小(N+2) 后向指针