При программировании планирования процессора в ANSI C для среды linux я не смог вычислить время ожидания для каждого процесса в очереди. В принципе, мне нужно запустить 20+ процессов с 4 процессорами и измерить время, которое требуется для каждого процесса, среднее время, которое требуется, потребление процессора и т. Д.Расчет времени ожидания для первого появления в ANSI C
Вот аналогия для процесса, который я пытаюсь выполнить :
изображение Я нарисовал пытался упростить мои проблемы ... , но это первый пришел первый служить schedualer CPU, счетчик а взрыв процессора, счетчик B является Выброс устройства, строка 1 является готовой очередью, строка 2 - очередь устройств ...
До сих пор я могу выводить задачи в массив, но для моего задания мне нужно выяснить, сколько времени потребовалось для каждого из людей, чтобы подождать, развернуть время для каждого процесса и их среднее время ,
У каждого человека структура имеет «время прибытия» и может быть изменена в любое время Каждая структура человека также имеет массив времени, требуемый для каждого счетчика «timeRequired []», он чередуется, индекс 0 для счетчика А, индекс 1 равен для счетчика B индекс 2 снова для A. У каждого человек структуры есть указатель массива для timeRequired [], «arrayPointer»
картины, которую я нарисовал говорит секунды, но это на самом деле любая единица времени, целое число, я действительно не нужен фактические time clock ...
Что я сделал до сих пор, я создал 2 функции нити, 1 для counterA и 1 для counterB, и когда когда-либо Готовая подача человека в линию, A наполнит человека до линии B, , когда когда-либо B закончил человека, он запишет его в линию A.
Я чувствую, что все есть для меня уже, но я действительно не знаю, что мне нужно делать дальше рассчитанным их время ожидания ...
Или есть простое решение, чем использование потоков?
Профессор дал нам 2 файла
на вспомогательные методы
[http://pastebin.com/qF7nQsUR]
заголовочный файл
[http://pastebin.com/nQQNXnmq]
Так что - какой ответ вы принимаете? –
К сожалению, ни один из ответов ниже, я не спросил одноклассников, и они сказали сделать цикл, и подсчитать i + 1, чтобы получить время ожидания. – Hiko