欢迎来到天天文库
浏览记录
ID:41644688
大小:57.12 KB
页数:7页
时间:2019-08-29
《实验二存储管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二存储管理【实验目的】1)加深对存储管理概念及存储管理系统各部分内容的理解。2)熟悉存储管理中主要数据结构的设计和存储管理分配算法的实现。【实验要求】调试并运行一个存储管理模拟系统。了解该系统的存储管理方案、数据结构、内存分配、回收、合并算法;理解系统在运行过程中显示的状态和有关参数变化情况的意义。【实验环境】具备Windows或MS-DOS操作系统、带有TurboPascal集成环境的PC机。【实验重点及难点】重点:理解存储管理的棊本概念,存储管理中主耍数据结构的设让和存储管理中内存分配、回收、合并等算法的实现。难点:实验程序的问题描述、实现算法、数据结构。
2、【实验内容】一•阅读实验程序程序代码见【实验例程】。二.编译实验例程用TurboPascal编译实验例程。三.运行程序并对照实验源程序阅读理解实验屮输入、输出的意义。【实验例程】PROGRAMMcmoryMangcmcnt;USEScrt;CONSTtotal=5000;setaddress=2000;min=l()();max=l();TYPEstr=string[10];jobptr=Amat;mat=RECORDname:str;address:longint;length:longint;next:jobptr;back:jobptr;end;frccpt
3、r=Afrccarca;freearea=RECORDaddress:longint;size:longint;next:freeptr;back:freeptr;end;VARfrccp:frccptr;jobp:jobptr;totalfree:longint;jobnumber:byte;PROCEDUREinitiation;BEGINnew(freep);freepA.size:=total;frccpA.addrcss:=sctaddrcss;freepA.next:=NIL;freepA.back:=NIL;totalfree:=total;jobp
4、:=NIL;jobnumbcr:=0;END;PROCEDUREffallocation(jl:longint;jn:str;VARja:longint);分配VARfp:freeptr;jpjp1Jp2:jobptr;BEGINja:=-l;iftotalfree5、e:=jn;jp2A.length:=jl;jp2A.address:=address;ja:=jp2A.address;ifjobp=NILthenBEGINjp2A.next:=NIL;jp2back:二NIL;jobp:=jp2;ENDelseBEGINjp:=jobp;whilc(jp<>NIL)and(jp2A.addrcss6、INjp2A.back:=jpA.back;ifjpA.back<>NILthenjplA.ncxt:=jp2elsejobp:=jp2;jpA.back:=jp2;END;END;ifsize-jl7、GINclrscr;writein;ifjobnumber<=0thenwriteln(*Nojob/)elseBEGINwritcln('Namelcngth(b)address1);jp:=jobp;whilejpoNILdoBEGINwriteln(jpA.name:10jpAlength:10jpA.address:10);jp:=jpA.next;END;END;writeln(,THEtotalleftis:totalfree,1bytes1);END;PROCEDUREffcollection(jn:str);回收VARfp,fp1,fp2:fre8、eptr;
5、e:=jn;jp2A.length:=jl;jp2A.address:=address;ja:=jp2A.address;ifjobp=NILthenBEGINjp2A.next:=NIL;jp2back:二NIL;jobp:=jp2;ENDelseBEGINjp:=jobp;whilc(jp<>NIL)and(jp2A.addrcss6、INjp2A.back:=jpA.back;ifjpA.back<>NILthenjplA.ncxt:=jp2elsejobp:=jp2;jpA.back:=jp2;END;END;ifsize-jl7、GINclrscr;writein;ifjobnumber<=0thenwriteln(*Nojob/)elseBEGINwritcln('Namelcngth(b)address1);jp:=jobp;whilejpoNILdoBEGINwriteln(jpA.name:10jpAlength:10jpA.address:10);jp:=jpA.next;END;END;writeln(,THEtotalleftis:totalfree,1bytes1);END;PROCEDUREffcollection(jn:str);回收VARfp,fp1,fp2:fre8、eptr;
6、INjp2A.back:=jpA.back;ifjpA.back<>NILthenjplA.ncxt:=jp2elsejobp:=jp2;jpA.back:=jp2;END;END;ifsize-jl7、GINclrscr;writein;ifjobnumber<=0thenwriteln(*Nojob/)elseBEGINwritcln('Namelcngth(b)address1);jp:=jobp;whilejpoNILdoBEGINwriteln(jpA.name:10jpAlength:10jpA.address:10);jp:=jpA.next;END;END;writeln(,THEtotalleftis:totalfree,1bytes1);END;PROCEDUREffcollection(jn:str);回收VARfp,fp1,fp2:fre8、eptr;
7、GINclrscr;writein;ifjobnumber<=0thenwriteln(*Nojob/)elseBEGINwritcln('Namelcngth(b)address1);jp:=jobp;whilejpoNILdoBEGINwriteln(jpA.name:10jpAlength:10jpA.address:10);jp:=jpA.next;END;END;writeln(,THEtotalleftis:totalfree,1bytes1);END;PROCEDUREffcollection(jn:str);回收VARfp,fp1,fp2:fre
8、eptr;
此文档下载收益归作者所有