Олимпиадный тренинг

Задача . Round Robin на задумчивом процессоре


Задача

Темы:
На некотором вычислительном узле с одним процессором параллельная обработка нескольких процессов происходит согласно алгоритму Round Robin – процессам поочередно предоставляется возможность монопольно выполняться, однако каждый процесс может занимать процессор не более чем заданное число квантов времени. Например, если процессор предоставляется на 3 кванта, а процессу A необходимо 6 квантов чтобы завершиться, то процесс A будет выполняться в течении 3 квантов, затем возможность будет передана другому процессу. Оставшиеся необходимые 3 кванта процессорного времени процесс A получит тогда, когда очередь дойдет до него повторно. Процесс B, для выполнения которого нужно всего 2 кванта времени, получив возможность выполняться, выполнится целиком и очередь сразу же (не дожидаясь истечения всех 3 квантов) перейдет следующему процессу. Временем на переключение процессов на процессоре в рамках этой задачи пренебрегаем. Рассматриваемый вычислительный узел может параллельно обрабатывать не более 3 различных процессов. Таким образом, сначала возможность выполняться предоставляется процессу 1, затем процессу 2, затем процессу 3, затем снова процессу 1 и так далее.
Каждый процесс может находиться в двух состояниях – ожидает выполнения (т.е. выполняется условие «процесс создан, не завершен, но в данный квант он не выполняется») или процесс выполняется в данный момент на процессоре.
На вычислительном узле работают три приложения, каждое из которых регулярно создает новый процесс по истечении одного кванта после того, как был завершен предыдущий процесс этого приложения. На выполнение каждому из процессов требуется 6 квантов вне зависимости от того, каким приложением был создан этот процесс.
На момент начала первого кванта (кванты нумеруются с 1), созданы процессы всех трех приложений (приложение 1, приложение 2 и приложение 3), обработка начинается с процесса приложения 1, затем будет выполнятся процесс приложения 2, затем процесс приложения 3, затем опять процесс приложения 1 и т.д. Процессор предоставляется каждому процессу на 4 кванта. Определите, процессы каких приложений будут выполняться на 101-м, 201-м и 301-м квантах. В ответ запишите через пробел 3 числа – номера соответствующих приложений.

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя