В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или нескольких других процессов — поставщиков данных. Если зависимый процесс получает данные от других процессов (поставщиков данных), то выполнение зависимого процесса не может начаться раньше завершения всех процессов-поставщиков.
Количество одновременно выполняемых процессов может быть любым, длительность процесса не зависит от других параллельно выполняемых процессов.
В таблице представлены идентификатор (ID) каждого процесса, его длительность и ID поставщиков данных для зависимых процессов. Для независимых процессов в качестве ID поставщика данных
Определите максимальную длительность отрезка времени
Выполните задания, используя данные из файла ниже:
Добавим столбец «Время окончания процесса» и запишем туда длительности независимых процессов.
Далее рассчитаем время выполнения оставшихся процессов:
f(7) = 114 + max(f(4), f(5), f(6)) = 313;
f(8) = 185 + max(f(1), f(2), f(3)) = 353;
f(9) = 136 + f(8) = 489;
f(10) = 176 + f(7) = 489;
f(11) = 138 + f(10) = 627;
f(12) = 140 + max(f(7), f(10)) = 629;
f(13) = 182 + max(f(8), f(9)) = 671;
f(14) = 150 + f(9) = 639.
Построим диаграмму выполнения каждого процесса,
Перенесем зависимые процессы к исходным:
Если не учитывать второй процесс, то время, когда выполнялись пять процессов
Максимальное время процессов увеличилось до 150 мс. Если рассмотреть другие процессы, то больше времени сделать не получится.
Ответ: 150.

