Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
операционные системы”
Aurelia Prepelita,
conf. univ., dr., Catedra TP, USM
Chisinau, 2010
Оглавление:
Глава 9. Планирование Linux, Unix, W2K. Часть 5.
Планирование Linux
Планирование UNIX SVR4
Планирование WINDOWS 2000
Приоритеты процессов и потоков
Литература
Планирование Linux
Linux построен на традиционном планировании UNIX с
добавлением двух классов планирования для мягких заданий
реального времени. Таким образом, в Linux имеется три класса
планирования.
• SCHED_FIFO. Потоки реального времени с использованием
планирования по принципу "первым вошел — первым вышел« (с
вытеснением).
• SCHED_RR. Потоки реального времени с использованием
кругового планирования.
• SCHED_OTHER. Прочие потоки, не являющиеся потоками
реального времени.
В пределах каждого класса могут использоваться различные
приоритеты, причем приоритеты классов реального времени
выше приоритетов класса SCHED_OTHER.
Планирование Linux
Для потоков FIFO применимы следующие правила.
1. Система не прерывает выполняющийся поток этого класса за
исключением следующих ситуаций:
а) становится готовым другой поток этого же класса с более высоким
приоритетом;
б) выполнение потока блокируется ожиданием события (например,
выполнения операции ввода-вывода);
в) выполняющийся поток добровольно отдает процессор посредством вызова
примитива sched_yield.
2. При прерывании выполняющегося потока FIFO он помещается в
очередь, предназначенную для его уровня приоритета.
3. Если поток FIFO приходит в состояние готовности к выполнению и
имеет более высокий приоритет, чем выполняющийся, то текущий
поток вытесняется и начинает выполняться готовый поток с высшим
приоритетом. Если таких потоков несколько, выбирается поток,
находившийся в состоянии ожидания дольше других.
Планирование Linux
Стратегия SCHED_RR аналогична стратегии
SCHED_FIFO за исключением добавления
временной квоты, связанной с каждым
потоком. При выполнении потока RR дольше,
чем позволяет его квота, он
приостанавливается, и для выполнения
выбирается поток реального времени с
равным или более высоким приоритетом.
Планирование Linux
На рисунке приведен пример,
иллюстрирующий отличия использования
стратегий FIFO и RR. Предположим, что
программа содержит четыре потока с
относительными приоритетами,
показанными на рисунке. Предположим
также, что все ожидающие потоки готовы к
выполнению, текущий поток завершается или
переходит в состояние ожидания, и что в
процессе его выполнения не появляются
потоки с более высоким приоритетом.
Планирование Linux
Планирование в UNIX SVR4
Алгоритм планирования в UNIX SVR4 представляет собой преобразованный
алгоритм из ранних систем UNIX. Новый алгоритм разработан таким образом,
что дает наивысший приоритет процессам реального времени, приоритет
следующего уровня присваивается процессам ядра, а пользовательские
процессы (известные как процессы с разделением времени) получают низший
приоритет.
В SVR4 реализованы два основных изменения традиционного алгоритма.
1. Добавлено вытесняющее планирование на основе статических приоритетов;
в систему введено множество из 160 уровней приоритетов, разделенных на три
класса.
2. Внесены точки вытеснения. Поскольку базовое ядро не вытесняемо, его
выполнение может быть разделено на небольшие части, выполняемые до
завершения без прерывания. В промежутках между выполнением этих
фрагментов размещены точки вытеснения, в которых ядро может быть
безопас-
но прервано и в которых может начаться выполнение нового процесса. Точка
вытеснения может быть определена как область кода, где все структуры
дaнных ядра либо обновлены и согласованы, либо заблокированы при помощи
семафора.
Планирование в UNIX SVR4
Жданов А.А., Операционные системы реального времени, ЗАО "РТСофт", PCWeek, 8/1999
(URL: www.rtsoft.ru)
Сергей Золотарёв, Операционные системы реального времени для 32-разрядных микропроцессоров,
ЗАО "РТСофт", Современная электроника 7/2006
LynxOS – операционная система реального времени в стандарте POSIX (Золотарев С.В., Калядин А.Ю.,
ЗАО "РТСофт") 30.10.2004
Операционные системы реального времени (Жданов А.А., ЗАО "РТСофт", PCWeek, 8/1999) 15.03.1999