Professional Documents
Culture Documents
Scheduling Algorithhms Part (1) 2
Scheduling Algorithhms Part (1) 2
opearting systems
(جانب العملي )
خوارزميات اجلدولة
Scheduling algorithms
Part 1
اعداد
حتى نبين اليه عمل لخوارزمية FCFSنتطرق الى شرح اليه عمل هذه خوارزمية بجانب النظري والعملي
P1 3
P2 2
P3 4
P4 6
ومطلوب هو ايجاد ) waiting time(wtوقت انتظار كل عملية حتى تتنفذ و ) Turnaround time(TATوهو
وقت انتهى به تنفيذ العملية و معدل زمن االنتظار average waiting timeو average turnaround time
مالحظة Average waiting time -:نحصل عليه من جمع waiting timeلكل عملية process
مقسما على عدد العمليات ()process
-: من خالل القانون االتيprocess لكلTurnaround time نجد
Average Turnaround time = T.A.T (p1) + T.A.T (p2) + T.A.T (p3) + T.A.T (p4) /4
#include<iostream>
using namespace std;
void main()
{
int n,bt[20],wt[20],tat[20],avwt=0,avtat=0,i,j;
cout<<"Enter total number of process(maximum 20):";
cin>>n;
cout<<"Enter process burst time\n";
for(i=0;i<n;i++)
{
cout<<"p["<<i+1<<"]:";
cin>>bt[i];
}
wt[0]=0;
//calculating waiting time
for(i=1;i<n;i++)
{
wt[i]=0;
for(j=0;j<i;j++)
wt[i]+=bt[j];
}
cout<<"\nP"<<"\t"<<"BT"<<"\t"<<"WT"<<"\t"<<"TAT" ;
//calculate tuanaroundtime
for(i=0;i<n;i++)
{
tat[i]=bt[i]+wt[i];
avwt+=wt[i];
avtat+=tat[i];
cout<<"\np["<<i+1<<"]"<<"\t"<<bt[i]<<"\t"<<wt[i]<<"\t"<<tat[i];
}
avwt/=i;
avtat/=i;
cout<<"\n average waiting_time:"<<avwt;
cout<<"\n average turnaround_time:"<<avtat<<"\n";
system("pause");
}
أما واجهة تنفيذ الكود-: