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

Автор: Пользователь скрыл имя, 12 Декабря 2012 в 16:43, реферат

Описание работы

Система реального времени - это конкретная система, связанная с реальным объектом, процессами. Она включает в себя необходимые аппаратные средства, операционную систему и прикладное программное обеспечение.
Операционные системы реального времени (ОСРВ) — системное программное обеспечение особого типа, которое используется для создания и управления СРВ.

Работа содержит 1 файл

системы реального времени.doc

— 190.00 Кб (Скачать)

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.

 
 
рис 8 Структура расширений ядра Windows NT дополнительными ядрами РВ

 
Radisys реализован оригинальный механизм  внедрения одной ОС в другую. Он управляет одновременным исполнением  и целостностью ядер ОС, осуществляет  защиту памяти и разделяет адресные пространства процессов. При этом процессы и прерывания реального времени имеют приоритет по сравнению с процессами и прерываниями Windows.

Приложения  реального времени в ОС Linux

Популярная  ОС Linux имеет много достоинств: 
- Открытые исходные тексты; 
- Поддержка работы на процессорах различных классов; 
- Большое число готовых приложений (в основном, ориентированные на серверную работу); 
- Наличие документации на API-интерфейс и ядро ОС. 
 
Приспособление системы Linux к требованиям “реального времени” происходит по трем направлениям:

  1. Поддержка стандартов POSIX, касающихся стандартов реального времени.  
    Стандарт POSIX 1003.1с (работа с задачами) уже поддержан, стандарт POSIX 1003.1b (расширения реального времени) поддержан частично.
  2. Поддержка специального оборудования.  
    В этом направлении активно ведутся работы по организации взаимодействия с шиной VME, выполнения Linux из ПЗУ, повышение разрешения таймеров системы.
  3. Реализация механизма PREEMPTION для ядра системы.

Механизм 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 является фоновой задачей, и запускается только в том случае, если не исполняется ни одна из задач реального времени.

 
 
Рис. 9 RT-Linux

Установка и  удаление планировщика возможно динамически, так как он скомпилирован как модуль. Недостаток планировщика в том, что для Linux выделен самый низкий приоритет. Если задачи реального времени будут использовать все процессорное время, тогда приложения Linux не получат доступ к процессорным ресурсам, что отрицательно скажется на функциональности системы в целом.

В случае RT-Linux сочетается система реального времени и  классическая ОС. Возможно, одновременное  использование, как стандартных  приложений, так и приложений реального  времени.

 

 

 

 

 

 

 

 

 

 

 

 

 

Используемая  литература:

  1. Гордеев А.В. Операционные системы: Учебник для вузов. 2-е изд. – СПб.:Питер, 2005.
  2. Мартин Тиммерман (Martin Timmerman), директор,  
    Жан-Кристоф Монфрет (Jean-Christophe Monfret), менеджер проектов,  
    WINDOWS NT - ОС реального времени? Real-Time Consult www/asutp.ru
  3. Алан Джок ОС реального времени Computerworld, #24/2001
  4. Олег И. Цилюрик Инверсия приоритетов и реальное время. ,  
    г.Харьков, НПФ «ЛОТ»: Редакция 1.12 от 15.12.2003г.
  5. И.Б. Бурдонов, А.С. Косачев, В.Н. Пономаренко Операционные системы реального времени  
    Препринт Института системного программирования РАН 2006г.
  6. Сергей Золотарёв, Операционные системы реального времени для 32-разрядных микропроцессоров 
    ЗАО "РТСофт", Современная электроника 7/2006

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