2023年操作系统实验四实验报告动态分区分配算法.docx

上传人:太** 文档编号:72870042 上传时间:2023-02-13 格式:DOCX 页数:10 大小:21.80KB
返回 下载 相关 举报
2023年操作系统实验四实验报告动态分区分配算法.docx_第1页
第1页 / 共10页
2023年操作系统实验四实验报告动态分区分配算法.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《2023年操作系统实验四实验报告动态分区分配算法.docx》由会员分享,可在线阅读,更多相关《2023年操作系统实验四实验报告动态分区分配算法.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、操作系统实验四【实验题目】:动态分区分派算法【实验学时】:4学时【实验目的】通过这次实验,加深对动态分区分派算法的理解,进一步掌握初次 适应算法、循环初次适应算法、最住适应算法和最坏适应算法的实现 方法。【实验内容及规定】问题描述:设计程序模拟四种动态分区分派算法:初次适应算法、循环初次 适应算法、最佳适应算法和最坏适应算法的工作过程。假设内存中空 闲分区个数为n,空闲分区大小分别为Pi, ,Pn,在动态分区分派过 程中需要分派的进程个数为m(mn),它们需要的分区大小分别为 S” . , Sm,分别运用四种动态分区分派算法将m个进程放入n个 空闲分区,给出进程在空闲分区中的分派情况。程序规定

2、:1 )运用初次适应算法、循环初次适应算法、最佳适应算法和最坏 适应算法四种动态分区分派算法模拟分区分派过程。2)模拟四种算法的分区分派过程,给出每种算法进程在空闲分区 中的分派情况。3)输入:空闲分区个数n,空闲分区大小Pi,,P”,进程个数m,进程需要的分区大小Si,,Smosgg temp =Tk. data;0008OdOO000000 o00oofg n =k;go t a g 1=1;) s else if (t a g 1 =0)。n=j;00|0 T n .data=temp - d i. data;。T n .arrayT n . len g th=di . n ame;oo

3、ooTn.lenglh+;tag=();g bre a k;。e Is egt ag= I;i f(tag=l) c oulV V”作业太大,无满足条件分区!vvendl; break;)/re();void wo r st_f i t()renew ();c o ut worst fit:;int i, j, k , temp ,m;int t a g=0,n= 0 ;0fb r (i=O;i wo r k_n u m; i +)(for(j=0; jif(di. d at a = T . dal a )int tag 1=0;t cmp= T j .data;m=j; f or( k =m

4、+ 1; k t e mp)if(T k . d al a =di.dat a )a。 temp=TkJ. da t a ;tag 1 =1 ;OdOOdOO 0 |。oiel s e if(ta g 1=0)g o o n =j;000 |data;.name;data;.name;Tn.data=t e mp - d ij.03T n. array Tn.l e ng t h= d i Tn.lcn g t h +;。 t a g=0;。 brea k ;。照 Isea g =1;6(oi f (tag=l) 。fout”作业太大,无满足条件分区!。br e ak;)o“/re ();)v

5、oid ma i n()n e xt_ f i t ();show();best_f i t();show ();worst_f i t();s how();。s ystem(pauseH);实验截图:匚 C:Docuaents and Sett ingsAd*inist rat空闲分区数:9作业为ABCD EF作业大小718920 358空闲分区1616832 6432816 64fist fit0A(8F8 14B9DE328 1664next f it9A1685BC1DEF328 1664best fit16161A5BC29E :L2D0F 1664worst f il:161682

6、4F 28ACD328 1611BE晴按任意键继续.4)输出:初次适应算法,循环初次适应算法,最佳适应算法,最坏适应算法,最终内存空闲分区的分派情况。实现源代码:# in c lu d ei n ckide# inc 1 ud e inckide# def i ne max 10 0usi n g name s p ace s td;1 nt work_num;int z o nc_num;s tru c t Dat a i nt data;o c h ar name;);D a ta *d=new Datamax;stru c t T able 1 nt d a ta;char array

7、max;int leng t h ;);T a bl e *T=new T ablemax;Ta b le *t e mp=new Ta b le max;void Init()ifstreaminf(DTF Q .txt);in t i,j;char c h;in f w o rk_n u m;c o u t 作业数:H wor k _numzone_num;c o utV空闲分区数:zone_ n um e ndl;COUtVV” 作业为:”;for( j =0; jwo r k_ n um; j +)(i nf. g e t (ch);8d j. name= c h;c outsetw(

8、4)dj.n a me;ocoutend 1 ;c out ”作业大小:”;fo r (i=0;iwork_num; i+)(finfdli.data;ocoutsetw( 4 )di. data;ocout e n d 1;cout 空闲分区:”;4 o r (j=0; j zo n e_num; j +)o in f Tj. data;t emp j. dat a =T|j . d a ta;8T j 1.1 e ngt h =0;t emp j. 1 ength=0;g c o utsetw ( 4 )T j .da t a;6)o utend 1 ;void renew ()intj;

9、fo r (j=O;jz o n e _n u m; j+)(s T j .dat a = t emp j . da t a;。0rH j . 1 e ng t h=t e mpj.lcn g th;)1void re()(int i;for(i=0;iz o ne_ n u m; i +)Ti. arrayT i . 1 e n g t h =z #v o id show ()Mn t i,j;”e();f o r(i= 0 ;izo n e_num; i +) 。 i f (TiJ.da t a =tcm p i J.da t a )c o u t setw(4)T i.data;。els

10、e 。c out setiosf 1 ags(i o s: : r i g h t)s e tw( 4 ) Ti.da t a s etw(l);。for( j =0; j Ti.l e n g th; j+)。if( Ti.arr a yj = =*#)。 break;。 else。 o ut s e t ios f 1 a g s (io s :r i gh t ) T i. a rra y |j;0) c o u te n dl;) void first_f i t ()r e new();cou t ,f i st fit:;in t i,j;int la g =0;o f or(i=

11、0; iwork_n um; i +)of o r(j=0;jzone_ n um;j+)00 |g if(di .data =T j. dat a )8aT|j.da t a=T j .da t a - d i .da t a;ogTj. arr a y T j. 1 ength=di.na me;0Tj. 1 en g lh+;tag =0;a。 b r eak;O000 )。el s et a g=l;o if(t a g=l)oocoutVv”作业太大,无满足条件分区!Vv e n d 1;g break;/ re();void next_fit ()(renew();coutne x

12、 t f it:;int i,j;i n t m=0, ta g =0, co u nt=O;f or(i=0;iw o rk_num;i+)o for (j = m;jif(di.data= T j.da t a)00(g T j . dal a =T j .da t a - di.dat a ; o。T j .a r r a yTjJ.l e ngthj=di. n ame;。 T jl.leng t h+;gg tag=O;。m=j;a。break;)oelse60 |tag=l;count +;awhile(tag=l & c o u nt z on e _num)(0f o r(j=

13、 0 ;jm;j+)86 if ( d ij. data ta g = 1 ;。 count +;00)0000 i f (tag= 1 & cou n t=zone_num)oco u t ”作业太大,无满足条件分区!”Vendl;r eak;/re ();void best _f i t ()(renew (); c o u t b e st fit:; i nt i , j, k, t e mp,m;A n t tag=O, n=0;f o r(i=0;iwor k _ n um; i+)。 f or( j =0; jzone_num;j+ + )(0 if(d i .data=T j.da t a)Od t e mp=Tjl.data;m=j;。int tag 1 =0;o o ofor(k=m+1; k = z one _ n u m;k+)g 8 i f(Tk. d a t a=di.data)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁