You are on page 1of 2

import java.util.

*;

class Process {

int id;

int arrivalTime;

int burstTime;

public Process(int id, int arrivalTime, int burstTime) {

this.id = id;

this.arrivalTime = arrivalTime;

this.burstTime = burstTime;

public class FCFSScheduling {

public static void main(String[] args) {

List<Process> processes = new ArrayList<>();

processes.add(new Process(1, 0, 5));

processes.add(new Process(2, 2, 3));

processes.add(new Process(3, 4, 2));

processes.add(new Process(4, 6, 4));

fcfsScheduling(processes);

public static void fcfsScheduling(List<Process> processes) {

int currentTime = 0;

int totalWaitingTime = 0;
for (Process process : processes) {

if (currentTime < process.arrivalTime)

currentTime = process.arrivalTime;

totalWaitingTime += currentTime - process.arrivalTime;

currentTime += process.burstTime;

System.out.println("Process " + process.id + " completed at time " + currentTime);

System.out.println("Average waiting time: " + (double) totalWaitingTime / processes.size());

You might also like