Ich entwickle für einen FCFS-Scheduler-Algorithmus. Aber es funktioniert nur mit einem Prozessor. Wie kann die Aufgabe in 6 Prozessoren aufgeteilt werden? Ich würde Warteschlange, fertige Warteschlange, usw. benötigen.First Come First Serve Multiprozessor (6 Prozessoren) Scheduler in C-Code
Jeder Prozessor sollte einzeln arbeiten, wenn ein Prozessor seine Aufgabe beendet, dann würde es die nächste Aufgabe dauern, ohne auf die Fertigstellung aller Prozessoren zu warten.
#include<stdio.h>
int main()
{
int n,bt[20],wt[20],tat[20],avwt=0,avtat=0,i,j;
printf("Enter total number of processes(maximum 20):");
scanf("%d",&n);
printf("\nEnter Process Burst Time\n");
for(i=0;i<n;i++)
{
printf("P[%d]:",i+1);
scanf("%d",&bt[i]);
}
wt[0]=0; //waiting time for first process is 0
//calculating waiting time
for(i=1;i<n;i++)
{
wt[i]=0;
for(j=0;j<i;j++)
wt[i]+=bt[j];
}
printf("\nProcess\t\tBurst Time\tWaiting Time\tTurnaround Time");
//calculating turnaround time
for(i=0;i<n;i++)
{
tat[i]=bt[i]+wt[i];
avwt+=wt[i];
avtat+=tat[i];
printf("\nP[%d]\t\t%d\t\t%d\t\t%d",i+1,bt[i],wt[i],tat[i]);
}
avwt/=i;
avtat/=i;
printf("\n\nAverage Waiting Time:%d",avwt);
printf("\nAverage Turnaround Time:%d",avtat);
return 0;
}
Ist ein Betriebssystem beteiligt? Zum Beispiel, wie erzeugt 'printf()' Ausgabe auf einem Terminal? – wallyk
Ich schlage vor, dass Sie Multithreading verwenden! – skrtbhtngr
Willkommen bei Stack Overflow. Bitte informieren Sie [fragen] nach Informationen, wie Sie Ihre Fragen optimal bearbeiten können. Zum Beispiel scheint diese Frage ein wenig breit zu sein, da Sie fragen, wie man im Grunde eine ganze Bibliothek implementiert. Versuchen Sie, auf eine bestimmte Frage einzugehen, die in einigen Absätzen beantwortet werden kann. – Kateract