KURT (от англ. Kansas University Real-Time Linux) — расширение «мягкого» реального времени для ядра Linux.
Этот проект основан на минимальных изменениях Linux и предоставляет разработчику два режима работы нормальный (normal mode) и реального времени (real-time mode). В любой момент времени процесс, использующий библиотеку интерфейсов API KURT, может переключаться между этими двумя режимами, которые позволяют процессу работать как в режиме РВ (real-time mode), так и в нормальном режиме Linux. Программный пакет KURT выполнен в виде отдельного системного модуля Linux RTMod, который становится дополнительным планировщиком РВ. Планировщик РВ доступен в нескольких вариантах и может тактироваться от любого таймера в системе или от прерываний стандартного параллельного порта. Так как все процессы работают в общем пространстве процессов Linux, программист использует в своих программах стандартные API-интерфейсы Linux и может переключаться из одного режима в другой по событиям или в нужном месте программы с применением API-интерфейсов KURT. При переключении в режим РВ все процессы в системе засыпают до момента освобождения ветви процесса РВ. Это довольно удобно при реализации задач с большим количеством вычислений, требующих по своей сути механизмов РВ. Примером может служить подмножество задач обработки аудио-видео информации.
Стандартно планировщик RTMod тактируется от системного таймера, и переключение контекста задач РВ (time slice) равно 10 мс. Используя KURT совместно с расширением UTIME, можно довести время контекстного переключения задач до 1 мс. Прерывания обрабатываются стандартным для Linux образом, то есть используется механизм драйверов.
API-интерфейс KURT делится на две части: прикладную и системную. Прикладная часть позволяет программисту управлять поведением своих процессов, а системный API-интерфейс KURT предназначен для манипулирования пользовательскими процессами и написания собственных планировщиков.
Прикладная часть API KURT состоит всего из 4 функций:
Простота использования KURT позволяет с максимальным комфортом программировать задачи, требующие как РВ, так и всего многообразия API-интерфейса Unix. Использование мягкого реального времени часто подходит для реализации мультимедийных задач и при обработке разного рода потоков информации, где критично время выполнения вычислений. Совершенно другой подход применен при реализации в Linux жесткого реального времени.
![]() |
Это заготовка статьи о Linux. Вы можете помочь проекту, дополнив её. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .