
Алгоритмы планирования интерактивных систем
RR (Round Robin) – вытесняющий алгоритм, согласно которому, все процессы поочерёдно получают кванты процессорного времени. При большом кванте времени RR вырождается в FCFS, поскольку большинство процессов успевает выполниться за этот квант времени. При среднем кванте времени, время оборота ниже, чем у FCFS, но выше, чем у SJN. При минимальном кванте времени, время оборота приближается к показателям SJN. Однако, чем меньше квант времени, тем больше накладные расходы на обслуживание процессов, а именно время на переключение между процессами. Поэтому подсистема управления процессов может изменять квант времени процессора во время работы для увеличения производительности;
Приоритетное планирование
Число, характеризующее степень привилегированности одного объекта перед другим. Приоритеты бывают индивидуальные и групповые. При индивидуальных приоритетах на основании значения приоритета выполняется процесс из очереди готовности. При групповых приоритетах формируется несколько очередей с различными приоритетами. Внутри каждой очереди может применяться свой алгоритм, обычно FCFS. Приоритеты бывают относительные и абсолютные. При использовании абсолютных приоритетов поступление в систему более приоритетного процесса, чем выполняющегося приводит к перепланированию с вытеснением менее приоритетного выполняющего процесса обратно в очередь готовности. Его место занимаем новый, более приоритетный процесс. При использовании относительных приоритетов новый, более приоритетный процесс будет находиться в очереди готовности до тех пор, пока не закончится квант времени, выделенный выполняющемуся процессу. При использовании приоритетов с алгоритмом RR более приоритетные процессы после выполнения занимают место не в конце очереди готовности, а в середине поступают на выполнение чаще.
Требование к алгоритму: справедливость – каждый процесс независимо от привилегированности должен в конечное время получить квант процессорного времени. Для выполнения требования низкоприоритетные процессы с течением времени могут повышать свой приоритет.
Системы реального времени
Планируемость систем реального времени
В системе происходит набор из n событий. Каждое событие происходит с периодичностью Ti. На обработку каждого события системе требуется ti. В общем случае считается, что время на обработку не может превышать периодичности.
Условие планируемости системы реального времени.
Алгоритм RMS
Статический алгоритм использует только априорные знания о системе и не учитывает текущее состояние системы. Используется понятие дедлайна (момент времени, к которому должно быть обработано событие). Если событие не обработано до наступления своего дедлайна, то алгоритм терпит крах. Приоритеты процессов пропорциональны частоте поступления их событий.
Алгоритм DRF
На выполнение выбирается тот процесс, у которого ближе дедлайн. На сильно загруженных системах статический алгоритм может не справляться с планированием системы. В то время, как динамический может даже периодически дать системе простаивать.
Потоки
Многопоточность – это способность процесса выполняться более, чем в одном потоке команд. Многопоточность – это квазимногозадачность в рамках одного процесса. Потоки одного процесса работают в общем контексте, включающем в себя: адресное пространство памяти, дескрипторы файлов, устройство. Благодаря этому потоки успешно используют и модифицируют общие данные. Скорость переключения между потоками на порядок выше между потоками за счёт отсутствия необходимости переключения контекста. Скорость создания и удаления потоков тоже на порядок выше. Недостаток: усложнение планирования процессов и системы.