Реализация алгоритма Round-Robin ( Карусель )
Планирование процессов внутри очередей 0–2 осуществляется с использованием алгоритма “карусель”(RR), планирование процессов в очереди 3 основывается на алгоритме без ограничения времени(FCFS).
Родившийся процесс поступает в очередь 0. При выборе на исполнение он получает в свое распоряжение квант времени размером 8 единиц. Если продолжительность его CPU burst меньше этого кванта времени, процесс завершается.. В противном случае он переходит в очередь 1. Для процессов из очереди 1 квант времени имеет величину 16. Если процесс не укладывается в это время, он переходит в очередь 2. Если укладывается – остается в очереди 1. В очереди 2 величина кванта времени составляет 32 единицы. Если для непрерывной работы процесса и этого мало, процесс поступает в очередь 3, для которой квантование времени не применяется и, при отсутствии готовых процессов в других очередях, может исполняться до окончания своего CPU burst.
Информация о каждом новом процессе вводится с файла в виде троек (a,b,c), где a- имя процесса,b- время CPU burst,c – интервал времени относительно поступления предыдущего процесса. Вывести состояние очередей спустя время R с начала работы планировщика (диспетчера) процессов (временем ожидания I/O burst пренебречь) и сделать это по секундно. То есть распечатывать состояния очередей каждый квант времени.
//Собственные пояснения:
1. Процессы в зависимости от времени их выполнения сразу поступают в нужную очередь.
2. Параметр "с" для первого процесса показывает через сколько он начинает свою работу в процессоре. Для второго показывается через сколько он будет обрабатываться после первого и т.д.
3. Процессы в очередях 1-3 начинают свою работу только и только тогда, когда очереди перед ними пусты. В обратном случае они находятся в состоянии ожидания и при первой возможности ( освобождение предыдущих очередей ) начинают в порядке очереди поступления реализовываться.
4. Приоритет выполнения процессов в очереди 0 самый высокий.
5. Реализация желательна на С с использованием структур и очередей. ( Правда второе я себе не очень хорошо представляю ).
Всем заранее спасибо.