code FCFS Header file for Cpu scheduling

24 933 3
code FCFS Header file for Cpu scheduling

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

code FCFS Header file for Cpu scheduling

Code :// Header file for Cpu scheduling#include<iostream.h>#include<conio.h>#include<stdio.h>class cpuschedule{int n,Bu[20];float Twt,Awt,A[10],Wt[10],w;public://Getting the No of processes & burst timevoid Getdata();//First come First served Algorithmvoid Fcfs();//Shortest job First Algorithmvoid Sjf();//Shortest job First Algorithm with Preemptionvoid SjfP();//Shortest job First Algorithm with NonPreemptionvoid SjfNp();//Round Robin Algorithm void RoundRobin();//Priority Algorithmvoid Priority();};// Implementation file for Cpu scheduling#include "cpuh.h"//Getting no of processes and Burst timevoid cpuschedule::Getdata(){int i;cout<<"Enter the no of processes:";cin>>n;for(i=1;i<=n;i++){cout<<"Enter The BurstTime for Process p"<<i<<"= ";cin>>Bu[i];}}//First come First served Algorithmvoid cpuschedule::Fcfs(){ int i,B[10];Twt=0.0;for(i=1;i<=n;i++){B[i]=Bu[i];cout<<"Burst time for process p"<<i<<"= ";cout<<B[i];}Wt[1]=0;for(i=2;i<=n;i++){Wt[i]=B[i-1]+Wt[i-1];}//Calculating Average Weighting Timefor(i=1;i<=n;i++)Twt=Twt+Wt[i];Awt=Twt/n;cout<<"Total Weighting Time="<<Twt;cout<<"Average Weighting Time="<<Awt<<"";} //Shortest job First Algorithmvoid cpuschedule::Sjf(){int i,j,temp,B[10];Twt=0.0;for(i=1;i<=n;i++){B[i]=Bu[i];cout<<"Burst time for process p"<<i<<"= ";cout<<B[i];}for(i=n;i>=1;i--){for(j=1;j<=n;j++){if(B[j-1]>B[j]){temp=B[j-1];B[j-1]=B[j];B[j]=temp;}}} Wt[1]=0;for(i=2;i<=n;i++){Wt[i]=B[i-1]+Wt[i-1];}//calculating Average Weighting Timefor(i=1;i<=n;i++)Twt=Twt+Wt[i];Awt=Twt/n;cout<<"Total Weighting Time="<<Twt;cout<<"Average Weighting Time="<<Awt<<"";}//Shortest job First Algorithm with NonPreemptionvoid cpuschedule::SjfNp(){int i,B[10],Tt=0,temp,j;char S[10];float A[10],temp1,t;Twt=0.0; w=0.0;for(i=1;i<=n;i++){B[i]=Bu[i];cout<<"Burst time for process p"<<i<<"= ";cout<<B[i];S[i]='T';Tt=Tt+B[i];cout<<"Enter the Arrival Time for"<<i<<"th process= ";cin>>A[i];}for(i=n;i>=1;i--){for(j=3;j<=n;j++){if(B[j-1]>B[j]){temp=B[j-1];temp1=A[j-1];B[j-1]=B[j];A[j-1]=A[j];B[j]=temp; A[j]=temp1;}}}for(i=1;i<=n;i++){cout<<"p"<<i<<" "<<B[i]<<" "<<A[i];}//For the 1st processWt[1]=0;w=w+B[1];t=w;S[1]='F';while(w<Tt){i=2;while(i<=n){if(S[i]=='T'&&A[i]<=t){Wt[i]=w; cout<<"WT"<<i<<"="<<Wt[i];S[i]='F';w=w+B[i];t=w;i=2;}elsei++;}}for(i=1;i<=n;i++)cout<<"Wt"<<i<<"=="<<Wt[i];//calculating average weighting Timefor(i=1;i<=n;i++)Twt=Twt+(Wt[i]-A[i]);Awt=Twt/n;cout<<"Total Weighting Time="<<Twt<<"";cout<<"Average Weighting Time="<<Awt<<""; }//Priority Algorithmvoid cpuschedule::Priority(){int i,B[10],P[10],j;w=0.0;int max;Twt=0.0;max=1;for(i=1;i<=n;i++){B[i]=Bu[i];cout<<"Burst time for process p"<<i<<"= ";cout<<B[i];cout<<"Enter the priority for process P"<<i<<"= ";cin>>P[i];if(max<P[i])max=P[i];}j=1;while(j<=max) {i=1;while(i<=n){if(P[i]==j){Wt[i]=w;w=w+B[i];}i++;}j++;}//calculating average weighting Timefor(i=1;i<=n;i++)Twt=Twt+Wt[i];Awt=Twt/n;cout<<"Total Weighting Time="<<Twt<<"";cout<<"Average Weighting Time="<<Awt<<"";}//Shortest job First Algorithm with Preemption [...]... Implementation file for Cpu scheduling #include "cpuh.h" //Getting no of processes and Burst time void cpuschedule::Getdata() { int i; cout<<" Enter the no of processes:"; cin>>n; for( i=1;i<=n;i++) { cout<<" Enter The BurstTime for Process p"<<i<<"= "; cin>>Bu[i]; } } //First come First served Algorithm void cpuschedule: :Fcfs( ) { ... "; cin>>A[i]; if(A[i]>Time) Time=A[i]; } //cout<<" Max="<<max; Code : // Header file for Cpu scheduling #include<iostream.h> #include<conio.h> #include<stdio.h> class cpuschedule { int n,Bu[20]; float Twt,Awt,A[10],Wt[10],w; public: //Getting the No of processes & burst time void Getdata(); //First come First served Algorithm void Fcfs( ); //Shortest job First Algorithm void Sjf(); //Shortest... Time="<<Awt<<" "; } //Application file for cpu Scheduling #include "cpuh.h" void main() { int ch,cho; cpuschedule c; do { cout<<" MENU "; cout<<"1.Getting BurstTime "; cout<<"2.FirstComeFirstServed "; cout<<"3.ShortestJobFirst "; cout<<"4.RoundRobin void cpuschedule::SjfP() { int i,j,m,Wt[10],k,B[10],A[10],Tt=0,Wtm[10],temp; char... 4: cout<<"ROUND ROBIN SCHEDULING "; c.RoundRobin(); break; case 5: cout<<"PRIORITY SCHEDULING "; c.Priority(); break; case 6: break; } }while(ch<=5); } //Shortest job First Algorithm void cpuschedule::Sjf() { int i,j,temp,B[10]; Twt=0.0; for( i=1;i<=n;i++) { B[i]=Bu[i]; cout<<" Burst time for process p"<<i<<"= "; cout<<B[i]; } for( i=n;i>=1;i... time for process p"<<i<<"= "; cout<<B[i]; if(max<B[i]) max=B[i]; Wt[i]=0; } cout<<" Enter the Time Quantum="; cin>>tq; //TO find the dimension of the Rrobin array m=max/tq+1; //initializing Rrobin array for( i=1;i<=n;i++) { for( j=1;j<=m;j++) { Rrobin[i][j]=0; } } w=0.0; for( i=1;i<=n;i++) { B[i]=Bu[i]; cout<<" Burst time for. .. choice "; cin>>ch; switch(ch) { case 1: c.Getdata(); break; case 2: cout<<"FIRST COME FIRST SERVED SCHEDULING "; c .Fcfs( ); break; case 3: cout<<"SHORTEST JOB FIRST SCHEDULING "; do { cout<<"1.SJF-Normel "; } else if(flag==0) i++; } cout<<" Printing remaining burst time "; for( i=1;i<=n;i++) cout<<" B["<<i<<"]="<<B[i]; cout<<" "; while(w<Tt) { min=max+1; i=1; while(i<=n) { if(min>B[i]... "; for( i=1;i<=n;i++) { Wt[i]=Wt[i]-A[i]; cout<<" WT["<<i<<"]="<<Wt[i]; } //Calculating Average Weighting time for( i=1;i<=n;i++) Twt=Twt+Wt[i]; Awt=Twt/n; cout<<" Average Weighting Time="<<Awt; } //Round Robin Algorithm void cpuschedule::RoundRobin() { int i,j,tq,k,B[10],Rrobin[10][10],count[10]; int max=0; int m; Twt=0.0; for( i=1;i<=n;i++) { B[i]=Bu[i]; cout<<" Burst... w=0.0; for( i=1;i<=n;i++) { B[i]=Bu[i]; cout<<" Burst time for process p"<<i<<"= "; cout<<B[i]; S[i]='T'; Tt=Tt+B[i]; cout<<" Enter the Arrival Time for& quot;<<i<<"th process= "; cin>>A[i]; } for( i=n;i>=1;i ) { for( j=3;j<=n;j++) { if(B[j-1]>B[j]) { temp=B[j-1]; temp1=A[j-1]; B[j-1]=B[j]; A[j-1]=A[j]; B[j]=temp; "; cout<<"5.Priority "; cout<<"6.EXIT "; cout<<"Enter... i,j,m,Wt[10],k,B[10],A[10],Tt=0,Wtm[10],temp; char S[20],start[20]; int max=0,Time=0,min; float Twt=0.0,Awt; for( i=1;i<=n;i++) { B[i]=Bu[i]; cout<<" Burst time for process P"<<i<<"= "<<B[i]; if(B[i]>max) max=B[i]; Wt[i]=0; S[i]='T'; start[i]='F'; Tt=Tt+B[i]; cout<<" Enter the Arrival Time for& quot;<<i<<"th process= "; cin>>A[i]; if(A[i]>Time) Time=A[i]; } //cout<<" Max="<<max; ... "; cout<<B[i]; } for( i=n;i>=1;i ) { for( j=1;j<=n;j++) { if(B[j-1]>B[j]) { temp=B[j-1]; B[j-1]=B[j]; B[j]=temp; } } } cout<<" WT"<<i<<"="<<Wt[i]; S[i]='F'; w=w+B[i]; t=w; i=2; } else i++; } } for( i=1;i<=n;i++) cout<<" Wt"<<i<<"=="<<Wt[i]; //calculating average weighting Time for( i=1;i<=n;i++) Twt=Twt+(Wt[i]-A[i]); Awt=Twt/n; cout<<"Total . Code :// Header file for Cpu scheduling# include<iostream.h>#include<conio.h>#include<stdio.h>class cpuschedule{int n,Bu[20];float. Priority();};// Implementation file for Cpu scheduling# include "cpuh.h"//Getting no of processes and Burst timevoid cpuschedule::Getdata(){int i;cout<<"Enter

Ngày đăng: 12/09/2012, 16:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan