2011-gre-cs-practice-book.pdf/Q38 — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
|||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 3: | Строка 3: | ||
== Вопрос: Q38-08c765 == | == Вопрос: Q38-08c765 == | ||
− | + | Рассмотрим три процесса P1, P2, и P3, с моментами прихода 0 ms, 10 ms, и 20 ms, соответственно, и временем обработки 30 ms, 15 ms, 30 ms. | |
− | + | ||
− | + | ||
− | + | ||
− | + | Все три процесса планируются в системе с 1 ядром, с использованием политики [https://en.wikipedia.org/wiki/Shortest_remaining_time Shortest Remaining Processing Time First] (SRPT) — наименьшее оставшееся время обработки. | |
− | + | ||
− | + | В каком порядке процессы завершатся (от первого до последнего)? | |
=== Ответы === | === Ответы === | ||
− | |||
− | |||
− | * | + | * P1, P2, P3 |
− | * | + | * P1, P3, P2 |
− | * | + | * Правильный ответ: P2, P1, P3 |
− | * | + | * P2, P3, P1 |
− | * | + | * P3, P1, P2 |
− | + | === Объяснение === | |
− | + | ||
− | + | ||
+ | {{cstest-source|2011-gre-cs-practice-book.pdf|33|38}} | ||
− | === | + | SRPT (Shortest Remaining Processing Time First): |
− | + | ||
− | + | * Приоритет отдаётся процессу с наименьшим оставшимся временем обработки. | |
+ | * Если приходит новый процесс с меньшим оставшимся временем, текущий процесс прерывается. | ||
+ | |||
+ | Таймлайн выполнения процессов: | ||
+ | |||
+ | * Время 0 ms: | ||
+ | *: P1 доступен, запускается. | ||
+ | *: Активный процесс: P1 (оставшееся время = 30 ms). | ||
+ | |||
+ | * Время 10 ms: | ||
+ | *: P2 приходит (время обработки = 15 ms). | ||
+ | *: P2 имеет меньшее оставшееся время, чем P1, поэтому P1 прерывается, и запускается P2. | ||
+ | *: Активный процесс: P2 (оставшееся время = 15 ms). | ||
+ | |||
+ | * Время 20 ms: | ||
+ | *: P3 приходит (время обработки = 30 ms). | ||
+ | *: P2 всё ещё имеет меньшее оставшееся время, чем P1 и P3, поэтому P2 продолжает выполнение. | ||
+ | *: Активный процесс: P2. | ||
+ | |||
+ | * Время 25 ms: | ||
+ | *: P2 завершает выполнение. | ||
+ | *: Следующий процесс — P1, так как его оставшееся время (25 ms) меньше, чем у P3 (30 ms). | ||
+ | *: Активный процесс: P1. | ||
+ | |||
+ | * Время 55 ms: | ||
+ | *: P1 завершает выполнение. | ||
+ | *: Остался только P3. | ||
+ | *: Активный процесс: P3. | ||
+ | |||
+ | * Время 85 ms: | ||
+ | *: P3 завершает выполнение. | ||
+ | |||
+ | Порядок завершения: | ||
+ | |||
+ | Первым завершается P2 (25 ms). | ||
+ | |||
+ | Затем P1 (55 ms). | ||
− | + | Последним P3 (85 ms). | |
− | |||
− | |||
− | |||
− | + | {{question-ok|[[Участник:StasFomin|StasFomin]] 12:51, 21 декабря 2024 (UTC)}} | |
− | + | [[Категория:Системное программирование]] | |
+ | [[Категория:Параллельные вычисления]] |
Текущая версия на 12:51, 21 декабря 2024
Задача зарезервирована: Yaroslav Klimov М05-304Б 06:09, 21 декабря 2024 (UTC)
Вопрос: Q38-08c765
Рассмотрим три процесса P1, P2, и P3, с моментами прихода 0 ms, 10 ms, и 20 ms, соответственно, и временем обработки 30 ms, 15 ms, 30 ms.
Все три процесса планируются в системе с 1 ядром, с использованием политики Shortest Remaining Processing Time First (SRPT) — наименьшее оставшееся время обработки.
В каком порядке процессы завершатся (от первого до последнего)?
Ответы
- P1, P2, P3
- P1, P3, P2
- Правильный ответ: P2, P1, P3
- P2, P3, P1
- P3, P1, P2
Объяснение
Исходники — вопрос 38 на 33 странице книги «2011-gre-cs-practice-book.pdf»
SRPT (Shortest Remaining Processing Time First):
- Приоритет отдаётся процессу с наименьшим оставшимся временем обработки.
- Если приходит новый процесс с меньшим оставшимся временем, текущий процесс прерывается.
Таймлайн выполнения процессов:
- Время 0 ms:
- P1 доступен, запускается.
- Активный процесс: P1 (оставшееся время = 30 ms).
- Время 10 ms:
- P2 приходит (время обработки = 15 ms).
- P2 имеет меньшее оставшееся время, чем P1, поэтому P1 прерывается, и запускается P2.
- Активный процесс: P2 (оставшееся время = 15 ms).
- Время 20 ms:
- P3 приходит (время обработки = 30 ms).
- P2 всё ещё имеет меньшее оставшееся время, чем P1 и P3, поэтому P2 продолжает выполнение.
- Активный процесс: P2.
- Время 25 ms:
- P2 завершает выполнение.
- Следующий процесс — P1, так как его оставшееся время (25 ms) меньше, чем у P3 (30 ms).
- Активный процесс: P1.
- Время 55 ms:
- P1 завершает выполнение.
- Остался только P3.
- Активный процесс: P3.
- Время 85 ms:
- P3 завершает выполнение.
Порядок завершения:
Первым завершается P2 (25 ms).
Затем P1 (55 ms).
Последним P3 (85 ms).