77范文网 - 专业文章范例文档资料分享平台

操作系统内存分配算法模拟实现(2)

来源:网络收集 时间:2019-03-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

} } r = r.next; behind_r = r.next; front_r = front_r.next; //记录第一块空闲分区的上一块 while(behind_r != null){ } System.out.println(\重定向成功,继续为作业分配内存...\if(behind_r.state){ } else{ } behind_r = r.next; r.size += behind_r.size; r.next = behind_r.next; front_r.next = behind_r; r.next = behind_r.next; behind_r.next = r; front_r = behind_r; public void addJob(){ //添加作业 } public void delJob(){ //销毁作业 String cur_job_name = new String(\int newSize; //新作业所需内存大小 String nJobName = new String(\Scanner scanner=new Scanner(System.in); System.out.print(\请输入新任务的名称:\nJobName = scanner.nextLine(); System.out.print(\请输入新任务所需内存大小:\newSize = scanner.nextInt(); memAllocation(newSize,nJobName); } boolean flag = false; //指示作业是否删除成功 FreeBlock q=flist.head.next; Scanner scanner=new Scanner(System.in); System.out.print(\请输入需要回收的作业名称:\cur_job_name = scanner.nextLine(); while(q != null){ } if(flag){ } else{ } System.out.println(\删除作业未成功!\System.out.println(\删除作业成功!\if(q.job_name == cur_job_name){ } else{ } q = q.next; //找到要删除的作业的下一个结点 q.state = false; q.job_name = \memRecovery(q); //回收内存 flag = true; break; public void printJobInfo(){ //打印作业信息 FreeBlock p = flist.head.next; int pro_num = 1; //用户程序号 int mem_num = 1; //内存分区块号 System.out.println(\用户程序信息----------\while(p != null){ if(p.state){ } } } } System.out.println(\用户程序\ +\占用第\分区块\pro_num++; mem_num++; p = p.next; public void printFreeSubareaInfo(){ } 其它类的实现 FreeBlock p = flist.head.next; //打印空闲分区信息 int leav_size = 0; //剩余内存大小 int mem_num = 1; //内存分区块号 System.out.println(\空闲分区信息----------\System.out.println(\分区块号\\t大小\while(p != null){ } System.out.println(\剩余内存总打小为\if(!p.state){ } mem_num++; p = p.next; System.out.println(\leav_size += p.size; 空闲分区块类: package com.kaiping.memorymanage; public class FreeBlock { int size; //空闲块大小 //false表示空闲,true表示已经装入作业 boolean state; String job_name; //装入的作业名称 FreeBlock next; //下一空闲块的自引用 public FreeBlock(int s){ } } 空闲分区链类: package com.kaiping.memorymanage; import java.util.Scanner; public class FreeList { FreeBlock fblock; FreeBlock head; int fblockNum; int flistsize; } public boolean isEmpty(){ } public void insertFBlock(int size){ FreeBlock newBlock = new FreeBlock(size); if(fblock == null){ } else{ fblock = newBlock; head.next = fblock; return (fblock == null); //空闲块数 int sumMemCount; //内存总大小 //空闲分区总和 public FreeList(){ fblock = null; head = new FreeBlock(0); size = s; state = false; job_name = new String(\ next = null; } } fblock.next = newBlock; fblock = fblock.next; public void deleteFBlock(FreeBlock dblock){ } public void InitFBlock(){ int leavesCount; int bsize=0; //为化入分区内存总大小 //分区块大小 FreeBlock temp = head; while(temp != null){ } if(temp.next == dblock){ } temp = temp.next; temp.next = dblock.next; break; Scanner scanner=new Scanner(System.in); System.out.print(\初始多大空间,请输入一整数:\sumMemCount = scanner.nextInt(); leavesCount = sumMemCount; flistsize = sumMemCount; //初始空闲分区大小为内存大小 System.out.print(\需将内存分为多少分区块,请输入一整数:\fblockNum = scanner.nextInt(); System.out.println(\初始化内存分区----------\for(int i=1; i <= fblockNum; i++){ if(i == fblockNum){ } else{ System.out.print(\请输入第\块分区大小:\insertFBlock(leavesCount);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统内存分配算法模拟实现(2)在线全文阅读。

操作系统内存分配算法模拟实现(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/504637.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: