1 / 3
文档名称:

操作系统最佳适应算法JAVA.doc

格式:doc   大小:23KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统最佳适应算法JAVA.doc

上传人:qiang19840906 2020/8/26 文件大小:23 KB

下载得到文件列表

操作系统最佳适应算法JAVA.doc

文档介绍

文档介绍://{//用Node来模拟内存的当前状态intstart;intsize;booleanstate;intjobNo;ode(){}ode(intstart,intsize,booleanstate,intjobNo){ =start; =size; =state; =jobNo; }publicvoidprint(){//打印Node类 if(this!=null){ if(==false)("起始位置:"++"大小:"++"状态:可用"+"工作号:"+); if(==true) ("起始位置:"++"大小:"++"状态:不可用"+"工作号:"+); } }};//{ staticintnum=3;publicvoidaddJob(intsize,intjobNo,Nodea[]){ inti,j,count=0; Nodeb[]=newNode[20]; for(i=0;i<;i++){ if(a[i]!=null){ if(size<a[i].size&&a[i].state==false){ b[count]=a[i]; ("可用分区大小:"+b[count].size+"工作号:"+b[count].jobNo); count++; } else{(a[i].jobNo+"号区无法分配任务,请等待!");} } } for(i=count;i>0;i--){//选择排序选出最小的空闲区 if(b[i]!=null) if(b[0].size>b[i].size){ b[0]=b[i]; } } for(i=0;i<;i++){if(a[i].jobNo==b[0].jobNo){break;}} a[i].size=a[i].size-size;//当前内存分配大小给作业Nodenode=newNode(a[i].start,size,true,jobNo);a[i].start=a[i].start+size;for(j=num;j>=i;j--){a[j+1]=a[j];}a[i]=node;num=num+1;}publicvoiddelete(Nodea[],intjobNo){//删除某一个进程,当该进程被删除后,进程所在内存的状态变为false inti,j; for(i=0;i<;i++){ if(a[i]!=null){ if(a[i].jobNo==jobNo){ //a[i].size=0; a[i].state=false; a[i].jobNo=jobNo; ("将要释放:"); a[i].print(); if(a[i-1].state==false){ a[i-1].size=a[i-1].s