Skip to content

Commit 0074023

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

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

FCFS/fcfs.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import random
2+
process_queue = []
3+
total_wtime = 0
4+
n = 10
5+
print 'Input : '
6+
print 'ProcessName\tArrivalTime\tBurstTime'
7+
for i in xrange(n):
8+
process_queue.append([])#append a list object to the list
9+
process_queue[i].append(i+1)
10+
process_queue[i].append(random.randint(0,51))
11+
process_queue[i].append(random.randint(1,11))
12+
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+
16+
process_queue.sort(key = lambda process_queue:process_queue[1])
17+
exe=process_queue[0][1]+process_queue[0][2];
18+
for j in xrange(n-1):
19+
i=j+1
20+
if exe < process_queue[i][1]:
21+
exe=process_queue[i][1]+process_queue[i][2]
22+
else:
23+
process_queue[i][3]=exe
24+
exe=exe+process_queue[i][2]
25+
26+
print 'Output : '
27+
print 'ProcessName\tArrivalTime\tBurstTime\tExecutionStartTime'
28+
for i in xrange(n):
29+
print process_queue[i][0],'\t\t',process_queue[i][1],'\t\t',process_queue[i][2],'\t\t',process_queue[i][3]

FCFS/question.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Implement the First-Come, First-Serve process scheduling algorithm.
2+
3+
The input to your algorithm must be a 2-D array that contains values for(Burst Time, Arrival Time) for 10 processes. Initialize random values for each of the 2 attributes for each process and print this table.
4+
5+
Acceptable range of values for input:
6+
Burst Time: [0,10]microseconds
7+
Arrival Time: [0,50]seconds
8+
*Burst Time is the amount of time the process requires to execute on the CPU.
9+

0 commit comments

Comments
 (0)