在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收_第1页
在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收_第2页
在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收_第3页
在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收_第4页
在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三、四 存储管理一、实验目的帮助学生理解在不同的存储管理方式下应如何实现主存空间的分配和回收。理解好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能够合理地分配和使用这些存储空间。 二、实验环境1、 Java环境三、实验时数:4学时四、实验内容与步骤1在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收。2在可变分区管理方式下采用最佳适应算法实现主存储器的分配和回收。3在可变分区管理方式下采用最坏适应算法实现主存储器的分配和回收。要求:1。分配时输入作业号以及申请量。 2 回收时输入作业号。3 每次分配或回收之后按如下格式按照起始地址从小到大输出内存分

2、配情况。(其中只有状态为“已分配”时才有对应的作业号)起始地址长度状态作业号五、实验报告实验题目。1在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收。1、2、 程序中使用的数据结构及符合说明。用Node 类模拟表示内存的当前状态。通过Node数组来开辟一组内存,然后用Link类来进行内存的连接3、 程序流程图。/ Node.javaclass Node/用Node来模拟内存的当前状态int start;int size;boolean state;int jobNo;public Node()public Node(int start,int size,boolean state,

3、int jobNo)this.start = start;this.size = size;this.state = state;this.jobNo = jobNo; public void print()/打印Node类 if (this!=null);/Link.javaclass Link /用Link类来模拟连接各个内存,并添加作业public void addJob(int size,int jobNo,Node a)for(int i=0;i<a.length;i+)if(ai!=null) /当前内存有内容时if(size<ai.size&&ai.s

4、tate=false) /判断是否符合条件ai.size=ai.size-size; /当前内存分配大小给作业if(ai+1=null) /当下一块内存还没有使用时 ai+1=new Node(size+ai.start,size,true,jobNo);/使用该内存 else /当下一块内存已被使用,那么继续寻找一块还没被使用的内存for(int j=i+1;j<a.length-1;j+) if(aj=null) aj=new Node(size+aj-1.start,size,true,jobNo); break; /当找到未被使用的内存及填入内容后跳出循环ai.print();/

5、打印输出当前Link中各个内存块的使用情况public void delete(Node a,int jobNo)/删除某一个进程,当该进程被删除后,进程所在内存的状态变为falsefor(int i=0;i<a.length;i+)if(ai!=null)if(ai.jobNo=jobNo)/ai.size=0;ai.state=false;ai.jobNo=0;if(ai!=null)ai.print();public void back(Node a) /进行状态为false的内存的回收删除内存状态为false的内存节点。并将该节点与起始点结合for(int i=1;i<a.

6、length;i+)if(ai!=null)if(ai.state=false)a0.size=a0.size+ai.size;ai=null;for(int j=0;j<a.length;j+)if(aj!=null)aj.print();/OSJob.javapublic class OSJobpublic static void main(String args) Node jobArray=new Node70; jobArray0=new Node(0,25,false,0);Link l = new Link();jobArray0.print();l.addJob(4,1,jobArray);l.addJob(10,2,jobArray);l.addJob(10,3,jobArray);l.delete(j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论