FCFS
FCFS
Objective: Implement the First-Come, First-Served (FCFS) CPU scheduling algorithm in Python.
The program should prompt the user for arrival time and burst time only. Process IDs are
automatically assigned.
Problem Statement:
current_time = 0
waiting_times = []
turnaround_times = []
gantt_chart = []
waiting_times.append(waiting_time)
turnaround_times.append(turnaround_time)
gantt_chart.append((process["pid"], start_time, completion_time))
current_time = completion_time
# Gantt Chart
print("\nGantt Chart:")
for entry in gantt_chart:
print(f"| {entry[0]} ", end="")
print("|")
for entry in gantt_chart:
print(f"{entry[1]:<4}", end=" ")
print(f"{gantt_chart[-1][2]}")
# Process Table
print("\nProcess\tArrival\tBurst\tTAT\tWaiting")
for i, p in enumerate(processes):
print(f"{p['pid']}\t{p['arrival']}\t{p['burst']}\t{turnaround_times[i]}\t{waiting
_times[i]}")
# Average Waiting
avg_waiting = sum(waiting_times) / n
Sample Input:
Sample Output: