Присоединиться

11 класс·высокий уровень

За какое время будут выполнены все процессы?

Условие

В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или нескольких других процессов - поставщиков данных. Если зависимый процесс получает данные от других процессов (поставщиков данных), то выполнение зависимого процесса не может начаться раньше завершения всех процессов поставщиков. Длительность процесса не зависит от других параллельно выполняемых процессов, приостановка выполнения процесса не допускается. В таблице представлены идентификатор (ID) каждого процесса, его длительность в мс и ID поставщиков данных для зависимых процессов. Для независимых процессов в качестве ID поставщика данных указан 0. В момент, когда процесс готов к запуску, он ставится в очередь. Если несколько процессов оказываются готовы к запуску одновременно, первым ставится в очередь тот процесс, у которого меньше ID. Одновременно может выполняться не более 3 процессов. Если в какой-то момент в системе работает менее 3 процессов, то при наличии готовых к запуску процессов выбирается и запускается первый процесс из очереди. За какое время будут выполнены все процессы? В ответе напишите число — требуемое время в мс.

Задание 22

Рисунок к задаче

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Нарисуем время выполняемых процессов: [рисунок] Начнем двигать вправо процессы так, чтобы всегда было только 3 выполняемых процесса и не больше, при этом соблюдая условие задачи. [рисунок] Все процессы будут выполнены за 42 мс.

Осталось ещё 1 шаг

  1. Шаг 2

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Многопроцессорные системы»

За какое время будут выполнены все процессы? — решение с объяснением | Lom Ai