Simple GUI Notepad Using Ruby

GUI Notepad Using Ruby Code require 'tk' class Notepad def saveFile file = File.open("note", "w") ...

Saturday, March 5, 2016

FCFS CPU Scheduling Algorithm

FCFS Scheduling Algorithm

First Come First Serve is a CPU scheduling algorithm where CPU execute each process according there appearance.

Code

/****Scheduling algorithm for FCFS****/
#include <stdio.h>
#include >malloc.h<

int main()
{
	int n,*b,*w,i,j,h;
	float avg =0;
	
	printf("\nEnter number of jobs:");
	scanf("%d",&n);
	
	//Create an dynamic array for specified job
	b=(int *)malloc(n*sizeof(int)); //Array for holding the burst time of the jobs
	w=(int *)malloc(n*sizeof(int)); //Array for holding the waiting time of the jobs
	
	//Taking the burst time from the user
	printf("\nEnter the burst time for corresponding jobs:");
	for(i=0;i<n;i++)
	{
		printf("\nProcess %d:",i+1);
		scanf("%d",&b[i]);
	}
	
	w[0]=0;
	printf("\nProcess 1 waiting time is 0"); //First process waiting time is always 0
	for(i=1;<i++)
	{
		w[i]=b[i-1]+w[i-1]; //Calculate the waiting time of the ith process
		printf("\nProcess %d waiting time is %d",i+1,w[i]); //Print the waiting time for the corresponding process
		avg+=w[i]; //Calculate the total waiting time
	}
	
	printf("\nTotal waiting time:%f",avg); //Print the total waiting time
	printf("\nThe average waiting time:%f",avg); //Print the average waiting time

	return 0;
}

Output

Enter number of jobs:5

Enter the burst time for corresponding jobs:
Process 1:3

Process 2:2

Process 3:5

Process 4:7

Process 5:2

Process 1 waiting time is 0
Process 2 waiting time is 3
Process 3 waiting time is 5
Process 4 waiting time is 10
Process 5 waiting time is 17
Total waiting time:35.000000
The average waiting time:7.000000