В системе разделения времени ядро
предоставляет процессу ресурсы
центрального процессора (ЦП) на
интервал времени, называемый
квантом, по истечении которого
выгружает этот процесс и запускает
другой, периодически
переупорядочивая очередь
процессов. Алгоритм планирования
процессов в системе UNIX использует
время выполнения в качестве
параметра. Каждый активный процесс
имеет приоритет планирования; ядро
переключает контекст на процесс с
наивысшим приоритетом. При
переходе выполняющегося процесса
из режима ядра в режим задачи ядро
пересчитывает его приоритет,
периодически и в режиме задачи
переустанавливая приоритет
каждого процесса, готового к
выполнению. Информация о времени, связанном с
выполнением, нужна также и
некоторым из пользовательских
процессов: используемая ими,
например, команда time позволяет
узнать, сколько времени занимает
выполнение другой команды, команда
date выводит текущую дату и время
суток. С помощью различных
системных функций процессы могут
устанавливать или получать
временные характеристики
выполнения в режиме ядра, а также
степень загруженности
центрального процессора. Время в
системе поддерживается с помощью
аппаратных часов, которые посылают
ЦП прерывания с фиксированной,
аппаратно-зависимой частотой,
обычно 50-100 раз в секунду. Каждое
поступление прерывания по таймеру
(часам) именуется таймерным тиком. В
настоящей главе рассматриваются
особенности реализации процессов
во времени, включая планирование
процессов в системе UNIX, описание
связанных со временем системных
функций, а также функций,
выполняемых программой обработки
прерываний по таймеру. Предыдущая
глава || Оглавление
|| Следующая глава
ГЛАВА 8. ДИСПЕТЧЕРИЗАЦИЯ
ПРОЦЕССОВ И ЕЕ ВРЕМЕННЫЕ
ХАРАКТЕРИСТИКИ