Книга: Архитектура операционной системы UNIX
8.1.1 Алгоритм
8.1.1 Алгоритм
Сразу после переключения контекста ядро запускает алгоритм планирования выполнения процессов (Рисунок 8.1), выбирая на выполнение процесс с наивысшим приоритетом среди процессов, находящихся в состояниях "резервирования" и "готовности к выполнению, будучи загруженным в память". Рассматривать процессы, не загруженные в память, не имеет смысла, поскольку не будучи загружен, процесс не может выполняться. Если наивысший приоритет имеют сразу несколько процессов, ядро, используя принцип кольцевого списка (карусели), выбирает среди них тот процесс, который находится в состоянии "готовности к выполнению" дольше остальных. Если ни один из процессов не может быть выбран для выполнения, ЦП простаивает до момента получения следующего прерывания, которое произойдет не позже чем через один таймерный тик; после обработки этого прерывания ядро снова запустит алгоритм планирования.
алгоритм schedule_process
входная информация: отсутствует
выходная информация: отсутствует
{
выполнять пока (для запуска не будет выбран один из процессов) {
for (каждого процесса в очереди готовых к выполнению)
выбрать процесс с наивысшим приоритетом из загруженных в память;
if (ни один из процессов не может быть избран для выполнения)
приостановить машину;
/* машина выходит из состояния простоя по прерыванию */
}
удалить выбранный процесс из очереди готовых к выполнению;
переключиться на контекст выбранного процесса, возобновить его выполнение;
}
Рисунок 8.1. Алгоритм планирования выполнения процессов
- 10 Алгоритм работы с возражениями
- 5.4. РЕКОМЕНДАЦИИ НАЧИНАЮЩИМ ПО СОСТАВЛЕНИЮ ОПИСАНИЙ АЛГОРИТМОВ И ЭВРОРИТМОВ
- Алгоритм составления эффективных рекламных сообщений
- Алгоритмическая вероятность
- Комментарии к алгоритму Тоома—Кука
- Алгоритмы хэширования
- Алгоритмическая информация
- 2.6. Сегментирование рынка, методики выделения целевых сегментов (по продукту, по территориям). Алгоритм формирования ко...
- Совет 43. Используйте алгоритмы вместо циклов
- Почему происходят изменения алгоритма в поисковой системе
- Естественный отбор алгоритмов?
- 7.2.5. Структура программы и блок-схема алгоритма