-
Notifications
You must be signed in to change notification settings - Fork 2
/
FCFS.java
41 lines (32 loc) · 1.12 KB
/
FCFS.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package schedulermanager;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Nycholas de Sousa
* @matricula 11228201
*
*/
public class FCFS extends Scheduler {
private static List<Process> listReady;
public FCFS(List<Process> process) {
listReady = new ArrayList<Process>(process);
int returnTime = 0;
int responseTime = 0;
int waitTime = 0;
int amountProcess = process.size();
int arrivalProcess = arrivalMin(process);
for (Process p: listReady){
arrivalProcess += p.getDuration();
returnTime += (arrivalProcess - p.getArrivalTime());
waitTime += (arrivalProcess - p.getArrivalTime() - p.getDuration());
}
responseTime = waitTime; //FCFS: tempo de resposta e de espera são iguais
super.setAvgReturn((double) returnTime / amountProcess);
super.setAvgResponse((double) responseTime / amountProcess);
super.setAvgWait((double) waitTime / amountProcess);
}
public void print() {
super.print("FCFS");
}
}