Skip to content

Commit 63ccd05

Browse files
committed
added algorithm for FCFS scheduling
1 parent 0074023 commit 63ccd05

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

FCFS/fcfs.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
import random
21
process_queue = []
32
total_wtime = 0
4-
n = 10
5-
print 'Input : '
6-
print 'ProcessName\tArrivalTime\tBurstTime'
3+
n = int(raw_input('Enter number of process: '))
74
for i in xrange(n):
85
process_queue.append([])#append a list object to the list
96
process_queue[i].append(i+1)
10-
process_queue[i].append(random.randint(0,51))
11-
process_queue[i].append(random.randint(1,11))
7+
process_queue[i].append(int(raw_input('Enter p_arrival: ')))
8+
while process_queue[i][1]>50 or process_queue[i][1]<0:
9+
process_queue[i][1]=int(raw_input('Enter p_arrival(Should be between 0-50 sec): '))
10+
total_wtime += process_queue[i][1]
11+
process_queue[i].append(int(raw_input('Enter p_bust: ')))
12+
while process_queue[i][2]>10 or process_queue[i][2]<0:
13+
process_queue[i][2]=int(raw_input('Enter p_burst(Should be between 0-10 msec): '))
1214
process_queue[i].append(process_queue[i][1])
13-
print process_queue[i][0],'\t\t',process_queue[i][1],'\t\t',process_queue[i][2]
14-
15-
15+
print ''
16+
1617
process_queue.sort(key = lambda process_queue:process_queue[1])
1718
exe=process_queue[0][1]+process_queue[0][2];
1819
for j in xrange(n-1):
@@ -23,7 +24,10 @@
2324
process_queue[i][3]=exe
2425
exe=exe+process_queue[i][2]
2526

26-
print 'Output : '
27+
2728
print 'ProcessName\tArrivalTime\tBurstTime\tExecutionStartTime'
2829
for i in xrange(n):
2930
print process_queue[i][0],'\t\t',process_queue[i][1],'\t\t',process_queue[i][2],'\t\t',process_queue[i][3]
31+
32+
print 'Total waiting time: ',total_wtime
33+
print 'Average waiting time: ',(total_wtime/n)

0 commit comments

Comments
 (0)