You are on page 1of 7

FCFS

#include<stdio.h>
#include<math.h>
#include<conio.h>
void main()
{
clrscr();
int p[20],b[20],w[20],t[20],i,v,n,at;
int wt=0;
float tw,tr;
printf("Enter the number of process : ");
scanf("%d",&n);
printf("enter CPU burst time : ");
for(i=1;i<=n;i++)
{
scanf("%d",&b[i]);
t[1]=b[1];
w[1]=0;
at=t[1];
wt=w[1];
for(i=2;i<=n;i++)
{
t[i]=b[i]+t[i-1];
at=at+t[i];
w[i]=t[i-1];
wt=wt+w[i];
}
}
printf("process \t burst_time \t wait_time \t turn_around \t \n");
for(i=1;i<=n;i++)
{
printf("%d \t\t %d \t\t %d \t\t %d",i,b[i],w[i],t[i]);
printf("\n");
}
printf("\n average wait time");
tw=wt/n;
printf("%f",tw);
printf("\n Average turn around time");
tr=at/n;
printf("%f",tr);
getch();
}

#include

#include
void main( )
{
char pname[10][20];
float b_time[10],wt_time[10],avg_time[10],s,t_time[10],k, t=0;
int i,n;
clrscr( );
printf("enter the total no. of processes: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("\nenter process name:");

scanf("%s",pname[i]);
printf("enter burst time ");
scanf("%f",&b_time[i]);
}
for(i=0;i<n;i++)
{
if(i==0)
{
wt_time[i]=0;avg_time[i]=0;
}
else
{
wt_time[i]=wt_time[i-1]+b_time[i-1];
}
t_time[i]=wt_time[i]+b_time[i];
t+=t_time[i];
}
k=t/n;
for(i=1;i<n;i++)
{
avg_time[i]=avg_time[i-1]+wt_time[i];
}
s=avg_time[n-1]/n;
printf("\n pr.no\t pr.name\t b_time\t wt_time\tt_time\n");
for(i=0;i<n;i++)
{
printf("%d\t\t%s\t%f\t%f\t%f\n",i+1,pname[i],b_time[i],wt_time[i],t_time[i]);
}
printf("average waiting time:%f\naverage turn around time: %f\n",s,k);
getch( );
}

PRIORITY SCHEDULING

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

void main()

clrscr();

int x,n,p[10],pp[10],pt[10],w[10],t[10],awt,atat,i;

printf("Enter the number of process : ");

scanf("%d",&n);

printf("\n Enter process : time priorities \n");

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

printf("\nProcess no %d : ",i+1);

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

p[i]=i+1;

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

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

if(pp[i]<pp[j])

x=pp[i];

pp[i]=pp[j];

pp[j]=x;

x=pt[i];

pt[i]=pt[j];

pt[j]=x;

x=p[i];

p[i]=p[j];

p[j]=x;

w[0]=0;

awt=0;

t[0]=pt[0];

atat=t[0];

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

w[i]=t[i-1];

awt+=w[i];

t[i]=w[i]+pt[i];

atat+=t[i];

printf("\n\n Job \t Burst Time \t Wait Time \t Turn Around Time Priority \n");

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

printf("\n %d \t\t %d \t\t %d \t\t %d \t\t %d \n",p[i],pt[i],w[i],t[i],pp[i]);

awt/=n;

atat/=n;

printf("\n Average Wait Time : %d \n",awt);

printf("\n Average Turn Around Time : %d \n",atat);

getch();

PRODUCER-CONSUMER PROBLEM
#include
#include
#include
#include
#define N 10
long smutex,sempty,sfull,qid,mut,emp,full;
int wait(int);
int signal(int);
void producer(void);
void consumer(void)
void print();
struct sembuf sop;
main()
{
int ch;
smutex=semget((key_t)*123,1,IPC_CREAT|0666);
sempty=semget((key_t)*124,1,IPC_CREAT|0666);
sfull=semget((key_t)*125,1,IPC_CREAT|0666);
semctl(smutex,0,STEVAL,1);
semctl(sfull,0,STEVAL,N);
printf(\n\tsmutex id is:%d,smutex);
printf(\n\tsempty id is:%d,sempty);
printf(\n\tsfull id is:%d,sfull);
qid=msgget((key_t)999,IPC_CREAT|0666);
do
{
printf(\n\t1:producer);
printf(\n\t2:consumer);
printf(\n\t3:exit);
printf(\nenter your choice:);
scanf(\n%d,&ch);
if(ch= =1)
producer();
if(ch= =2)
consumer();
}
while(ch!=3)
}

int wait(int id)


{
if(id<0)
{
exit(0);
}
id=id-1;
return(id);
}
int signal(int);
{
id=id+1;
return(id);
}
void producer(void)
{
char item[20];
emp=wait(sempty);
mut=wait(smutex);
printf(\n\tDuring wait operation);
printf(\n\tMutex value is%d\n,mut);
printf(\n\tEmpty value is%d\n,emp);
printf(\n\tproducer in critical section\n\tEnter item:);
scanf(%d,&item):
if(msgnd(qid,&item,20,IPC_NOWAIT)==-1)
printf(\n\tMessage could not be sent buffer full);
mut=signal(smutex);
full=signal(sfull);
printf(\nDuring signal operation);
printf(\n\tMutex value is:%d\n,mut);
printf(\n\t full value is:%d\n,full);
}
void consumer(void)
{
char item[20];
full=wait(sfull);
mut=wait(smutex);
printf(\n\tDuring wait operation);
Printf(\n\tMutex value is%d\n,mut);
Printf(\n\tfull value is%d\n,full);
printf(\n\tconsumer in critical section\n);
if(msgrcv(qid,&item,20,IPC_NOWAIT)==-1)
{
printf(\n\tMessage could not be received buffer empty);
exit(1);
}
printf(\n\tMessage received:%s\n,item);
mut=signal(smutex);
emp=signal(sempty);
printf(\nDuring signal operation);
printf(\n\tMutex value is:%d\n,mut);
printf(\n\t Empty value is:%d\n,emp);
}

You might also like