📄 sys_resource.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 + -