Question: import matplotlib.pyplot as plt class Process: def _ _ init _ _ ( self , num, Arrival _ time, Burst _ time, Comes _ back
import matplotlib.pyplot as plt
class Process:
def initself num, Arrivaltime, Bursttime, Comesbackafter, Priority:
self.num num
self.Arrivaltime Arrivaltime
self.Bursttime Bursttime
self.remainingtime Bursttime
self.Comesbackafter Comesbackafter
self.Priority Priority
#
def FirstComeFirstServedprocesses:
TurnAroundTimeTotalwithSupposedp
TurnAroundTime
WaitingTime
GanttChart
TurnAroundTimeTotal
WaitingTimeTotal
processes.sortkeylambda y: yArrivaltime
Size
currentnTime
Timer
while Timer :
for process in processes:
if process.Arrivaltime currentnTime and Timer :
if currentnTime process.Bursttime :
Size
GanttChart.appendprocessnum, currentnTime, currentnTime process.Bursttime
printprocessnum, currentnTime, currentnTime process.Bursttime
currentnTime process.Bursttime
TurnAroundTime currentnTime process.Arrivaltime
TurnAroundTimeTotal TurnAroundTime
WaitingTime TurnAroundTime process.Bursttime
WaitingTimeTotal WaitingTime
Timer currentnTime
else:
currentnTime
Timer currentnTime
TurnAroundTime currentnTime process.Arrivaltime
TurnAroundTimeTotalwithSupposedp TurnAroundTime TurnAroundTimeTotal
TurnAroundTimeTotalwithSupposedp TurnAroundTimeTotalwithSupposedp Size
break
averagewaitingtime WaitingTimeTotal Size
averageturnaroundtime TurnAroundTimeTotal Size
return GanttChart, averagewaitingtime, averageturnaroundtime, TurnAroundTimeTotalwithSupposedp
#
def shortestJobFirstprocesses:
GanttChart
temp
readyqueue
waitingqueue
currentnTime
Timer
Size
TurnAroundTimeTotalwithSupposedp
TurnAroundTime
WaitingTime
TurnAroundTimeTotal
WaitingTimeTotal
GanttChart.appendprocessesnum, currentnTime, currentnTime processesBursttime
currentnTime processesBursttime
processes.sortkeylambda y: yBursttime
Size
while Timer :
for process in processes:
if Timer :
if currentnTime process.Bursttime :
if waitingqueue:
foundwaiting False
for waitingprocess in waitingqueue:
if temp waitingprocess.Comesbackafter:
readyqueue.appendwaitingprocess
waitingqueue.removewaitingprocess
foundwaiting True
break # Exit the waiting queue loop after adding processes to the ready queue
else: break
if not foundwaiting:
readyqueue.appendprocess
runningprocess readyqueue.pop
GanttChart.appendprocessnum, currentnTime, currentnTime process.Bursttime
printprocessnum, currentnTime, currentnTime process.Bursttime
waitingqueue.appendrunningprocess
Size
temp process.Bursttime
currentnTime process.Bursttime
TurnAroundTime currentnTime process.Arrivaltime
TurnAroundTimeTotal TurnAroundTime
WaitingTime TurnAroundTime process.Bursttime
WaitingTimeTotal WaitingTime
Timer currentnTime
else:
runningprocess readyqueue.pop
GanttChart.append
runningprocess.num, currentnTime, currentnTime runningprocess.Bursttime
printprocessnum, currentnTime, currentnTime process.Bursttime
waitingqueue.appendrunningprocess
temp runningprocess.Bursttime
currentnTithis is my code for this project Faculty of Engineering & Technology
Department of Electrical & Comp
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
