answersLogoWhite

0


Best Answer

#include<stdio.h>

#include<conio.h>

int main()

{

char p[10][5],temp[5];

int i,j,pt[10],wt[10],totwt=0,pr[10],temp1,n;

float avgwt;

clrscr();

printf("enter no of processes:");

scanf("%d",&n);

for(i=0;i<n;i++)

{

printf("enter process%d name:",i+1);

scanf("%s",&p[i]);

printf("enter process time:");

scanf("%d",&pt[i]);

printf("enter priority:");

scanf("%d",&pr[i]);

}

for(i=0;i<n-1;i++)

{

for(j=i+1;j<n;j++)

{

if(pr[i]>pr[j])

{

temp1=pr[i];

pr[i]=pr[j];

pr[j]=temp1;

temp1=pt[i];

pt[i]=pt[j];

pt[j]=temp1;

strcpy(temp,p[i]);

strcpy(p[i],p[j]);

strcpy(p[j],temp);

}

}

}

wt[0]=0;

for(i=1;i<n;i++)

{

wt[i]=wt[i-1]+et[i-1];

totwt=totwt+wt[i];

}

avgwt=(float)totwt/n;

printf("p_name\t p_time\t priority\t w_time\n");

for(i=0;i<n;i++)

{

printf(" %s\t %d\t %d\t %d\n" ,p[i],pt[i],pr[i],wt[i]);

}

printf("total waiting time=%d\n avg waiting time=%f",tot,avg);

getch();

}

User Avatar

Wiki User

11y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

11y ago
C program for Shortest Job First Preemptive algorithm.

#include

struct proc

{

int pid;

int at,bt,wt,tat,rbt;

int flag,flag1;

};

struct proc p1[10];

int i,j,k,n,no,m;

float atat=0.0,awt=0.0;

int tbt=0;

int minimum1();

int main()

{

int minv,locv,mins,locs;

printf("\nenter the number of processes:");

scanf("%d",&n);

printf("\nenter the proc information:");

printf("\npid at bt");

for(i=0;i

{

p1[i].wt=0;

p1[i].tat=0;

p1[i].flag=0;

p1[i].flag1=0;

scanf("%d%d%d",&p1[i].pid,&p1[i].at,&p1[i].bt);

tbt+=p1[i].bt;

p1[i].rbt=p1[i].bt;

}

printf("\nthe proc information:");

printf("\npid at bt");

for(i=0;i

{

printf("\n%d %d %d",p1[i].pid,p1[i].at,p1[i].bt);

}

minv=p1[0].at;

locv=0;

for(i=1;i

{

if(p1[i].at

{

locv=i; //tells min at process in locv

minv=p1[i].at;

}

}

for(i=0;i

{

if(p1[i].at==minv)

{

p1[i].flag1=1; //processes having same minimum at

}

}

mins=p1[0].bt;

locs=0;

for(i=0;i

{

if(p1[i].flag1==1&&p1[i].bt

{

mins=p1[i].bt; //gives process with minimum burst time

locs=i;

}

}

printf("\ngantt chart:");

for(i=minv;i

{

for(j=0;j

{

if(p1[j].rbt>0&&p1[j].at<=i)

{

p1[j].flag=1;

}

}

no=minimum1();

printf("%d p[%d]",i,p1[no].pid);

p1[no].rbt=p1[no].rbt-1;

for(k=0;k

{

if(p1[k].rbt>0&&p1[k].at<=i&&k!=no)

{

p1[k].wt++;

}

}

}

printf("%d",tbt+minv);

for(i=0;i

{

awt+=p1[i].wt;

}

awt=awt/n;

for(i=0;i

{

p1[i].tat=p1[i].wt+p1[i].bt;

atat+=p1[i].tat;

}

atat=atat/n;

printf("\n average wt=%f, average tat=%f",awt,atat);

printf("\nthe proc information:");

printf("\npid at bt wt tat");

for(i=0;i

{

printf("\n%d %d %d %d %d",p1[i].pid,p1[i].at,p1[i].bt,p1[i].wt,p1[i].tat);

}

}

int minimum1()

{

int loc,z;

int mini;

mini=99;

loc=-1;

for(z=0;z

{

if(p1[z].rbt>0&&p1[z].at<=i&&p1[z].rbt

{

mini=p1[z].rbt;

loc=z;

}

}

return loc;

}

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

APAT

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is the C code for preemptive priority scheduling?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

What is the difference between conventional C and embedd C?

Advantages: - Priority based premptive scheduling -multitasking -multithreading -better response time -valuable services like senaphore,mailbox,queues etc. Disadvantages: -expensive Advantages: - Priority based premptive scheduling -multitasking -multithreading -better response time -valuable services like senaphore,mailbox,queues etc. Disadvantages: -expensive


What is disk scheduling in operating system?

why we use disk scheduling in c ?


What has the author Don C Adams written?

Don C. Adams has written: 'Block scheduling' -- subject(s): Block scheduling (Education)


What are the disadvantages of RoundRobin Scheduling?

Pure round robin scheduling processes A, then B, then C, then starts at A again. (A, B, C might be tasks in an operating system context, or devices in a master/slave control network, or whatever.) That is, pure round robin scheduling doesn't acknowledge priorities, and does not allow out-of-order processing. Real-life systems typically use a mixture of algorithms that, together, allow for prioritized and out-of-order processing while, on the other hand, trying to prevent starvation of lower priority items.


what are advantages and disadvantages of Round Robin scheduling algorithm?

Pure round robin scheduling processes A, then B, then C, then starts at A again. (A, B, C might be tasks in an operating system context, or devices in a master/slave control network, or whatever.) That is, pure round robin scheduling doesn't acknowledge priorities, and does not allow out-of-order processing. Real-life systems typically use a mixture of algorithms that, together, allow for prioritized and out-of-order processing while, on the other hand, trying to prevent starvation of lower priority items.


What is priority inversion?

Priority inversion is a situation where in lower priority tasks will run blocking higher priority tasks waiting for resource (mutex). For ex: consider 3 tasks. A, B and C, A being highest priority task and C is lowest. Look at sequence of context swaps A goes for I/O . unlocks mutex. C was ready to run. So C starts running. locks mutex B is ready to run. Swaps out C and takes mutex. A is ready to run. but A is blocked as mutex is locked by B. but B will never relinqishes the mutex as its higher priority than C. The solution to priority inversion is Priority inheritance.


What has the author J C Thorpe written?

J. C. Thorpe has written: 'A comparison of vehicle scheduling methods'


What has the author Steven C Kleiner written?

Steven C. Kleiner has written: 'Distribution of a generic mission planning and scheduling toolkit for astronomical spacecraft' -- subject(s): Scheduling, Mission planning, Spaceborne astronomy, Launch vehicles


Is C plus plus preprocessor software?

Sometimes, it is. Some implementations compile C++ code into C code, and then compile the C code.


Which type of scheduling are part of the IBM Tivoli Storage Manager server?

A) client schedules B) migration schedules C) enterprise schedules D) Synchronized scheduling with IBM Tivoli Workload Scheduler


What are the role played by parenthesis in an expression in C language?

Parenthesis will affect the order of execution priority of statements. Expressions within parenthesis assume highest priority.


Array implementation of priority queue example program in c plus plus?

yes