Tuesday, December 14, 2010

Layers of Computer System

SJF

#include
#include
#include
#include
void main()
{
char p[10][5],temp[5];
int tot=0,wt[10],pt[10],i,j,n,temp1,et[10];
float avg=0;
clrscr();
printf("enter no of processes:");
scanf("%d",&n);
for(i=0;ipt[j])
{
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 {
wt[i]=wt[i-1]+et[i-1];
tot=tot+wt[i];
}
avg=(float)tot/n;
printf("p_name\t P_time\t w_time\n");
for(i=0;i printf("%s\t%d\t%d\n",p[i],et[i],wt[i]);
printf("total waiting time=%d\n avg waiting time=%f",tot,avg);
getch();
}

FCFS

#include
#include
#include

class process
{
float burst_time,wait_time;
class process *next,*ptr;
int max;
public:
void create();
void fcfs();
}
*front=NULL,*rear=NULL;

void process::create()
{
cout<<"ENTER THE MAXIMUM NUMBER OF PROCESSES THAT CAN BE IN THE QUEUE ==> ";
cin>>max;
class process *new_process;
for(int i=1;i<=max;i++) { new_process=new process; cout<<"ENTER THE BURST TIME OF THE PROCESS "< ";
cin>>new_process->burst_time;
if(front==NULL)
{
front=new_process;
ptr=front;
}
else
rear->next=new_process;
rear=new_process;
}
}

void process::fcfs()
{
float avg_waiting_time,total_waiting_time;
cout<<"PROCESS\tBURST TIME"<next;
}
ptr=front;
ptr->wait_time=0;
total_waiting_time=0;
for(i=2;i<=max;i++) { total_waiting_time=total_waiting_time+(ptr->burst_time);
ptr=ptr->next;
ptr->wait_time=total_waiting_time;
}
ptr=front;
total_waiting_time=0;
for(i=1;inext;
total_waiting_time=total_waiting_time+(ptr->wait_time);
}
avg_waiting_time=total_waiting_time/max;
cout<<"AVERAGE WAITING TIME IS ==> "< }

void main()
{
process p;
p.create();
p.fcfs();
}