Материал: 2. Процессы и потоки

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Самостоятельное переключение

Вытеснение потока

Сценарии и причины повышения приоритета

üПовышение вследствие событий планировщика или диспетчера

üПовышение вследствие завершения ввода/вывода

üПовышение вследствие ввода из пользовательского интерфейса

üПовышение вследствие слишком продолжительного ожидания ресурса исполняющей системы

Алгоритм планирования Linux

В операционной системе Linux поддерживаются три класса потоков:

•1. потоки реального времени, обслуживаемые по алгоритму FIFO;

•2. потоки реального времени, обслуживаемые в порядке циклической очереди;

•3. потоки разделения времени.

Linux различает 140 уровней приоритета.

Потоки реального времени имеют приоритеты от 0 до 99, причем 0 – самый высокий приоритет.

Обычному потоку ставится в соответствие уровень приоритета от 100 до 139.

Каждому уровню приоритета обычных потоков соответствует свое значение длительности кванта времени.

Linux связывает с каждым потоком значение nice, которое определяет

статический приоритет каждого потока. По умолчанию он равен 0, но его можно изменить при помощи системного вызова nice(value), где value меняется от -20 до +19.

Очередь исполнения и массивы приоритетов для каждого

ЦП в Linux-планировщике О(1)

Источник: https://studfile.net/preview/16440298/