Skip to content

Commit a8bbc9b

Browse files
committed
add mode to support one cycle execute
1 parent cc0e521 commit a8bbc9b

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

FCFS_algo.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
class FCFS:
88
processes = []
99
grantt_chart = []
10+
mode = ''
1011

11-
def __init__(self, processes):
12+
def __init__(self, processes, mode=''):
13+
self.mode = mode
1214
self.processes = processes
1315

1416
def cpu_process(self):
@@ -21,7 +23,8 @@ def cpu_process(self):
2123
process.arrival_time + process.cpu_burst_time1 + process.io_time, # sec cpu start
2224
process.arrival_time + process.cpu_burst_time1, # first cpu end
2325
process.arrival_time + process.cpu_burst_time1 + process.io_time, # io end time
24-
process.arrival_time + process.cpu_burst_time1 + process.io_time + process.cpu_burst_time2) # sec cpu end
26+
process.arrival_time + process.cpu_burst_time1 + process.io_time + process.cpu_burst_time2)
27+
# sec cpu end
2528
)
2629
else:
2730
prev_process_grantt = self.grantt_chart[len(self.grantt_chart) - 1]
@@ -30,19 +33,25 @@ def cpu_process(self):
3033
ProcessGrantInfo(process,
3134
prev_process_grantt.get_end_time() + 0, # first cpu start
3235
prev_process_grantt.get_end_time() + process.cpu_burst_time1, # io start time
33-
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time, # sec cpu start
36+
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time,
37+
# sec cpu start
3438
prev_process_grantt.get_end_time() + process.cpu_burst_time1, # first cpu end
35-
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time, # io end time
36-
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time + process.cpu_burst_time2) # sec cpu end
39+
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time,
40+
# io end time
41+
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time + process.cpu_burst_time2)
42+
# sec cpu end
3743
)
3844
else:
3945
self.grantt_chart.append(
4046
ProcessGrantInfo(process,
4147
process.arrival_time, # first cpu start
4248
prev_process_grantt.get_end_time() + process.cpu_burst_time1, # io start time
43-
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time, # sec cpu start
49+
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time,
50+
# sec cpu start
4451
prev_process_grantt.get_end_time() + process.cpu_burst_time1, # first cpu end
45-
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time, # io end time
46-
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time + process.cpu_burst_time2) # sec cpu end
52+
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time,
53+
# io end time
54+
prev_process_grantt.get_end_time() + process.cpu_burst_time1 + process.io_time + process.cpu_burst_time2)
55+
# sec cpu end
4756
)
48-
return self.grantt_chart
57+
return self.grantt_chart

0 commit comments

Comments
 (0)