免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三、四 存储管理一、实验目的帮助学生理解在不同的存储管理方式下应如何实现主存空间的分配和回收。理解好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能够合理地分配和使用这些存储空间。 二、实验环境1、 Java环境三、实验时数:4学时四、实验内容与步骤1在可变分区管理方式下采用最先适应算法实现主存储器的分配和回收。2在可变分区管理方式下采用最佳适应算法实现主存储器的分配和回收。3在可变分区管理方式下采用最坏适应算法实现主存储器的分配和回收。要求:1。分配时输入作业号以及申请量。 2 回收时输入作业号。3 每次分配或回收之后按如下格式按照起始地址从小到大输出内存分配情况。(其中只有状态为“已分配”时才有对应的作业号)起始地址长度状态作业号五、实验报告实验题目。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,int jobNo)this.start = start;this.size = size;this.state = state;this.jobNo = jobNo; public void print()/打印Node类 if (this!=null)System.out.println(起始位置+this.start+大小+this.size+状态+this.state+工作号+this.jobNo);/Link.javaclass Link /用Link类来模拟连接各个内存,并添加作业public void addJob(int size,int jobNo,Node a)for(int i=0;ia.length;i+)if(ai!=null) /当前内存有内容时if(sizeai.size&ai.state=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;ja.length-1;j+) if(aj=null) aj=new Node(size+aj-1.start,size,true,jobNo); break; /当找到未被使用的内存及填入内容后跳出循环ai.print();/打印输出当前Link中各个内存块的使用情况public void delete(Node a,int jobNo)/删除某一个进程,当该进程被删除后,进程所在内存的状态变为falsefor(int i=0;ia.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;ia.length;i+)if(ai!=null)if(ai.state=false)a0.size=a0.size+ai.size;ai=null;for(int j=0;ja.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();System.out.println(.起始的内存.);jobArray0.print();System.out.println(.增加第一个作业后的内存情况.);l.addJob(4,1,jobArray);System.out.println(.增加第二个作业后的内存情况.);l.addJob(10,2,jobArray);System.out.println(.增加第三个作业后的内存情况.);l.addJob(10,3,jobArray);System.out.println(.删除作业2后的内存情况.);l.delete(jobArray,2);System.out.println(.此后再添加作业4后的内存情况.);l.addJob
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西兰花菜购销合同范本
- 调味品销售合同协议书
- 2025年中医助理真题试卷及答案
- 基于教学实践的中学美术教师综合能力养成路径探究
- 基于效率与成本双目标的A公司冷链物流仓储中心布局深度优化研究
- 北交大机械考研真题及答案
- 基于改进布谷鸟算法的桁架结构优化:理论、实践与创新
- 基于改进RNN的风电功率短期预测算法:模型优化与实证研究
- 基于支持向量机的阀类产品精密内孔误差评定与质量控制创新研究
- 2025医疗美容器械制造行业技术现状及市场前景
- GB/T 5072-2023耐火材料常温耐压强度试验方法
- 横断面计算Excel土方断面速算表
- 15D502 等电位联结安装
- 11《答谢中书书》知识点整理
- 创意的表达 课件-2023-2024学年高中通用技术地质版(2019)必修《技术与设计1 》
- 九年级数学期中考试质量分析【精选】
- 基于BIM基数的机电安装工程降本提质增效
- GB/T 10003-2008普通用途双向拉伸聚丙烯(BOPP)薄膜
- 高位自卸汽车设计计算说明书-毕业设计
- BOSA测试培训课件
- 【国标图集】13J404电梯自动扶梯自动人行道
评论
0/150
提交评论