2023年计算机操作系统内存分配实验报告.pdf
一、实 验 目 的 熟 悉 主 存 的 分 派 与 回 收。理 解 在 不 同 的 存 储 管 理 方 式 下,如 何 实 现 主 存 空 间 的 分 派 与 回 收。掌 握 动 态 分 区 分 派 方 式 中 的 数 据 结 构 和 分 派 算 法 及 动 态 分 区 存 储 管 理 方 式 及 其 实 现 过 程。二、实 验 内 容 和 规 定 主 存 的 分 派 和 回 收 的 实 现 是 与 主 存 储 器 的 管 理 方 式 有 关 的。所 谓 分 派,就 是 解 决 多 道 作 业 或 多 进 程 如 何 共 享 主 存 空 间 的 问 题。所 谓 回 收,就 是 当 作 业 运 营 完 毕 时 将 作 业 或 进 程 所 占 的 主 存 空 间 归 还 给 系 统。可 变 分 区 管 理 是 指 在 解 决 作 业 过 程 中 建 立 分 区,使 分 区 大 小 正 好 适 合 作 业 的 需 求,并 且 分 区 个 数 是 可 以 调 整 的。当 要 装 入 一 个 作 业 时,根 据 作 业 需 要 的 主 存 量 查 看 是 否 有 足 够 的 空 闲 空 间,若 有,则 按 需 要 量 分 割 一 个 分 区 分 派 给 该 作 业;若 无,则 作 业 不 能 装 入,作 业 等 待。随 着 作 业 的 装 入、完 毕,主 存 空 间 被 提 成 许 多 大 大 小 小 的 分 区,有 的 分 区 被 作 业 占 用,而 有 的 分 区 是 空 闲 的。实 验 规 定 使 用 可 变 分 区 存 储 管 理 方 式,分 区 分 派 中 所 用 的 数 据 结 构 采 用 空 闲 分 区 表 和 空 闲 分 区 链 来 进 行,分 区 分 派 中 所 用 的 算 法 采 用 初 次 适 应 算 法、最 佳 适 应 算 法、最 差 适 应 算 法 三 种 算 法 来 实 现 主 存 的 分 派 与 回 收。同 时、规 定 设 计 一 个 实 用 和 谐 的 用 户 界 面,并 显 示 分 派 与 回 收 的 过 程。同 时 规 定 设 计 一 个 实 用 和 谐 的 用 户 界 面,并 显 示 分 派 与 回 收 的 过 程。三、实 验 重 要 仪 器 设 备 和 材 料 实 验 环 境 硬 件 环 境:PC或 兼 容 机 软 件 环 境:V C+6.0四、实 验 原 理 及 设 计 分 析 某 系 统 采 用 可 变 分 区 存 储 管 理,在 系 统 运 营 当 然 开 始,假 设 初 始 状 态 下,可 用 的 内 存 空 间 为 6 40KB,存 储 器 区 被 分 为 操 作 系 统 分 区(40KB)和 可 给 用 户 的 空 间 区(60 0 K B)。(作 业 1 申 请 130KB、作 业 2 申 请 60K B、作 业 3 申 请 1 0 0KB、作 业 2 释 放 60K B、作 业 4 申 请 200KB、作 业 3 释 放 10 0 K B、作 业 1 释 放 1 3 0 K B、作 业 5 申 请 14 0KB、作 业 6 申 请 6 0KB、作 业 7 申 请 50KB)当 作 业 1进 入 内 存 后,分 给 作 业 1(1 3 0 K B),随 着 作 业 1、2、3 的 进 入,分 别 分 派 6 0KB、1 0 0 K B,通 过 一 段 时 间 的 运 营 后,作 业 2 运 营 完 毕,释 放 所 占 内 存。此 时,作 业 4 进 入 系 统,规 定 分 派 2 0 0 K B内 存。作 业 3、1 运 营 完 毕,释 放 所 占 内 存。此 时 又 有 作 业 5 申 请 1 4 0 K B,作 业 6 申 请 6 0 K B,作 业 7 申 请 5 0KB。为 它 们 进 行 主 存 分 派 和 回 收。1、采 用 可 变 分 区 存 储 管 理,使 用 空 闲 分 区 链 实 现 主 存 分 派 和 回 收。空 闲 分 区 链:使 用 链 指 针 把 所 有 的 空 闲 分 区 链 成 一 条 链,为 了 实 现 对 空 闲 分 区 的 分 派 和 链 接,在 每 个 分 区 的 起 始 部 分 设 立 状 态 位、分 区 的 大 小 和 链 接 各 个 分 区 的 前 向 指 针,由 状 态 位 指 示 该 分 区 是 否 分 派 出 去 了;同 时,在 分 区 尾 部 还 设 立 有 一 后 向 指 针,用 来 链 接 后 面 的 分 区;分 区 中 间 部 分 是 用 来 存 放 作 业 的 空 闲 内 存 空 间,当 该 分 区 分 派 出 去 后,状 态 位 就 由“0”置 为“1”。设 立 一 个 内 存 空 闲 分 区 链,内 存 空 间 分 区 通 过 空 闲 分 区 链 来 管 理,在 进 行 内 存 分 派 时.,系 统 优 先 使 用 空 闲 低 端 的 空 间。设 计 一 个 空 闲 分 区 说 明 链,设 计 一 个 某 时 刻 主 存 空 间 占 用 情 况 表,作 为 主 存 当 前 使 用 基 础。初 始 化 空 间 区 和 已 分 派 区 说 明 链 的 值,设 计 作 业 申 请 队 列 以 及 作 业 完 毕 后 释 放 顺 序,实 现 主 存 的 分 派 和 回 收。规 定 每 次 分 派 和 回 收 后 显 示 出 空 闲 内 存 分 区 链 的 情 况。把 空 闲 区 说 明 徒 的 变 化 情 况 以 及 各 作 业 的 申 请、释 放 情 况 显 示 打 印 出 来。2.采 用 可 变 分 区 存 储 管 理,分 别 采 用 初 次 适 应 算 法、最 佳 适 应 算 法 和 最 坏 适 应 算 法 实 现 主 存 分 派 和 回 收。3、主 存 空 间 分 派(1)初 次 适 应 算 法 在 该 算 法 中,把 主 存 中 所 有 空 闲 区 按 其 起 始 地 址 递 增 的 顺 序 排 列。在 为 作 业 分 派 存 储 空 间 时,从 上 次 找 到 的 空 闲 分 区 的 下 一 个 空 闲 分 区 开 始 查 找,直 到 找 到 第 一 个 能 满足 规 定 的 空 闲 区,从 中 划 出 与 请 求 的 大 小 相 等 的 存 储 空 间 分 派 给 作 业,余 下 的 空 闲 区 仍 留 在 空 闲 区 链 中。(2)最 佳 适 应 算 法 在 该 算 法 中,把 主 存 中 所 有 空 闲 区 按 其 起 始 地 址 递 增 的 顺 序 排 列。在 为 作 业 分 派 存 储 空 间 时,从 上 次 找 到 的 空 闲 分 区 的 下 一 个 空 闲 分 区 开 始 查 找,直 到 找 到 一 个 能 满 足 规 定 的 空 闲 区 且 该 空 闲 区 的 大 小 比 其 他 满 足 规 定 的 空 闲 区 都 小,从 中 划 出 与 请 求 的 大 小 相 等 的 存 储 空 间 分 派 给 作 业,余 下 的 空 闲 区 仍 留 在 空 闲 区 链 中(3)最 坏 适 应 算 法 在 该 算 法 中,把 主 存 中 所 有 空 闲 区 按 其 起 始 地 址 递 增 的 顺 序 排 列。在 为 作 业 分 派 存 储 空 间 时,从 上 次 找 到 的 空 闲 分 区 的 下 一 个 空 闲 分 区 开 始 查 找,直 到 找 到 一 个 能 满 足 规 定 的 空 闲 区 且 该 空 闲 区 的 大 小 比 其 他 满 足 规 定 的 空 闲 区 都 大,从 中 划 出 与 请 求 的 大 小 相 等 的 存 储 空 间 分 派 给 作 业,余 下 的 空 闲 区 仍 留 在 空 闲 区 链 中。4、主 存 空 间 回 收 当 一 个 作 业 执 行 完 毕 撤 离 时,作 业 所 占 的 分 区 应 当 归 还 给 系 统。归 还 的 分 区 假 如 与 其 它 空 闲 区 相 邻,则 应 合 成 一 个 较 大 的 空 闲 区,登 记 在 空 闲 区 说 明 链 中,此 时,相 邻 空 闲 区 的 合 并 问 题,规 定 考 虑 四 种 情 况:(1)释 放 区 下 邻 空 闲 区(低 地 址 邻 接)(2)释 放 区 上 邻 空 闲 区(高 地 址 邻 接)(3)释 放 区 上 下 都 与 空 闲 区 邻 接(4)释 放 区 上 下 邻 都 与 空 闲 区 不 邻 接 五、程 序 流 程 图 m ain函 数 里 的 流 程 图二 生 封 骨、汪 C分 派 空 间 里 的 流 程 图回 收 空 间 里 的 流 程 图向 的 空 间 雨 粕 六、相 关 数 据 结 构 及 关 键 函 数 说 明 本 程 序 采 用 了 一 个 struct free_ t a b l e 数 据 结 构,里 面 包 含 分 区 序 号(n u m)、起 始 地 址(address)、分 区 长 度(le n g th)和 分 区 状 态(s ta t e)。还 用 了 线 性 表 的 双 性 链 表 存 储 结构(s tr u c t N o d e)理 面 包 含 前 区 指 针(prior)和 后 继 指 针(n e x t)。一 开 始 定 义 一 条(具 有 fi r s t 和 end)的 链,用 开 始 指 针 和 尾 指 针 开 创 空 间 链 表。然 后 分 别 按 三 种 算 法 进 行 分 派 和 回 收。在 该 程 序 中 关 键 函 数 有,sort()、al 1 o c ation(),r e c o very()、和 Fi r st_ f it()、B es t _ f i t()、Worst_ f it();其 中 s o r t()函 数 是 用 来 整 理 分 区 序 号 的,如 在 删 序 号 3 时,她 与 前 面 序 号 2 相 连 在 一 起 了,然 后 序 号 2 中 的 长 度 总 满 足 申 请 的 内 存 大 小,就 会 在 序 号 2 中 分 派,然 后 序 号 在 2 的 基 础 上 加 1,一 直 加,加 到 与 原 本 序 号 3 的 下 一 个 序 号 也 就 是 4 相 等,这 时 s o r t()就 开 始 有 明 显 的 工 作 了;al 1 oca t i on()是 分 派 空 间 的,也 是 过 渡 到 三 个 算 法 中 的,当 三 个 算 法 中 满 足 或 者 不 满 足 分 派 请 求,都 会 又 返 回 值 给 allo c a tion();recovery()是 用 来 回 收 内 存 的,里 面 包 含 了 四 种 情 况 相 连 结 果,即 释 放 区 上 与 空 闲 区 邻 接、释 放 区 下 与 空 闲 区 邻 接、释 放 区 上 下 都 与 空 闲 区 邻 接、释 放 区 上 下 都 与 空 闲 区 不 邻 接 这 四 种 情 况 的 结 果。七、源 代 码#i nc 1 ude#include#defin e OK 1 完 毕#define E RROR 0 犯 错 ty p ed e f int S tatus;typedef str u c t fr e e_ table/定 义 一 个 空 闲 区 说 明 表 结 构(i nt num;/分 区 序 号 lo n g add r e s s;/起 始 地 址 1 ong 1 en g t h;分 区 大 小 int state;分 区 状 态 E 1 emTyp e;typedef s t rue t No d e/线 性 表 的 双 向 链 表 存 储 结 构 E 1 em T y pe dat a;struct N o de*prio r;/前 趋 指 针 st r uct Node*n e x t;后 继 指 针 Node,*LinkL i st;Link L i s t f i rst;/头 结 点 L i nkList e n d;尾 结 点 int f la g,记 录 要 删 除 的 分 区 序 号 St a tus Ini t b 1 ock()开 创 带 头 结 点 的 内 存 空 间 链 表(f irst=(LinkL i st)malloc(s i ze o f(No d e);end=(LinkL i s t)malloc(s i z e of(N ode);first-p r ior=NU L L;f irs t-n e x t=end;en d-pri o r=fi r st;end-nex t=NULL;en d-d a t a.num=1;e n d d ata.addre s s=40;e n d-d a t a.leng t h=6 0 0;end d at a.s t at e=0;return OK;voi d so r t()/分 区 序 号 重 新 排 序Node*p=f i rs t-next,*q;q=p-next;for(;p!=N ULL;p=p-next)(f o r(q=p-n e x t;q;q=q-next)(i f(p-d a ta.num=q-d a t a.n u m)(q-da t a.num+=1?)0/显 示 主 存 分 派 情 况 v oid show()(i n t f lag=0;/用 来 记 录 分 区 序 号 No d e*p=first;p-data.num=O;p-data.address=0;pdata.1 e n g t h=40;p-d a t a.s t a te=l;sor t();p rintf(Hnt t 主 存 空 间 分 派 情 况(n);*En n)printf(分 区 序 号 t 起 始 地 址 t分 区 大 小 t分 区 状 态 n n);whil e(p)printf(dtt%d tt%d,p-data.n urn,p-d a ta.ad d ress,p-d a t a.length);i f(p-data.s t a te=O)p r intf(tt 空 闲 n n);e Ise pri n t f(t t 己 分 派 n n);p=p-n e xt;pri n tf(”*头*n nn);/初 次 适 应 算 法 Status First_ fit(int req u e s t)/为 申 请 作 业 开 辟 新 空 间 且 初 始 化 N o de*p=f i rst-n e xt;LinkLi s 11 e mp=(Li n k List)m a lloc(s izeof(Nod e);tem p-d ata.l e ngth=r equ e st;temp-dat a.st a t e=1;p-data.num=l;while(p)i f(p d a ta.s t at e=0)&(p-data.l e ngth=re q uest)/有 大 小 恰 好 合 适 的 空 闲 块 p-data.state=l;r e t urn OK;b r e a k;)els e if(p-da t a.stat e=0)&(p-d a ta.lengthreq u est)/有 空 闲 块 能 满 足 需 求 且 有 剩 余 t emp-p r i or=p-p rior;temp-next=p;te m p-d a t a.a ddres s=p-d a ta.a dd r e s s;temp-data.num=p-d a ta.num;p p r i o r-ne x t=temp;p-pri o r=temp;p da t a.add r e s s=temp-d a t a.addr e ss+t empdata.lengt h;p-data.l e n g t h-=re q uest;p-data.n um+=1;r e t u r n OK;br e a k;)p=pnext;)re t u r n ERROR;)最 佳 适 应 算 法 Stat u s Bes t _fi t(i n t re q u es t)in t c h;记 录 最 小 剩 余 空 间 Node*p=first;N o d e*q=NU LL;/记 录 最 佳 插 入 位 置 L i nkLi s 11 e mp=(LinkL i s t)mallo c(si z eof(Node);t em p d a ta.lengt h=r e quest;t emp-d a t a.st a te=l;p-d a t a.n um=1;whil e(p)/初 始 化 最 小 空 间 和 最 佳 位 置(if(p-d a ta.sta t e=0)&(p-d ata.length=r e quest)(if(q二 二 NULL)(q=P;c h=p-d ata.le n gt h-re q u e s t;else i f(q-da t a.leng t h p d a t a.1 ength)q=p;ch=p-d a ta.le n g th-re q uest;)p=p-n ex t;)i f(q=N U L L)r e t urn ERR OR;没 有 找 到 空 闲 块el s e i f(q dat a.length二 二 r e q u e st)。q-d a t a.state=l;retu r n OK;)e Ise(temp-pri o r=q-p r ior;tem p-n ext=q;t e mp-da t a.add r es s=q-da t a.a ddr e s s;temp-d ata.num=q-d a ta.n um;q prio r next=temp;q-p r i or=t emp;q-da t a.a d dres s+=r e q uest;q-da t a.le n gth=ch;q-data.n u m+=l;r e t u r n OK;)r e t urn OK;)/最 差 适 应 算 法 Sta t u s W orst_fit(i n t r e q uest)(int ch;/记 录 最 大 剩 余 空 间 Nod e*p=f i r st-next;N o de*q=NULL;/记 录 最 佳 插 入 位 置 Link List temp=(L ink Lis t)ma 1 loc(size o f(Nod e);t e mpdata.length=request;tem pdata.st a t e=1;p data.n um=l;w h i 1 e(p)初 始 化 最 大 空 间 和 最 佳 位 置(i f(p-d a ta.state=0&(p-data.le n g t h=r e q u e s t)|i f(q=N U L L)(q=p;c h=p-d a ta.1 eng t h-request;)e 1 se i f(q d a t a.1 eng t h d ata.len g th)(q二 p;c h=p-d ata.1 e n gth-r equ e st;)p=pnex t;)i f(q=NULL)r e t u rnE R R O R;/没 有 找 到 空 闲 块 els e if(q-d a t a.1 en g th=r eq u e s t)q-data.lengt h=1;r e turn OK;)e 1 se(temp-p r i o r=q-p r i o r;te m p-nex t=q;t em p-d a t a,a ddress=q data.ad d r es s;tern p d ata.n um=q-data.n u m;q-pri o r-next=t e mp;q-p ri o r=temp;q-data.ad d r e s s+=r equest;q-d a t a.le n gth=c h;q-dat a.n u m+=l;r eturn OK;r et u rn OK;)分 派 主 存 Status a llo c at i on(i n t a)(int requ e s t;/申 请 内 存 大 小 printf(H请 输 入 申 请 分 派 的 主 存 大 小(单 位:K B):);scanf(d,&r e quest);i f(r equest0|request=0)P rin t f(分 派 大 小 不 合 适,请 重 试!”);return E R R O R;)swi t ch(a)(e a s e l:默 认 初 次 适 应 算 法 if(F i rst_ f i t(requ e s t)=O K)p rintf(nt*分 派 成 功!*);e 1 se print f(t*内 存 局 限 性,分 派 失 败!*”);retur n OK;b r e a k;case 2:/选 择 最 佳 适 应 算 法 i f(Best_ fit(r e q u e s t)=OK)prin t f(t*分 派 成 功!*”);else 内 存 局 限 性,分 派 失 败!*”);r eturn OK;break;case 3:选 择 最 差 适 应 算 法 if(Worst_ fit(r e q u e st)=O K)printf(t*分 派 成 功!*);elseprintf C t*内 存 局 限 性,分 派 失 败!*”);retu r n OK;。fibre a k;)S tatus d eal 1(Node*p)/解 决 回 收 空 间N o de*q=f irst;f or(;q!=NULL;q=q-next)(if(q=p)(i f(q-pri o r-dat a.s t ate=0&q-next-data.s t ate!=0)(q-prior-d a t a.1 eng t h+=q-d a t a.1 en g t h;q-p r i ornext=q n e xt;q-nextpri o r=q-prior;q=q-prio r;q-dat a.s tate=O;q-dat a,num=fl a g-1;。)if(qpriordata.state!=0&q-n e x t-d a t a.state=0)(q-da t a.1 e n g t h+=q-n ex t-dal a.length;q-n ex t=q-next-n e x t;q-n e xt-n e xt-prior=q;q-dat a.s tate=0;q-d a t a.n um=f 1 ag;)if(q-p r i o r-d a t a.st a te=0&q-n e x t-d a ta.state=0)q-p r i or-da t a.1 engt h+=q-d a t a.len g th;q-prior-nex t=q-ne x t;q-next-prio r=q-pri o r;q=q-pr i or;q-d a t a.s t at e=0;q-d ata.num=fl a g 1;。)i f(q-p r i or-data.st a t e!=0&q-n e x t-dat a.state!=0)0 o q-d a t a.s tate=0;。)return OK;)S t atus deal 2(Node*p)解 决 回 收 空 间(Nod e*q=f i rst;fo r(;q!=NULL;q=q-next)(6 i f(q=p)(if(q-p rior-data.stat e=0&q-n e xt-data.s t ate!=0)q-p r i o r d ata.length+=q-d a t a.le n gt h;q-p r i or-next=q nex t;q-nex t pr i o r=q p r i o r;q=p-p ri o r;q-data.stat e=0;q-d a t a.num=fl a g-1;。)if(q-pri o r-da t a.state!=0&q-n e x t data.s t at e=0)(q-d a t a.sta t e=0;0 i f(q-p no r-dat a.s tate=O&q-n ex t data.state=0)(o q-prior-data.l e n g t h+=q-dala.1 eng t h;q-p r ior n ext=q-ne x t;q-ne x t-prio r=q pr i or;q=q-p rio r;q d a t a,s t ate=0;q-da t a.n u m=f la g-1;)i f(q-p rior-d a ta.state!=0&q-n e x t-d a ta.s t ate!=0)0。oq-Adata.sta t e=0;)retu r n OK;/主 存 回 收 S tatus r eco v er y(int flag)(Nod e*p=firs t;f o r(;p!=N U L L;p=p n e xt)(匕 if(p-d a ta.num=f 1 ag)。if(p-p r ior=fir s t)。(。if(p-next!=end)当 前 P 指 向 的 下 一 个 不 是 最 后 一 个 时。(o if(pnext-data.s ta t e=0)与 后 面 的 空 闲 块 相 连 6(p data.len g th+=p-next-d a ta.1 ength;p-nex t-next-p r io r=p;p-next=p-nextne x t;p-d a ta.st a te=O;p-data.n um=fla g;00。e l s e p-d a ta.st a t e=0;6)。i f(p-next=二 end)当 前 P 指 向 的 下 一 个 是 最 后 一 个 时 pdata.s t ate=O;)结 束 i f(p-P r io r=blo c k _ fi r s t)的 情 况 e Ise if(p p r ior!=f i r s t)。if(p-n e x t!=e nd)deal 1(p);6。el s e3 deal 2(p);)。结 束 i f(p-p r i or!=bl o ck_f i r s t)的 情 况 结 束 i f(p d a ta.num=flag)的 情 况 p rinlf(”t*回 收 成 功*0);retu r n O K;主 函 数 void main()i n t i;/操 作 选 择 标 记 in t a;/算 法 选 择 标 记”*火*n);P rin tf(t t 用 以 下 三 种 方 法 实 现 主 存 空 间 的 分 派 n);pr i ntf(t(1)初 次 适 应 算 法 t 最 佳 适 应 算 法 t(3)最 差 适 应 算 法 n);p r i n t f(*n)printf(n);pri n tf(”请 输 入 所 使 用 的 内 存 分 派 算 法:“);sea n f(”d n,&a);whi 1 e(a 3)(printf(输 入 错 误,请 重 新 输 入 所 使 用 的 内 存 分 派 算 法:n);scanf(u%du,&a);)s witch(a)o c a s e 1:pr i n t f(H n t*使 用 初 次 适 应 算 法:*n);break;c ase 2:p r i n t f(nt*使 用 最 佳 适 应 算 法:*n);bre a k;case 3:p r i n t f(”nt*使 用 最 坏 适 应 算 法:*n 0);br e ak;Init b lo c k();开 创 空 间 表 w h ile(l)(s h ow();printf(M t l:分 派 内 存 t 2:回 收 内 存 t 0:退 出 n);prin t f(请 输 入 您 的 操 作:”);sea n f(d”,&i);if(i=l)a llocatio n(a);/分 派 内 存 e Iseif(i=2)/内 存 回 收(printf(请 输 入 您 要 释 放 的 分 区 号 s can f(%d,&flag);recove r y(fl a g);)els e i f(i=0)0 sprint f(n 退 出 程 序 n);brea k;/退 出 0 else/输 入 操 作 有 误(p r in tf(输 入 有 误,请 重 试!);cont i n u e;八、执 行 结 果 和 结 果 分 析 X X X X X X X X X X X X X X X X X X X X X X X X X*X X X X X X X 射 X X X X X X X 丈 X M X X X X X MX X X X XXM 首 次 史 鬻 矗 应 算 法 X M X iO C M X X X M X X IO O O O O O O C M X M X X X X X M X M X X M X X M X X初 始 化 初 次 适 应 算 法:请 输 入 所 使 用 的 内 存 分 配 算 法:i*使 用 首 次 适 应 算 法:*主 存 空 间 分 配 情 况 X X X X X X X-X M X K X X M M X X M X X X X X M X X X*M X X*X*X*e*)(*X X X*分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 40 已 分 配 1 40 600 空 闲 当 作 业 1、2、3 顺 利 分 派 内 存 空 间 后:小 痣!己 内 存 2:回 收 内 存 0:退 出 料 鬻 入 甯 曲 舞 酉 曲 拿 强 大 小(单 位:KB n 0 0*酉 己 成 功!*今 再 悔 笑 照 圾”售-分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 40 已 分 酉 己 1 40 130 已 分 酉 己 2 170 60 已 分 酉 己 3 230 100 已 分 酉 己 4 330 310 空 闲 回 收 序 号 2 里 面 的 内 存:分 派 作 业 4:1:分 配 内 存 2:回 收 内 存 0:圜 1本 您 的 建 隹 山 2请 输 入 遂 要 释 放 的 卷 筌 号:2*回 收 成 功*之 三 道 主 回 色 酉 己 慢 匹 f退 出 分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 日 0 40已 分 配 1 40 130已 分 配 2 170 60空 闲 3 230 100已 分 配 4 330 310空 闲 X X X M X.X X X X X M X X X.X.X.X X X.*X.X X X X X M X M-X M X M X.X M X M X.X X X X M X M-X M X|蹴 盛 穿 I2:回 收 内 存。:退 出 王 至 大 小(单 位:KB:200成 功 I 王 存 空 间 分 配 情 况 X M*X*X M X X*X X-X X*X M X X*X X*X X f X X*M*X X-X X*X X-X*X X N X M*X*X M X X f W分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 40 已 分 配 1 40 130 已 分 配 2 170 60 空 闲 3 230 100 已 分 配 4 330 200 已 分 配 5 530 110 空 闲 回 收 序 号 3 里 面 的 内 存(与 上 邻 序 号 2 相 连 了)翻 濯”醍,窕 己 施 内 存 号:23:回 收 内 存 0:退 出*回 收 成 功*王 存 空 间 分 配 情 况 分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 40 已 分 配 1 40 130 已 分 配 2 170 160 空 闲 4 330 200 已 分 配 5 530 110 空 闲 回 收 序 号 1里 的 内 存(与 下 邻 序 号 2 相 连 了)1:窕 己 内 存 2:回 收 内 存 0:造 鼠 灌 的 凛 底 2请 输 入 忽 要 释 放 的 卷 耳 号:1*回 收 成 功*王 存 空 间 分 配 情 况 退 出 分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 40 已 分 配 1 40 290 空 闲 4 330 200 已 分 配 5 530 110 空 闲 X X X X X X X X X 关 射 X*X X X X X MX X X X X X X X X W X X X M X X X X X M X X X X X X X X继 续 分 派(会 发 现 总 是 按 顺 序 查 找 满 足 规 定 的 第 一 个 空 闲 块,一 旦 发 现 就 会 分 派):0:退 出 人 1:分 配 内 存 2:回 收 内 存 0:请 输 入 您 的 弹 隹:1请 辎 入 南 请 芬 里 的 急 大 小(单 位:KB:140*配 成 功!*话 庶:需 鬻 退 出 分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 40 已 分 配 1 40 140 已 分 配 2 180 150 空 闲 4 330 200 已 分 配 5 530 110 空 闲 舞 己 内 存 2:回 收 内 存 请 顿 入 您 的 操 相:1请 输 入 串 请 芬 酉 的 生 登 大 小 单 位:KB:60*酉 己 成 功!*主 存 空 间 分 配 情 况 分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 40 已 分 配 1 40 140 已 分 配 2 180 60 已 分 配 3 240 90 空 闲 4 330 200 已 分 配 5 530 110 空 闲料、一 翦 入、A畲 L请,拂 原 己 酉 内 曲 存 会 大 小 2(:单 回 位 收;内 存 0:退 出 K B 二 5 0*酉 己,成 功!*之 生 至 军 回 色 更 慢 迈 s分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 4 0已 分 配 L 4 0 1 4 0已 分 配 2 1 8 0 6 0已 分 配 3 2 4 0 5 0已 分 配 4 2 9 0 4 0空 闲 5 3 3 0 2 0 0已 分 配 6 5 3 0 1 1 0空 闲 X X X X X X X X X X X X X X X X X X)(X)(X X X*X X X X X X X X X X X X X X X M X X X X X】K X X X X X X X X X X初 始 化 最 佳 适 应 算 法:请 输 入 所 使 用 的 内 存 分 配 算 法:2*使 用 最 佳 适 应 算 法:*主 存 空 间 分 配 情 况 X X X X X M X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Z*X X X M X X X X X X X X X X X X分 区 序 号 起 始 地 址 分 区 大 小 分 区 状 态 0 0 40 已 分 配 1 40 600 空 闲 X X X X X M X X X X X X X X X X M X X X X X X X X X X X X X M X X X X X X X X X X X X X X X X X X X X X X X X X X X、,已 内 存 2:回 收 内 存 0:翻 入 甯 请 黎 配 福 兴 大 小(单 位:KB):100*配 成 功!*王 存 空 间 分 配 情 况 退 出