Тема 22. Многопроцессорные системы

22.03 Поиск отрезка времени выполнения N процессов

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела многопроцессорные системы
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#72522

В файле содержится информация о совокупности N  вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B  зависит от процесса A  , если для выполнения процесса B  необходимы результаты выполнения процесса A  . В этом случае процессы A  и B  могут выполняться только последовательно.

Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID  ), во втором столбце таблицы — время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID  процессов, от которых зависит данный процесс. Если процесс независимый, то в таблице указано значение 0  .

Типовой пример организации данных в файле:

|--------------|--------------------------------|----------------|
-ID-процесса B--Время-выполн-ени-я процесса B-(мс)-ID-процесса(ов)A-
|      1       |               4                |       0        |
|--------------|--------------------------------|----------------|
|------2-------|---------------3----------------|-------0--------|
-------3-----------------------1-----------------------1;2--------
|      4       |               7                |       3        |
------------------------------------------------------------------

Определите количество мс, в течение которых возможно одновременное выполнение трех и более процессов, при условии, что все независимые друг от друга процессы стартовали одновременно, а зависимые процессы стартовали одновременно с завершением всех процессов, от которых они зависят.

Вложения к задаче
Показать ответ и решение

Выделим столбец С, перейдём во вкладку Данные, раздел «Текст по столбцам» и разделим наши данные, указав символом-разделителем точку с запятой.

В ячейку A1  поставим значение 0. В ячейку G2  впишем формулу и растянем её вниз:

=B2+МАКС(E2:F2)

В ячейку E2  впишем формулу и растянем её вправо до столбца F, вниз до конца таблицы:

=ВПР(C2;$A$1:$G$17;7;ЛОЖЬ)

Таким образом мы нашли время, в которое каждый процесс завершается, относительно начала выполнения самого первого процесса. Для того чтобы найти время, в которое каждый процесс начинался относительно начала выполнения самого первого процесса в ячейку H2  запишем формулу и растянем ее вниз:

=G2-B2+1

PIC

Начиная с ячейки A17  создадим вниз список от 1 до 28 для подсчета количества процессов, которые выполняются в конкретную миллисекунду. В ячейку B17  запишем формулу:

=СЧЁТЕСЛИМН($G$2:$G$15;”>=”&A17;$H$2:$H$15;”<”&A17)

Остается только подсчитать количество ячеек, в которых значение равно 3:

=СЧЁТЕСЛИ(B17:B45;”>=3”)

PIC

Ответ: 16

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!