Самостоятельное переключение
Вытеснение потока
Сценарии и причины повышения приоритета
üПовышение вследствие событий планировщика или диспетчера
üПовышение вследствие завершения ввода/вывода
üПовышение вследствие ввода из пользовательского интерфейса
üПовышение вследствие слишком продолжительного ожидания ресурса исполняющей системы
Алгоритм планирования Linux
В операционной системе Linux поддерживаются три класса потоков:
•1. потоки реального времени, обслуживаемые по алгоритму FIFO;
•2. потоки реального времени, обслуживаемые в порядке циклической очереди;
•3. потоки разделения времени.
Linux различает 140 уровней приоритета.
Потоки реального времени имеют приоритеты от 0 до 99, причем 0 – самый высокий приоритет.
Обычному потоку ставится в соответствие уровень приоритета от 100 до 139.
Каждому уровню приоритета обычных потоков соответствует свое значение длительности кванта времени.
Linux связывает с каждым потоком значение nice, которое определяет
статический приоритет каждого потока. По умолчанию он равен 0, но его можно изменить при помощи системного вызова nice(value), где value меняется от -20 до +19.
Очередь исполнения и массивы приоритетов для каждого
ЦП в Linux-планировщике О(1)