Professional Documents
Culture Documents
#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;
scanf("%d",&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++)
awt/=n;
atat/=n;
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)
}