
- •Российский Государственный Социальный Университет
- •2006Г. Оглавление
- •Введение
- •Основная часть
- •1 Немного истории
- •2 "Классические" требования к осрв
- •3 Определение операционных систем реального времени (осрв)
- •4 Типичные времена реакции на внешние события в управляемых осрв процессах
- •5 Основные области: применения осрв
- •6 Особенности оборудования, на котором работают осрв
- •7 Основные определения
- •8 Типы задач
- •9 Виды программирования
- •10 Виды ресурсов
- •11 Типы взаимодействия процессов
- •12 Состояния процесса
- •13 Стандарты осрв
- •13.1 Posix
- •13.2 Do-178b
- •13.3 Arinc-653
- •13.4 Osek
- •13.5 Стандарты безопасности
- •13.6 Нормы esse консорциума vita
- •13.7 Стандарт sceptre
- •Заключение
- •Литература
Основная часть
1 Немного истории
Первые коммерческие ОСРВ получили широкое распространение одновременно с появлением персональных компьютеров в начале 80-х годов XX века; в 90-е годы регулярно публиковались сводные таблицы по ОСРВ и, в частности, журналом Real-Time Magazine" В настоящее время из более чем сотни ОСРВ, разработанных в разное время, широкое распространение получили лишь около двадцат [1], список которых приведён в табл. 1. В этой таблице представлены лишь "самостоятельные" ОСРВ и не рассматриваются ОСРВ, являющиеся расширением какой-либо универсальной ОС (в частности, не рассматриваются расширения реального времени Linux, такие как RTAI Linux или KURT).
Таблица 1. Список ОСРВ, наиболее широко распространенных в 2006 году
Рис.
1. Пакет SOPH.I.A. позволяет строить
вертикально-интегрированные системы
автоматизации на основе WEB-технологий
2 "Классические" требования к осрв
"Классические" требования к ОСРВ на сегодняшний день можно разделить на несколько групп. В различных источниках эти группы выбираются по-разному. Например, в [1] выделены следующие категории для сравнения свойств ОСРВ:
свойства ядра (архитектура, поддержка множества процессов и множества процессоров, устойчивость к отказам);
диспетчеризация (алгоритм, механизм присвоения приоритетов, время для освобождения задачи);
модель процесс/нить/задача (число уровней приоритетов, защита от инверсии приоритетов, состояния задачи, максимальное число задач, задержка переключения задач, динамическое изменение приоритетов);
управление памятью (минимальный и максимальный объём оперативной и ROM-памяти на задачу, максимальная адресуемая память для задачи, поддержка защиты памяти, динамическое распределение памяти, виртуальная память, сжатие памяти);
управление прерываниями и исключениями (вытесняемые обработчики прерываний, наихудшее время обработки прерывания, модифицируемость таблицы векторов прерываний);
интерфейс прикладного программирования (совместимость библиотек, точное абсолютное время, поддержка внешних часов, примитивы синхронизации, сетевые протоколы, соответствие стандартам, ввод/вывод, файловые системы);
процесс разработки (методология разработки, поставка в исходных или объектных кодах, поддерживаемые компиляторы, процессоры и языки программирования);
коммерческая информация (стоимость, платежи за runtime-системы, число лет на рынке, использование в ответственных приложениях, тип и стоимость технической поддержки).
Одним из немногих стандартов, формально определяющих некоторые "классические" требования к ОСРВ, является POSIX ("Portable Operating System interface for unIX") - переносимый интерфейс операционных систем на уровне исходных текстов первое описание которого было опубликовано в 1986 году. Основная спецификация разработана как IEEE 1003.1 и одобрена как межународный стандарт ISO/IEC 9945-1:1990. С точки зрения ОСРВ наибольший интерес представляют три стандарта: 1003.1a (OS Definition), 1003.1b (Realtime Extensions) и 1003.1c (Threads). Применительно к группе стандартов POSIX в английском языке часто используются не один, а целых три термина. К сожалению, они сходны по значению и часто переводятся одинаково, что вносит определённую путаницу. Термины эти таковы:
"Compatibility" (буквально "совместимость");
"Compliance" (буквально "соответствие");
"Conformance" (буквально "согласованность").
Первый термин применительно к POSIX формально не определён. Второй термин означает, что организация-производитель программного продукта самостоятельно заявляет о том, что продукт (полностью или частично) соответствует стандартам NIST-PCTS. Третий термин подразумевает, что программный продукт прошёл установленную систему тестов либо с помощью аккредитованной лаборатории, либо в рамках Open Group, и на это имеется документальное подтверждение (так называемое "Conformance Statement"). Если придерживаться строгих правил, требующих, чтобы данные о сертифицированной ОСРВ были опубликованы в официальном реестре IEEE и тестирование проводились по уровню Conformance, то в настоящее время есть всего две сертифицированные ОСРВ: LynxOS Integrity