Professional Documents
Culture Documents
403 Assignment
403 Assignment
MATRIC NO:
COURSE CODE: CSE403
COURSE TITLE: OPERATING SYSTEM
SOURCE CODE
PROGRAMMING LANGUAGE: PYTHON
#!/usr/bin/env python3
from prettytable import PrettyTable
kudos = ''.join([chr(i) for i in [77, 97, 100, 101, 32, 98, 121, 32, 83, 97, 119, 122, 101, 101,
121, 121, 32, 58, 41]])
for i in range(process_no):
table.add_row([i+1, arrival[i], execution[i], '%.2f' % wait[i], '%.2f' % turnaround[i]])
# Round Robin
def roundRobin(arrival, execution, switch_time, quantum):
# Process execution time
execution_t = [[3] * int(time / quantum) + [time % quantum] for time in execution]
# Service Time
prev = switch_time
for i in range(max_nested_list):
for j in range(process_no):
try:
if execution_t[j][i] > 0:
preva = execution_t[j][i]
execution_t[j][i] = prev
prev = preva
except:
continue
service = []
for i in range(process_no):
for j in range(len(execution_t[i])-1, -1, -1):
if execution_t[i][j] > 0:
service.append(execution_t[i][j] - (j * quantum))
break
else:
continue
return table_and_average[1]
# Update minimum
minm = rt[short]
if (minm == 0):
minm = 999999999
# Increment complete
complete += 1
check = False
# Increment time
t += 1
return wt
wt = [0] * process_no
proc = [[i, execution[i], arrival[i]] for i in range(process_no)]
service = findWaitingTime(proc, process_no, wt)
service = [service[i] + arrival[i] for i in range(process_no)]
# print(service)
print('(ii) Premptive Shorted Process Next')
table_and_average = compute_table(arrival, execution, service, True)
print(table_and_average[0])
print('Average Turnaround Time:', table_and_average[1])
print()
return table_and_average[1]
return table_and_average[1]
OUTPUT
1.
2.