Sfj Algoritmo De Planificaion

Páginas: 2 (366 palabras) Publicado: 8 de mayo de 2012
001 const int SIZE = 30;
002
003 struct ProcessData
004 {
005 int processNumber;
006 int burstTime;
007 int waitTime;
008 int turnAroundTime;
009 int endTime;
010int completionFlag;
011 int leftToProcess; //For Round Robin Algorithm
012 };
013
014 void SJFSim(ProcessData newData[], int& count);
015 ...
016 void SJFSim(ProcessData newData[], int&count)
017 {
018 //These variables are for my analysis
019 float totalRunTime = 0;
020 float totalWaitTime = 0;
021 float totalTurnAroundTime = 0;
022 floattotalBurstTime = 0;
023
024 float avgRunTime = 0;
025 float avgWaitTime = 0;
026 float avgTurnAroundTime = 0;
027 float avgNormalizedTurnAroundTime = 0;
028
029//Variables Relavant to Traversal
030
031 int i = 0;
032 int j = 0;
033 int k = 0;
034 int nextProcessMarker = 0;
035 int previousProcessMarker = 0;
036 inttemp = 0;
037
038 //Analysis on Initial Read
039 newData[i].waitTime = 0;
040 newData[i].endTime = newData[i].burstTime + newData[i].waitTime;
041newData[i].turnAroundTime = newData[i].burstTime;
042 newData[i].completionFlag = 1;
043
044 totalRunTime = newData[i].turnAroundTime;
045 totalBurstTime = newData[i].burstTime;
046previousProcessMarker = i; //Set this as the last job processed
047
048 for (i = 1; i < count; ++i)
049 {
050 //Set Boundary To Only Those Processes That Have Come In DuringPrevious Execution
051
052 temp = totalBurstTime;
053 if (temp > 30)
054 temp = 30;
055
056 if (newData[i].completionFlag != 1)
057 {
058for (j = 0; j < temp; j++)
059 {
060 //If this is the smallest data in within the boundaries
061 if ((newData[i].burstTime < newData[j].burstTime) &&...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Planificaión
  • planificaion
  • Planificaiones
  • Planificaion
  • Planificaión
  • Planificaión
  • Planificaion
  • planificaion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS