RTLinux

RTLinux
RTLinux
Тип

Операционная система реального времени

Разработчик

Виктор Йодаикен и Михаил Барабанов (Университет Нью-Мехико), FSMLabs, Wind River Systems

Написана на

C

Операционная система

Linux

Лицензия

GPLv2

Сайт

RTLinuxFree.com

RTLinux — микроядерная операционная система жёсткого реального времени, которая выполняет Linux как полностью вытесняемый процесс. Работы над RTLinux завершились в 2007 году и на основе наработок этой ОС стартовал проприетарный проект Wind River.

Содержание

Особенности реализации

Разработчики RTLinux пошли по тому пути, который предусматривает запуск из наноядра реального времени ядра Linux как задачи с наименьшим приоритетом. В RTLinux все прерывания обрабатываются ядром реального времени, которое включает собственный планировщик задач, обработчик прерываний и библиотечный код. В случае отсутствия обработчика реального времени для какого-то прерывания, оно передаётся в Linux. Фактически Linux является простаивающей (idle) задачей ОСРВ, запускаемой только в том случае, если никакая задача не исполняется в реальном времени. При этом на Linux-задачу накладываются некоторые ограничения, которые, впрочем, прозрачны для программиста.

Linux не может выполнять следующие операции:

  • блокировать аппаратные прерывания;
  • предохранять себя от вытеснения другой задачей.

Ключ к реализации данной системы — эмулирующий систему управления прерываниями драйвер, к которому обращается Linux при попытке блокировать прерывания. В этом случае драйвер перехватывает запрос, сохраняет его и возвращает управление Linux.

Все аппаратные прерывания перехватываются ядром ОСРВ. Когда происходит прерывание, ядро RTLinux решает, что делать. Если это прерывание должно быть обработано обработчиком реального времени, то ядро вызывает соответствующий обработчик. В противном случае или если обработчик реального времени говорит, что хочет разделять это прерывание с Linux, обработчику присваивается состояние ожидания (pending). Если Linux потребовал разрешить прерывания, то прерывания, которые находятся в состоянии ожидания, эмулируются.

Ядро RTLinux спроектировано таким образом, что ядро реального времени никогда не нуждается в ожидании освобождения ресурса, занятого Linux-процессом.

Для обмена данными между ОСРВ и Linux предусмотрены следующие средства:

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

Ключевой принцип построения RTLinux — как можно больше использовать Linux и как можно меньше RTLinux. Действительно, Linux заботится об инициализации системы и устройств, а также о динамическом выделении ресурсов. На RTLinux ложится только планирование задач реального времени и обработка прерываний. Процессы реального времени реализованы в виде загружаемых модулей Linux для простоты запуска в контексте ядра, сохранения модульности и расширяемости системы.

Приложение реального времени с RTLinux, как правило, состоит из двух независимых частей: процесса, исполняемого ядром RTLinux, и обыкновенного Linux-приложения.

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

По материалам РТ Софт

Недостатки реализации RTLinux

  • Приложения реального времени выполняются в пространстве ядра, следовательно они могут переписать часть памяти ядра и сломать систему
  • Взаимодействие между RT-подсистемой и Linux может быть только нереалтаймовым
  • Ядро Linux выполняется в бэкграунде, следовательно задачи Linux могут испытывать большие задержки
  • Невозможно использовать драйверы Linux в задачах реального времени, следовательно разработчики приложений реального времени вынуждены переписывать драйверы устройств поверх RT-подсистемы

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

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "RTLinux" в других словарях:

  • RTLinux — Saltar a navegación, búsqueda RTLinux es un sistema operativo de tiempo real que ejecuta Linux como un thread (hilo de ejecución) de menos prioridad que las tareas de tiempo real. Con este diseño, las tareas de tiempo real y los manejadores de… …   Wikipedia Español

  • RTLinux — (or Real Time Linux) is an extension of Linux to a real time operating system, which was originally developed by Victor Yodaiken at the New Mexico Institute of Mining and Technology. RTLinux was made available as a community supported free… …   Wikipedia

  • RTLinux — ist eine Erweiterung von Linux zu einem Echtzeitbetriebssystem, die ursprünglich von Professor Victor Yodaiken zusammen mit seinem Studenten Michael Barabanov an der Universität von New Mexico entwickelt wurde. RTLinux wird in einer freien und… …   Deutsch Wikipedia

  • RTLinux — Développeur NMT, FSMLabs, Wind River P …   Wikipédia en Français

  • RTLinux — abbr. Real Time Linux (Linux) …   United dictionary of abbreviations and acronyms

  • Licence de brevet libre RTLinux — La licence de brevet libre RTLinux (de l anglais Open RTLinux Patent License) est une licence de brevet fixant les conditions[1]d utilisation de l invention soutenue par Victor J. Yodaiken dans le brevet américain n°5995745[2]. Sommaire 1… …   Wikipédia en Français

  • FSMLabs — (en anglais « Finite State Machine Labs Inc. ») est une entreprise informatique américaine fondée à la fin des années 1990 par Victor J. Yodaiken dans le but de commercialiser RTLinux. Son siège se situe à Socorro dans l État du Nouveau …   Wikipédia en Français

  • RTAI — Saltar a navegación, búsqueda RTAI (Real Time Application Interface) Interface para Aplicaciones en Tiempo Real, es una implementación de Linux para tiempo real basada en un principio en RTLinux, y actualmente en ADEOS, no es un sistema operativo …   Wikipedia Español

  • Daniel Robbins — Born Montreal,  Quebec Residence Albuquerque, New Mexico Nationality …   Wikipedia

  • Wind River Systems — Infobox Company company name = Wind River Systems Inc. company company type = Public (NASDAQ: [http://quotes.nasdaq.com/asp/summaryquote.asp?symbol=WIND WIND] ) company slogan = foundation = 1981 location = Alameda, California key people = Ken… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»