|
1 |
| -import random |
2 | 1 | process_queue = []
|
3 | 2 | total_wtime = 0
|
4 |
| -n = 10 |
5 |
| -print 'Input : ' |
6 |
| -print 'ProcessName\tArrivalTime\tBurstTime' |
| 3 | +n = int(raw_input('Enter number of process: ')) |
7 | 4 | for i in xrange(n):
|
8 | 5 | process_queue.append([])#append a list object to the list
|
9 | 6 | 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): ')) |
12 | 14 | 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 | + |
16 | 17 | process_queue.sort(key = lambda process_queue:process_queue[1])
|
17 | 18 | exe=process_queue[0][1]+process_queue[0][2];
|
18 | 19 | for j in xrange(n-1):
|
|
23 | 24 | process_queue[i][3]=exe
|
24 | 25 | exe=exe+process_queue[i][2]
|
25 | 26 |
|
26 |
| -print 'Output : ' |
| 27 | + |
27 | 28 | print 'ProcessName\tArrivalTime\tBurstTime\tExecutionStartTime'
|
28 | 29 | for i in xrange(n):
|
29 | 30 | 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