Filter löschen
Filter löschen

round robin Loop.... help plz

4 Ansichten (letzte 30 Tage)
Ayda
Ayda am 23 Apr. 2012
Bearbeitet: Walter Roberson am 11 Mai 2018
Good morning\evening ppl =)
i wrote a code for round robin algorithm i had a small problem in the loop and i don't know how to fix it
Any help please, =)
my code
clc
numOfJobs=5
CPUTime=[10 6 2 4 8]
CPUTime_copy=CPUTime;
CPUTime_copy2=CPUTime;
quantum=1;
totalCPUtime= sum(CPUTime)
total_temp=totalCPUtime;
complete_RR=[];
start=[];
wait=[];
while (totalCPUtime ~= 0)
for i=1:1:numOfJobs
if CPUTime(i)>0
if(CPUTime(i)>quantum)
CPUTime(i)=CPUTime(i)-1;
total_temp=total_temp-1;
else
CPUTime(i)=CPUTime(i)-1;
total_temp=total_temp-1;
complete_RR(i)=totalCPUtime-total_temp;
end
end
start(i)=i;
wait(i)=totalCPUtime-total_temp-CPUTime_copy(i);
end
end
start
wait
complete_RR

Akzeptierte Antwort

Richard Brown
Richard Brown am 23 Apr. 2012
You're never updating totalCPUtime so your while loop never exits
  1 Kommentar
Ayda
Ayda am 24 Apr. 2012
thanxs
i should do this while (total_temp ~= 0)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jamal Nasir
Jamal Nasir am 11 Mai 2018
Bearbeitet: Walter Roberson am 11 Mai 2018
%%%this code for Calculate Average waiting Time in Round Robin and Average Turn around Time
%%%%by Jamal Nasir %%%%University of Almustansiryah %%%Iraq
clc
clear all
j=3;
job=randperm(10,j);
jobi=job;
flag=job>0;
Quant=2;
tw=sum(job);
job1=[];
x=1:j;
x1=[];
n=0;
f1=[];
while tw>0
n=n+1;
job1=[job1,job];
for i=1:j
if flag(i)>0
if job(i)>Quant
job(i)=job(i)-Quant;
else
job(i)=0;
flag(i)=0;
end
end
end
tw=sum(job);
x1=[x1,x];
f1=[f1,flag];
end
k=length(f1);
for m=1:j
to=0;wt=0;
for i=1:k
if x1(i)~=m
if job1(i)>=Quant
t=Quant;
else
t=job1(i);
end
wt=wt+t;
else
if job1(i)>=Quant
t1=Quant;
else
t1=job1(i);
end
if t1<job1(i)
to=to+t1;
else
break;
end
end
end
wait(m)=wt;
end
AvWaitTime=mean(wait)
AvTurnAroundTime=mean(wait+jobi)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by