Автор: Пользователь скрыл имя, 12 Декабря 2012 в 16:43, реферат
Система реального времени - это конкретная система, связанная с реальным объектом, процессами. Она включает в себя необходимые аппаратные средства, операционную систему и прикладное программное обеспечение.
Операционные системы реального времени (ОСРВ) — системное программное обеспечение особого типа, которое используется для создания и управления СРВ.
2. Дополнение
стандартного ядра NT ядром реального времени
Этот подход лежит в основе предложений
фирм LP Elektronik, Radisys, Imagination. Существуют две
его реализации:
- Разместить ядро реального времени в
модуле обслуживания прерываний Windows NT
или в драйвере устройств (проект LP Elektronik).
На шину ISA ставится дополнительная плата
LP-Realtime Aclerator, снабженная таймером и имеющая
возможность управлять большинством линий
прерываний ISA. Разработанная технология
обработки прерываний от платы позволяет
расширить программу обработки прерываний
до полноценного ядра ОСРВ. Строго говоря,
это не самостоятельное решение LP Elektronik,
так как на базе этой технологии в ядро
Windows внедрено ядро ОСРВ VxWorks. Интерфейс
между приложениями разных ОС реализован
в виде “псевдосети” TCP/IP. Интерфейс обеспечивается
двумя драйверами: один для Windows, другой
для VxWorks.
- Разместить ядро реального времени вне
адресного пространства Windows NT (проект
Radisys).
Итогом реализации этого подхода стал
продукт INtime, основанный на ядре реального
времени ОС iRMX. Здесь также модифицируется
HAL, разработан специальный драйвер, который
предназначен для организации взаимодействия
между “обычными” процессами и процессами
реального времени. Структура расширений
ядра Windows NT дополнительными ядрами реального
времени приведена на рис 8.
Radisys реализован оригинальный
Приложения реального времени в ОС Linux
Популярная
ОС Linux имеет много достоинств:
- Открытые исходные тексты;
- Поддержка работы на процессорах различных
классов;
- Большое число готовых приложений (в
основном, ориентированные на серверную
работу);
- Наличие документации на API-интерфейс
и ядро ОС.
Приспособление системы Linux к требованиям
“реального времени” происходит по трем
направлениям:
Механизм preemption - механизм приоритетного переключения
(preemption – приоритетное право на покупку),
переключение процессора на выполнение
задачи с большим приоритетом.
Система реального времени должна осуществлять
переключение задач в соответствии с этим
принципом. Но реализовать его достаточно
сложно, так как Linux, как и все UNIX- системы
надолго запрещает прерывания в ядре.
Существующие подходы к реализации preemption
для ядра Linux можно разделить на две группы:
- Переписать ядро Linux с учетом preemption.
Это прямое решение пока не дало значительных
результатов, так как необходимо проделать
большой объем работы, а изменения в ядро
вносятся слишком часто.
- Создать микроядро, которое будет отвечать
за диспетчеризацию прерываний и задач.
Само ядро будет незначительно изменено,
для предотвращения блокировки аппаратных
прерываний.
Задачи в такой системе разделены на два
типа:
a.Процессы реального
времени, работающие под управлением только
микроядра, эти процессы могут прерывать
ядро Linux.
b.Процессы, работающие
под управлением Linux,
процессы, работающие под управлением
микроядра, но использующие функции Linux.
Они могут быть блокированы ядром Linux.
Недостатком этого подхода является необходимость
обеспечить в микроядре функционирование
процессов реального времени.
Наиболее законченной реализацией является
проект RT-Linux.
Проект RT-Linux
В RT-Linux применён нетрадиционный подход к построению системы реального времени. RT-Linux представляет собой микроядро, отвечающее за создание и планирование задач, обеспечение их взаимодействия и диспетчеризацию прерываний (см. Рис.9). Реализован механизм планирования с фиксированными приоритетами и единственный механизм взаимодействия – очередь сообщений FIFO.
Основное ядро Linux запускается, как низкоприоритетная задача этого микроядра, разделяя процессор с другими задачами реального времени. Фактически Linux является фоновой задачей, и запускается только в том случае, если не исполняется ни одна из задач реального времени.
Установка и удаление планировщика возможно динамически, так как он скомпилирован как модуль. Недостаток планировщика в том, что для Linux выделен самый низкий приоритет. Если задачи реального времени будут использовать все процессорное время, тогда приложения Linux не получат доступ к процессорным ресурсам, что отрицательно скажется на функциональности системы в целом.
В случае RT-Linux сочетается система реального времени и классическая ОС. Возможно, одновременное использование, как стандартных приложений, так и приложений реального времени.
Используемая литература: