Back
First Come First Serve
# First Come First Serve Scheduling Algorithm (FCFS)
def First_Come_First_Serve(name_of_process, burst_time, number_of_processes):
waiting_time = 0
total_waiting_time = 0
total_turnaround_time = 0
print("Name Of Process\tBurst Time\tWaiting Time\tTurnAround Time")
for i in range(number_of_processes):
turnaround_time = waiting_time + burst_time[i]
total_turnaround_time += turnaround_time
print(f"{name_of_process[i]}\t\t{burst_time[i]}\t\t{waiting_time}\t\t{turnaround_time}")
total_waiting_time += waiting_time
waiting_time += burst_time[i]
print(f"\nAverage Waiting Time is:: {total_waiting_time / number_of_processes}\nAverage TurnAround Time is:: {total_turnaround_time / number_of_processes}")
def main():
name_of_process = []
burst_time = []
number_of_processes = int(input("Enter the number of processes: "))
for i in range(number_of_processes):
name_of_process.append(input(f"Enter name of process {i + 1}: "))
burst_time.append(int(input(f"Enter burst time for process {name_of_process[i]}: ")))
First_Come_First_Serve(name_of_process, burst_time, number_of_processes)
if __name__ == "__main__":
main()