Skip to content

Commit 96be592

Browse files
Create fcfs.py
1 parent beb3cfd commit 96be592

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

scheduling/fcfs.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from collections import deque
2+
3+
# ---------------- FCFS ----------------
4+
def fcfs(processes, burst_time):
5+
n = len(processes)
6+
waiting_time = [0] * n
7+
turnaround_time = [0] * n
8+
9+
# Calculate waiting time
10+
for i in range(1, n):
11+
waiting_time[i] = waiting_time[i-1] + burst_time[i-1]
12+
13+
# Turnaround time = waiting + burst
14+
for i in range(n):
15+
turnaround_time[i] = waiting_time[i] + burst_time[i]
16+
17+
avg_wt = sum(waiting_time) / n
18+
avg_tat = sum(turnaround_time) / n
19+
return waiting_time, turnaround_time, avg_wt, avg_tat
20+
if __name__ == "__main__":
21+
processes = [1, 2, 3]
22+
burst_time = [5, 9, 6]
23+
24+
print("FCFS:", fcfs(processes, burst_time))

0 commit comments

Comments
 (0)