Алгоритмы планирование процессов
Доступ любой задачи к центральному процессу осуществляется через системные программы планировщика, диспетчера. Планирование это организация процессов в некоторую последовательность. Планировщик – программа ответственная за постановку процессов в очередь. Диспетчер – это программа, которая выбирает процесс из очереди, переводит его в активное состояние. Планирование диспетчеризации сокращенно называется планирование.
Планирование процессов включает в себя решение следующих основных задач:
1) Определение момента времени для смены определяемого процесса;
2) Вывод процесса на выполнения из очереди готовых процессов;
3) Переключение контекстов в процессы;
Первые две задачи решаются программными средствами, последняя – незначительной степени аппарата. Существует множество различных алгоритмов планирования процессов, рассмотрим подробнее две группы, наиболее чаще встречающихся алгоритмов:
1) Алгоритмы, основанные на квантование;
2) Алгоритмы, основанные на приоритетах.
В соответствие с алгоритмами основанные на квантование, смена активного процесса происходит если:
1) Исчерпан квант процессорного времени;
2) Процесс завершился и покинул систему;
3) Процесс перешел в состояние ожидания;
4) Произошла ошибка.
Процесс, который исчерпал свой квант, переводится в состояние готовность и ожидает, когда ему будет предоставлен новый квант процессорного времени. На дополнение в соответствие с определенными правилами выбирается новый процесс из очереди готовых, таким образом, не один процесс не занимает процессор на долго. Поэтому квантование широко используется в современной ОС.
Кванты, выделяемые процессом, могут быть одинаковыми для всех процессов или различными, могут быть фиксированным величины или изменятся в разные периоды жизни процесса. Процессы, которые не полностью использовали выделенный квант, могут получить компенсацию в виде привилегий.
предыдущаяследующая