For faster navigation, this Iframe is preloading the Wikiwand page for KURT.

KURT

Материал из Википедии — свободной энциклопедии

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 функций:

  • set_rtparams — позволяет добавить процесс в ядро с маской SCHED_KURT. Только процессы, чья политика в планировщике установлена как SCHED_KURT, будут иметь возможность работать в режиме реального времени;
  • get_num_rtprocs — получает идентификатор rt_id процесса из планировщика РВ RTMod;
  • rt_suspend — позволяет приостановить планировщик РВ;
  • get_rt_stats — получает статус процесса из таблицы планировщика процессов РВ.

Простота использования KURT позволяет с максимальным комфортом программировать задачи, требующие как РВ, так и всего многообразия API-интерфейса Unix. Использование мягкого реального времени часто подходит для реализации мультимедийных задач и при обработке разного рода потоков информации, где критично время выполнения вычислений. Совершенно другой подход применен при реализации в Linux жесткого реального времени.

Другие расширения реального времени для Linux

[править | править код]

По материалам РТ Софт Архивная копия от 14 марта 2022 на Wayback Machine

Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её.
{{bottomLinkPreText}} {{bottomLinkText}}
KURT
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?