Skip to content

Commit 1777a7e

Browse files
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent c989db7 commit 1777a7e

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

scheduling/preemptive_sjf(srtf).py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from statistics import mean
99
from typing import List
1010

11+
1112
def calculate_srtf_waiting_time(arrival: List[int], burst: List[int]) -> List[int]:
1213
"""
1314
Calculate waiting time for each process using Shortest Remaining Time First (SRTF).
@@ -33,7 +34,7 @@ def calculate_srtf_waiting_time(arrival: List[int], burst: List[int]) -> List[in
3334
while completed < n:
3435
# Find process with smallest remaining time that has arrived
3536
idx = -1
36-
min_remaining = float('inf')
37+
min_remaining = float("inf")
3738
for i in range(n):
3839
if arrival[i] <= t and remaining[i] > 0 and remaining[i] < min_remaining:
3940
min_remaining = remaining[i]
@@ -55,7 +56,10 @@ def calculate_srtf_waiting_time(arrival: List[int], burst: List[int]) -> List[in
5556

5657
return waiting
5758

58-
def calculate_srtf_turnaround_time(arrival: List[int], burst: List[int], waiting: List[int]) -> List[int]:
59+
60+
def calculate_srtf_turnaround_time(
61+
arrival: List[int], burst: List[int], waiting: List[int]
62+
) -> List[int]:
5963
"""
6064
Calculate turnaround time for each process using waiting time.
6165
@@ -72,16 +76,21 @@ def calculate_srtf_turnaround_time(arrival: List[int], burst: List[int], waiting
7276
"""
7377
return [burst[i] + waiting[i] for i in range(len(burst))]
7478

79+
7580
if __name__ == "__main__":
7681
arrival_time = [0, 1, 2, 3]
7782
burst_time = [8, 4, 9, 5]
7883

7984
waiting_time = calculate_srtf_waiting_time(arrival_time, burst_time)
80-
turnaround_time = calculate_srtf_turnaround_time(arrival_time, burst_time, waiting_time)
85+
turnaround_time = calculate_srtf_turnaround_time(
86+
arrival_time, burst_time, waiting_time
87+
)
8188

8289
print("PID\tArrival\tBurst\tWaiting\tTurnaround")
8390
for i in range(len(arrival_time)):
84-
print(f"P{i+1}\t{arrival_time[i]}\t{burst_time[i]}\t{waiting_time[i]}\t{turnaround_time[i]}")
91+
print(
92+
f"P{i + 1}\t{arrival_time[i]}\t{burst_time[i]}\t{waiting_time[i]}\t{turnaround_time[i]}"
93+
)
8594

8695
print(f"Average Waiting Time: {mean(waiting_time):.2f}")
8796
print(f"Average Turnaround Time: {mean(turnaround_time):.2f}")

scheduling/priority_scheduling.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
from statistics import mean
99

10+
1011
def calculate_priority_waiting_time(arrival: list, burst: list, priority: list) -> list:
1112
"""
1213
Calculate waiting time for each process using preemptive priority scheduling.
@@ -22,7 +23,7 @@ def calculate_priority_waiting_time(arrival: list, burst: list, priority: list)
2223

2324
while complete < n:
2425
idx = -1
25-
highest_pri = float('inf')
26+
highest_pri = float("inf")
2627
for i in range(n):
2728
if arrival[i] <= t and remaining[i] > 0 and priority[i] < highest_pri:
2829
highest_pri = priority[i]
@@ -62,7 +63,9 @@ def calculate_priority_turnaround_time(burst: list, waiting: list) -> list:
6263

6364
print("PID\tArrival\tBurst\tPriority\tWaiting\tTurnaround")
6465
for i in range(len(arrival_time)):
65-
print(f"P{i+1}\t{arrival_time[i]}\t{burst_time[i]}\t{priority[i]}\t\t{waiting_time[i]}\t{turnaround_time[i]}")
66+
print(
67+
f"P{i + 1}\t{arrival_time[i]}\t{burst_time[i]}\t{priority[i]}\t\t{waiting_time[i]}\t{turnaround_time[i]}"
68+
)
6669

6770
print(f"Average Waiting Time: {mean(waiting_time):.2f}")
6871
print(f"Average Turnaround Time: {mean(turnaround_time):.2f}")

0 commit comments

Comments
 (0)