diff --git a/allocate.c b/allocate.c index 7b384500479c80323c3712a138973aa4d9d98c12..b383ca3da6675bcd599bb6f85f93784c03425b18 100644 --- a/allocate.c +++ b/allocate.c @@ -148,14 +148,15 @@ int main(int argc, char *argv[]) { int nSubProc = numCPU; if (quot == 0) nSubProc = rem; newProcess->subProcsRunning = nSubProc; + int subExTime = 1 + quot + (rem!=0); // create the sub processes process *parableProcess = malloc(nSubProc * (sizeof(process))); for (int i = 0; i < nSubProc; i++) { parableProcess[i].timeArrived = newProcess->timeArrived; sprintf(parableProcess[i].processID, "%s.%d", newProcess->processID, i); // subprocess execution time = overhead (1) + integer-share-of-original-execution-time (quot) + - // one-more-if-there-is-some-remaining (i<rem) - parableProcess[i].executionTime = 1 + quot + (i < rem); + // one-more-if-there-is-some-remaining (i<rem) . NAH don't be smart, just round it up. + parableProcess[i].executionTime = subExTime; // 1 + quot + (i < rem); parableProcess[i].parallelisable = newProcess->parallelisable; parableProcess[i].timeCompleted = -1; parableProcess[i].timeRemaining = parableProcess[i].executionTime;