⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sys_resource.java

📁 一个整体操作系统的主要功能的计算机模拟实现(含进程、内存与设备管理)
💻 JAVA
字号:
package design;/** * <p>Title: 操作系统课程设计</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author 胡波 * @version 1.0 */public class Sys_resource {  int[] resourceHave;  int[] resourceUse;  int[] resourceFree;  int[] resourceMayFree;  public Sys_resource() {    resourceHave=new int[4];    resourceUse=new int[4];    resourceFree=new int[4];    resourceMayFree=new int[4];  }  public Sys_resource(int[] a){    resourceHave=new int[a.length];    resourceUse=new int[a.length];    resourceFree=new int[a.length];    resourceMayFree=new int[a.length];    for(int i=1;i<=a.length-1;i++)      resourceMayFree[i]=resourceFree[i]=resourceHave[i]=a[i];  }  public boolean canBeBestDistribute(int[] a){    for(int i=1;i<=a.length-1;i++)      if(a[i]>resourceMayFree[i])        return false;    return true;  }  public int[] bestDistrubire(int[] a){ //尽力分配    int[] temp=new int[a.length];    for(int i=1;i<=a.length-1;i++)      temp[i]=Math.min(a[i],resourceFree[i]);    for(int i=1;i<=resourceHave.length-1;i++){      resourceFree[i]-=temp[i];      resourceMayFree[i]-=temp[i];      resourceUse[i]+=temp[i];    }    return temp;  }  public boolean canBeAddDistribute(int[] a){    for(int i=1;i<=a.length-1;i++)      if(a[i]>resourceFree[i])        return false;    return true;  }  public boolean addDistribute(int[] a,int [] allResource){    for(int i=1;i<=a.length-1;i++)      if(a[i]>resourceFree[i])        return false;    for(int i=1;i<=a.length-1;i++){      resourceFree[i]-=a[i];      resourceUse[i]+=a[i];      resourceMayFree[i]+=allResource[i];    }    return true;  }  public boolean canBeAllDistribute(int[] a){    for(int i=1;i<=a.length-1;i++)      if(a[i]>resourceFree[i])        return false;    return true;  }  public boolean allDistrubite(int[] a){//完全分配    for(int i=1;i<=a.length-1;i++)      if(a[i]>resourceFree[i])        return false;    int[] temp=new int[a.length];    for(int i=1;i<=a.length-1;i++)      temp[i]=a[i];    for(int i=1;i<=a.length-1;i++){      resourceFree[i]-=temp[i];      resourceUse[i]+=temp[i];    }    return true;  } // public boolean public void freeResource(int[] a){   for(int i=1;i<=a.length-1;i++){     resourceUse[i]-=a[i];     resourceFree[i]+=a[i];   } }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -