diff --git a/allocate.c b/allocate.c index 275a8429a9cc9335c9056943b2b915c832ef49d9..4d46af14d5ae6ff615fab4eb64b8365b59198c81 100644 --- a/allocate.c +++ b/allocate.c @@ -163,6 +163,7 @@ int main(int argc, char *argv[]) { parableProcess[i].parallelisable = newProcess->parallelisable; parableProcess[i].timeCompleted = -1; parableProcess[i].timeRemaining = parableProcess[i].executionTime; + parableProcess[i].deltaTime = newProcess->deltaTime; addProcessToQueue(CPUs[i].processQueue, ¶bleProcess[i], currentTime, i); } numProcessesLeft += 1; @@ -179,7 +180,8 @@ int main(int argc, char *argv[]) { // printf("current time: %d\n", currentTime); headProcess->justStarted = 0; printf("%d,RUNNING,pid=%s,remaining_time=%d,cpu=%d - AAAA line 184\n", - currentTime + headProcess->deltaTime, headProcess->processID, headProcess->timeRemaining, j); + currentTime - headProcess->deltaTime, headProcess->processID, + headProcess->timeRemaining + headProcess->deltaTime, j); } } @@ -294,6 +296,7 @@ void initializeProcess(char data[], process *newProcess) { newProcess->parallelisable = token[0]; } newProcess->deltaTime =0; + newProcess->justStarted =0; newProcess->timeCompleted = -1; newProcess->timeRemaining = newProcess->executionTime; } @@ -346,7 +349,7 @@ void advanceProcessQueue(llist *processQueue, int currentTime, int deltaTime, ll // parallelized process has completed. *numProcessesLeft -= 1; *numProcessComplete += 1; - paralizedProcess->timeCompleted = currentTime - deltaTime;//todo error on calculation here + paralizedProcess->timeCompleted = currentTime - deltaTime; paralizedProcess->timeRemaining = 0; headProcess->timeRemaining = 0; //printf("process had finished: Current time: %d, deltaTime: %d\n", currentTime, deltaTime); @@ -420,7 +423,7 @@ void addProcessToQueue(llist *processQueue, process *newProcess, int currentTime process *headProcess; llist_add_inorder(newProcess, processQueue, (int (*)(void *, void *)) &leastTimeRemaining); headProcess = headData(processQueue); - if (strncmp(headProcess->processID, newProcess->processID, sizeof (newProcess->processID))) + if ( !strncmp(headProcess->processID, newProcess->processID, sizeof (newProcess->processID)) ) headProcess->justStarted=-1; }