資源簡介
里面包括進程調度,銀行家算法,多線程編程以及存儲管理

代碼片段和文件信息
package?實驗1;
import?java.util.ArrayList;
import?java.util.Comparator;
import?java.util.List;
import?java.util.PriorityQueue;
import?java.util.Queue;
import?java.util.Scanner;
public?class?進程調度?{
public?static?void?main(String[]?args)?{
???? Node?course[]=new?Node[8];
???? Scanner?scanner=new?Scanner(System.in);
System.out.println(“請輸入進程數目(5~8個)“);
int?N=scanner.nextInt();??????????//進程數量
for(int?i=0;i {
course[i]=new?Node();
}
System.out.println(“請分別輸入每個進程的等待時間和執行時間“);
for(int?i=0;i {
//System.out.println(“請輸入“+(i+1)+“個進程的進程名“);
course[i].name=i+1;
//System.out.println(“請輸入“+(i+1)+“個進程的等待時間“);
course[i].arriveTime=(int)(Math.random()*100+1);
//System.out.println(“請輸入“+(i+1)+“個進程的執行時間“);
course[i].runTime=(int)(Math.random()*100+1);
}
System.out.println(“輸入完成“);
System.out.println();
for(int?i=0;i {
System.out.println(course[i].name+“?“+course[i].arriveTime+“?“+course[i].runTime);
}
System.out.println(“請選擇使用的調度算法“);
System.out.println(“?1??FCFS(先來先服務算法)“);
System.out.println(“?2??SJF(短作業優先算法)“);
System.out.println(“?3??SS(輪轉調度算法)??“);
int?choose=scanner.nextInt();
switch?(choose)?{
case?1:
System.out.println(“先來先服務算法調度順序為:“);
System.out.println(“進程名???????等待時間???????運行時間“);
??????? FCFS(courseN);
break;
case?2:
System.out.println(“短作業優先算法調度順序為:“);
System.out.println(“進程名???????等待時間???????運行時間“);
SJF(courseN);
break;
case?3:
System.out.println(“輸入時間間隔:“);
SS(courseN);
break;
default:
System.out.println(“非法輸入?。?!??程序終止!“);
System.exit(-1);
break;
}
}
????//先到先服務算法
????public?static?void?FCFS(Node?course[]int?N)
????{
???? Queue?q=new?PriorityQueue(compare);
???? for(int?i=0;i ???? {
???? q.add(course[i]);
???? }
????
???? for(int?i=0;i ???? {
???? Node?outPut=q.poll();
???? System.out.println(“??“+outPut.name+“?????“+outPut.arriveTime+“??????“+outPut.runTime);
???? }
????}
????//短作業優先算法
????public?static?void?SJF(Node?course[]int?N)
????{
???? boolean?flage[]=new?boolean[8];??//用于標記
???? for(int?i=0;i<8;i++)
???? {
???? flage[i]=false;
???? }
???? int?count=N;????//未到達的進程數
???? Queue?q=new?PriorityQueue(compare1);
???? ?int?min=Integer.MAX_VALUE;
???? ?int?min1=Integer.MAX_VALUE;
???? ?? int?flag1=-1;???//下標
???? ?? for(int?i=0;i ???? ?? {
???? ?? if(!flage[i])
???? ?? {
???? ?? if(course[i].arriveTime ???? ?? ?? {
???? ?? ?? min=course[i].arriveTime;
???? ?? ?? flag1=i;
???? ?? ?? min1=course[i].runTime;
???? ?? ?? }
???? ?? }
???? ?? }
???? ?? for(int?i=0;i ???? ?? {
???? ?? if(course[i].arriveTime==min)
???? ?? {
???? ?? if(course[i].runTime ???? ?? flag1=i;
???? ?? }
???? ?? }
????????//int?flag1=searchMin(courseNflage);
????????q.add(course[flag1]);
?????? flage[flag1]=true;
?????? in
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-23?21:25??操作系統\
?????文件?????????301??2018-11-15?15:23??操作系統\.classpath
?????文件?????????388??2018-11-15?15:23??操作系統\.project
?????目錄???????????0??2018-11-23?21:25??操作系統\.settings\
?????文件?????????598??2018-11-15?15:23??操作系統\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2018-11-26?14:19??操作系統\bin\
?????目錄???????????0??2018-11-26?14:19??操作系統\bin\實驗1\
?????文件?????????383??2018-11-26?14:19??操作系統\bin\實驗1\Node.class
?????文件?????????796??2018-11-26?14:19??操作系統\bin\實驗1\進程調度$1.class
?????文件?????????793??2018-11-26?14:19??操作系統\bin\實驗1\進程調度$2.class
?????文件????????5935??2018-11-26?14:19??操作系統\bin\實驗1\進程調度.class
?????目錄???????????0??2018-11-26?14:19??操作系統\bin\實驗2\
?????文件????????4071??2018-11-26?15:08??操作系統\bin\實驗2\銀行家算法.class
?????目錄???????????0??2018-11-26?14:19??操作系統\bin\實驗3\
?????文件????????4322??2018-11-26?14:19??操作系統\bin\實驗3\test.class
?????文件?????????890??2018-11-26?14:19??操作系統\bin\實驗3\多線程編程$1.class
?????文件?????????456??2018-11-26?14:19??操作系統\bin\實驗3\多線程編程$tcb.class
?????文件????????5093??2018-11-26?14:19??操作系統\bin\實驗3\多線程編程.class
?????文件?????????971??2018-11-27?09:36??操作系統\bin\實驗3\多線程編程第二版$1.class
?????文件?????????492??2018-11-27?09:36??操作系統\bin\實驗3\多線程編程第二版$tcb.class
?????文件????????5257??2018-11-27?09:36??操作系統\bin\實驗3\多線程編程第二版.class
?????目錄???????????0??2018-11-27?11:05??操作系統\bin\實驗4\
?????文件?????????395??2018-11-27?22:32??操作系統\bin\實驗4\存儲管理$node.class
?????文件????????7792??2018-11-27?22:32??操作系統\bin\實驗4\存儲管理.class
?????目錄???????????0??2018-11-26?14:27??操作系統\bin\實驗5\
?????文件?????????395??2018-11-26?14:58??操作系統\bin\實驗5\磁盤調度.class
?????目錄???????????0??2018-11-26?14:02??操作系統\src\
?????目錄???????????0??2018-11-23?21:25??操作系統\src\實驗1\
?????文件????????7265??2018-11-16?18:20??操作系統\src\實驗1\進程調度.java
?????目錄???????????0??2018-11-23?21:25??操作系統\src\實驗2\
?????文件????????4707??2018-11-26?15:08??操作系統\src\實驗2\銀行家算法.java
............此處省略8個文件信息
評論
共有 條評論