В компьютерной системе необходимо выполнить некоторое количество вычислительных процессов, которые могут выполняться параллельно или последовательно. Для запуска некоторых процессов необходимы данные, которые получаются как результаты выполнения одного или двух других процессов — поставщиков данных. Если зависимый процесс получает данные от одного или нескольких других процессов (поставщиков данных), то выполнение зависимого процесса не может начаться раньше завершения всех процессов-поставщиков. Количество одновременно выполняемых процессов может быть любым. Длительность процесса не зависит от других параллельно выполняемых процессов.
В таблице представлены идентификатор (ID) каждого процесса, его длительность, для зависимых процессов — ID поставщиков данных. Для независимых процессов в качестве ID поставщиков данных указан 0. Определите максимальную длительность отрезка времени (в мс), в течение которого возможно одновременное выполнение четырёх процессов, при условии, что в эту четвёрку не входит процесс с ID = 2.
Выполните задания, используя данные из файла ниже:
Задание 22
В таблице представлены идентификатор (ID) каждого процесса, его длительность, для зависимых процессов — ID поставщиков данных. Для независимых процессов в качестве ID поставщиков данных указан 0. Определите максимальную длительность отрезка времени (в мс), в течение которого возможно одновременное выполнение четырёх процессов, при условии, что в эту четвёрку не входит процесс с ID = 2.
Выполните задания, используя данные из файла ниже:
Задание 22
💡 Пошаговый разбор и решение:
Отсортируем данные в таблице так, чтобы все независимые процессы оказались в начале таблицы и любой процесс был расположен после всех процессов, от которых он зависит. Также в таблицу добавим столбец «Время окончания процесса» и запишем туда длительности независимых процессов.
| A | B | C | D
1 | ID процесса B | Время выполнения процесса B (мс) | ID процессов A | Время окончания процесса
2 | 1 | 97 | 0 | 97
3 | 2 | 149 | 0 | 149
4 | 3 | 44 | 1;2 |
5 | 4 | 80 | 3 |
6 | 5 | 26 | 3 |
7 | 6 | 47 | 5 |
8 | 7 | 74 | 4;6 |
9 | 8 | 82 | 0 | 82
10 | 9 | 137 | 0 | 137
11 | 10 | 90 | 8;9 |
12 | 11 | 48 | 10 |
13 | 12 | 84 | 10 |
14 | 13 | 17 | 11 |
Далее рассчитаем время выполнения оставшихся процессов:
f(3) = 44 + max(f(1), f(2)) = 44 + 149 = 193;
f(4) = 80 + f(3) = 80 + 193 = 273;
f(5) = 26 + f(3) = 26 + 193 = 219;
f(6) = 47 + f(5) = 47 + 219 = 266;
f(7) = 74 + max(f(4), f(6)) = 74 + 273 = 347;
f(10) = 90 + max(f(8), f(9)) = 90 + 137 = 227;
f(11) = 48 + f(10) = 48 + 227 = 275;
f(12) = 84 + f(10) = 84 + 227 = 311;
f(13) = 17 + f(11) = 17 + 275 = 292.
| A | B | C | D
1 | ID процесса B | Время выполнения процесса B (мс) | ID процессов A | Время окончания процесса
2 | 1 | 97 | 0 | 97
3 | 2 | 149 | 0 | 149
4 | 3 | 44 | 1;2 | 193
5 | 4 | 80 | 3 | 273
6 | 5 | 26 | 3 | 219
7 | 6 | 47 | 5 | 266
8 | 7 | 74 | 4;6 | 347
9 | 8 | 82 | 0 | 82
10 | 9 | 137 | 0 | 137
11 | 10 | 90 | 8;9 | 227
12 | 11 | 48 | 10 | 275
13 | 12 | 84 | 10 | 311
14 | 13 | 17 | 11 | 292
Построим диаграмму выполнения каждого процесса.
[рис.]
Заметим, что процессы 1,2, 8 и 9 можно начинать с любого времени. Максимальный отрезок, в течение которого возможно одновременное выполнение четырёх процессов, получиться, если сдвинуть начала процесса 8.
Построим диаграмму выполнения каждого процесса и рассмотрим когда могут выполняться одновременно 4 процесса.
[рис.]
Максимальная длительность отрезка времени (в мс), в течение которого возможно одновременное выполнение четырёх процессов, при условии, что в эту четвёрку не входит процесс с ID = 2, начинается с 194 мс и проходит до 266 мс. Всего:
266 − 194 + 1 = 73 мс.
Ответ: 73.
| A | B | C | D
1 | ID процесса B | Время выполнения процесса B (мс) | ID процессов A | Время окончания процесса
2 | 1 | 97 | 0 | 97
3 | 2 | 149 | 0 | 149
4 | 3 | 44 | 1;2 |
5 | 4 | 80 | 3 |
6 | 5 | 26 | 3 |
7 | 6 | 47 | 5 |
8 | 7 | 74 | 4;6 |
9 | 8 | 82 | 0 | 82
10 | 9 | 137 | 0 | 137
11 | 10 | 90 | 8;9 |
12 | 11 | 48 | 10 |
13 | 12 | 84 | 10 |
14 | 13 | 17 | 11 |
Далее рассчитаем время выполнения оставшихся процессов:
f(3) = 44 + max(f(1), f(2)) = 44 + 149 = 193;
f(4) = 80 + f(3) = 80 + 193 = 273;
f(5) = 26 + f(3) = 26 + 193 = 219;
f(6) = 47 + f(5) = 47 + 219 = 266;
f(7) = 74 + max(f(4), f(6)) = 74 + 273 = 347;
f(10) = 90 + max(f(8), f(9)) = 90 + 137 = 227;
f(11) = 48 + f(10) = 48 + 227 = 275;
f(12) = 84 + f(10) = 84 + 227 = 311;
f(13) = 17 + f(11) = 17 + 275 = 292.
| A | B | C | D
1 | ID процесса B | Время выполнения процесса B (мс) | ID процессов A | Время окончания процесса
2 | 1 | 97 | 0 | 97
3 | 2 | 149 | 0 | 149
4 | 3 | 44 | 1;2 | 193
5 | 4 | 80 | 3 | 273
6 | 5 | 26 | 3 | 219
7 | 6 | 47 | 5 | 266
8 | 7 | 74 | 4;6 | 347
9 | 8 | 82 | 0 | 82
10 | 9 | 137 | 0 | 137
11 | 10 | 90 | 8;9 | 227
12 | 11 | 48 | 10 | 275
13 | 12 | 84 | 10 | 311
14 | 13 | 17 | 11 | 292
Построим диаграмму выполнения каждого процесса.
[рис.]
Заметим, что процессы 1,2, 8 и 9 можно начинать с любого времени. Максимальный отрезок, в течение которого возможно одновременное выполнение четырёх процессов, получиться, если сдвинуть начала процесса 8.
Построим диаграмму выполнения каждого процесса и рассмотрим когда могут выполняться одновременно 4 процесса.
[рис.]
Максимальная длительность отрезка времени (в мс), в течение которого возможно одновременное выполнение четырёх процессов, при условии, что в эту четвёрку не входит процесс с ID = 2, начинается с 194 мс и проходит до 266 мс. Всего:
266 − 194 + 1 = 73 мс.
Ответ: 73.
Правильный ответ:
73
📚 Похожие разобранные задания по предмету:
ID 31616 • Задание №12
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечн...
ID 33950 • Задание №23
У исполнителя Калькулятор две команды:
1. прибавь 2
2. умножь на 3.
Первая из них увеличивает число на экр...
🔗 Другие задания линии №22 по предмету Информатика:
ID 33548
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33549
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33550
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33551
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...
ID 33552
В файле содержится информация о совокупности N вычислительных процессов, которые могут выполнят...