欢迎来到天天文库
浏览记录
ID:61499415
大小:188.50 KB
页数:7页
时间:2021-02-07
《在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验三、四存储管理一、实验目的帮助学生理解在不同的存储管理方式下应如何实现主存空间的分配和回收。理解好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能够合理地分配和使用这些存储空间。二、实验环境1、Java环境三、实验时数:4学时四、实验内容与步骤1.在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收。2.在可变分区管理方式下采用最佳适应算法实现主存储器的分配和回收。3.在可变分区管理方式下采用最坏适应算法实现主存储器的分配和回收。要求:1。分配时输入作业号以及申请量。2.回收时输入作业号。3.每次分配或回收之后按如下格式
2、按照起始地址从小到大输出内存分配情况。(其中只有状态为“已分配”时才有对应的作业号)起始地址长度状态作业号五、实验报告实验题目。1.在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收。1、2、程序中使用的数据结构及符合说明。用Node类模拟表示内存的当前状态。通过Node数组来开辟一组内存,然后用Link类来进行内存的连接3、程序流程图。//Node.javaclassNode{//用Node来模拟内存的当前状态intstart;intsize;booleanstate;intjobNo;publicNode(){}publicNode(intstar
3、t,intsize,booleanstate,intjobNo){this.start=start;this.size=size;this.state=state;this.jobNo=jobNo;}publicvoidprint(){//打印Node类if(this!=null){System.out.println("起始位置"+this.start+"大小"+this.size+"状态"+this.state+"工作号"+this.jobNo);}}};//Link.javaclassLink{//用Link类来模拟连接各个内存,并添加作业publicvo
4、idaddJob(intsize,intjobNo,Nodea[]){for(inti=0;i5、一块还没被使用的内存for(intj=i+1;j6、l){if(a[i].jobNo==jobNo){//a[i].size=0;a[i].state=false;a[i].jobNo=0;}if(a[i]!=null){a[i].print();}}}}publicvoidback(Nodea[]){//进行状态为false的内存的回收删除内存状态为false的内存节点。并将该节点与起始点结合for(inti=1;i7、intj=0;j8、y[0].print()
5、一块还没被使用的内存for(intj=i+1;j6、l){if(a[i].jobNo==jobNo){//a[i].size=0;a[i].state=false;a[i].jobNo=0;}if(a[i]!=null){a[i].print();}}}}publicvoidback(Nodea[]){//进行状态为false的内存的回收删除内存状态为false的内存节点。并将该节点与起始点结合for(inti=1;i7、intj=0;j8、y[0].print()
6、l){if(a[i].jobNo==jobNo){//a[i].size=0;a[i].state=false;a[i].jobNo=0;}if(a[i]!=null){a[i].print();}}}}publicvoidback(Nodea[]){//进行状态为false的内存的回收删除内存状态为false的内存节点。并将该节点与起始点结合for(inti=1;i7、intj=0;j8、y[0].print()
7、intj=0;j8、y[0].print()
8、y[0].print()
此文档下载收益归作者所有