Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Операционные системы реального времени и технологии разработки кроссплатформенного программного обеспечения. Ч.4. Учебное пособие
.pdf
3.2. Специализированные ОС РВ
31
Contiki состоит из ядра (core) и некоторого количества загруженных
приложений. Ядро системы, в свою очередь, состоит из собственно микроядра (kernel), базовых сервисов и дополнительных библиотек. Разделяемая
функциональность реализуется сервисами разделяемых библиотек, которые могут динамически обновляться в процессе выполнения независимо
друг от друга. Это приводит к обеспечению гибкостью структуры системы.
Рис. 9. Разделение на ядро и загруженные программы
Данная ОС предназначается для работы на аппаратных устройствах,
которые имеют ограничения в памяти, вычислительной мощности и пропускной способности. Классическая система Contiki обладает памятью порядка килобайт, энергопотреблением порядка милливатт, скоростью обработки, измеряемую в мегагерцах, и пропускной способностью связи порядка сотен килобит в секунду.
Contiki предоставляет файловую систему на основе flash, называемую
Coffee, для хранения данных внутри сенсорной сети. Файловая система позволяет нескольким файлам сосуществовать на одной физической встроенной флэш-памяти и имеет производительность, близкую к пропускной способности необработанных данных флэш-чипа.
FreeRTOS [6]
Представляет собой многозадачную ОС РВ. В основном применяется правило использования для встраиваемых систем. Поддерживает

3. Классификация ОС РВ
32
следующие платформы: ARM (ARM7, ARM9, Cortex-M0, Cortex-M3,
Cortex-M4, Cortex-A), Atmel AVR, AVR32, HCS12, MicroBlaze, Cortus
(APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430, PIC, Renesas H8/S,
SuperH, RX, x86, 8052, Coldfire, V850, 78K0R, Fujitsu MB91460 series, Fujitsu
MB96340 series, Nios II, Cortex-R4, TMS570, RM4x.
Данная ОС РВ предназначается для работы в микроконтроллерах. Их
основными особенностями является низкое быстродействие (частота
работы), малый объём ОЗУ и ПЗУ, отсутствие блока управления памятью и
реализованных на аппаратном уровне механизмов поддержки многозадачности, например средств быстрого переключения контекста.
Диспетчер системы является простым и компактным, но при этом осу-
ществляет поддержку приоритетов процессов, вытесняющую и кооперативную многозадачность, семафоры, и очереди.
Дистрибутив FreeRTOS может быть свободно и бесплатно скачан с
сайта разработчика. Дистрибутив состоит из подготовленных конфигурационных файлов и демонстрационных программ для каждой архитектуры.
Основные характеристики операционной системы для микроконтрол-
леров типа FreeRTOS:
− планировщик системы FreeRTOS поддерживает все три современ-
ных типа многозадачности: вытесняющую, кооперативную и гибридную;
− размер ядра ОС FreeRTOS составляет всего 4–9;
− исходный код операционной системы представляется разработчи-
кам в виде всего 4-х файлов на языке Си;
− ОС РВ FreeRTOS поддерживает задачи и сопрограммы;
− сопрограммы специально созданы для микроконтроллеров с ма-
лым ОЗУ;
− ОС РВ имеет большие возможности для трассировки программ;
− в ОС FreeRTOS присутствует дополнительная возможность отсле-
живания события переполнения стека;
− в ОС FreeRTOS нет дополнительных программных ограничений
относительно числа выполняемых задач одновременно;
− нет особых ограничений на число соблюдаемых приоритетов
задач;
− нет ограничений в использовании приоритетов: нескольким зада-
чам может быть назначен один и тот же приоритет;

3.2. Специализированные ОС РВ
33
− в ОС FreeRTOS присутствуют достаточно развитые средства син-
хронизации (здесь имеется в виду подход «задача-задача» и «задача-прерывание»);
− FreeRTOS поддерживает модуль защиты памяти, называемый
memory protection unit или MPU;
− ОС FreeRTOS поставляется с примерами проектов для каждой
среды разработки;
− ОС FreeRTOS бесплатна для разработчиков и имеет лицензию GPL;
− для FreeRTOS существует огромное количество качественной до-
кументации.
Использование FreeRTOS в качестве бесплатной операционной системы снижает системные затраты и упрощает разработку. Она предоставляет мощные инструменты планирования задач, управления ресурсами и
синхронизации, что позволяет создавать эффективные системы реального
времени. Микроконтроллеры STM32 являются отличным сочетанием с
FreeRTOS. Пример конфигурации FreeRTOS представлен на рис. 10.
Рис. 10. Пример конфигурации FreeRTOS

3. Классификация ОС РВ
34
OSE RTOS [7]
Наличие в данной ОС РВ ядра с приоритетным планированием обеспечивает высокую производительность встраиваемых систем, в которых
используется OSE RTOS.
Процесс передачи сообщений осуществляется напрямую через механизмы операционной системы.
Процессы в ОС FreeRTOS могут быть динамическими или статическими. Статические процессы ОС формируются ядром системы, когда она
начинает свою работу, и существуют на протяжении всего рабочего цикла.
В то же самое время динамические процессы создаются и уничтожаются
прямо во время выполнения.
Механизм прямой передачи сообщений представляет собой источник
потенциальных эффективных возможностей. Сообщение, которое транслируется от одного процесса к другому, содержит идентификатор, адреса отправителя и получателя и данные. Как только системное сообщение приобретает статус «отправлено», отправитель уже не будет иметь к нему доступ.
Данная особенность практически полностью исключает конфликты при доступе к памяти. Модульная многоуровневая архитектура микроядра OSE
RTOS представлена на рис. 11.
Рис. 11. Модульная многоуровневая архитектура микроядра OSE RTOS
Inferno [8]
Inferno является достаточно компактной ОС, которая может быть применена с целью построения систем в широком диапазоне распределенных
систем. Имеет свойство межплатформенной переносимости, за счёт чего

3.2. Специализированные ОС РВ
35
приложения приобретают способность выполняться как на уровне пользователя, так и на уровне операционной системы. ОС Inferno предоставляет
разработчику мощную среду разработки независимо от основной ОС или
архитектуры, позволяя выполнять работу (создание, отладку и тестирование приложений) в гомогенной среде. Архитектура Inferno OS представлена на рис. 12.
Рис. 12. Архитектура Inferno OS
За счёт системы именного пространства обеспечивается полная прозрачность ресурсов и данных. При этом ресурсы системы имеют вид файлов, к которым применяется специальный протокол системного взаимодействия, благодаря чему обеспечивается безопасность работы. В результате
этого внешние устройства и прочие системы хранения данных могут быть
разделены относительно различных Inferno-систем.
OS-9 [9]
OS-9 – такая же многозадачная и многопользовательская ОС РВ. Она
создана в фирме Microware System Corporation (USA).
Совместными усилиями компании Microware и компании Motorola создали ОС РВ для специализированных микропроцессоров серии 6809. Эта
версия OS-9/6809 была способна адресовать 64 килобайта оперативной

3. Классификация ОС РВ
36
памяти. Вторая версия операционной системы уже использовала современные и прогрессивные на то время инструментальные средства динамической трансляции адресов. С точки зрения использования памяти, ОС была
способна адресовать 2 мегабайт памяти. Она стала применяться в ряде компьютерных систем типа Tandy Color Computer III.
В 1982 г. команда Microware, независимо от Motorila, портировала
OS-9 для семейства микропроцессоров 68 000, создав систему OS-9/680X0.
Она предназначалась уже для 16-и и 32 разрядных микропроцессоров. Код
системы лишь на 20 % составлялся на языке высокого уровня, а остальная
часть ОС была написана на языке ассемблера для минимизации требуемых
ресурсов. За пять лет с момента появления в 1987 г. OS-9/680X0 стала признанным промышленным стандартом де-факто для операционных систем
реального времени (и абсолютным лидером по применимости в промышленных приложениях на базе технологии VME).
Семейство процессоров OS-9/68K наиболее полно представлено микросхемами с 68 килобайтами памяти. При этом имя представителя младшего семейства звучит как MC68000, а старшего – как MC68060 (32-битного суперскалярного). В настоящее время наибольшую популярность получили версии 2.4/2.5, а также 3.0.1.
Все части, системы, составляющие технологию OS-9, имеют единую
структуру, называемую модулями, и можно выбирать и использовать
только необходимые функции, что делает ее очень гибкой структурой. В результате ОС-9 имеет следующие особенности.
Портативность
Необходимо лишь создать новые модули, необходимые для портирования. Отдельные модули могут быть легко созданы.
Легко обновить
Можно заменить только целевой модуль. Перезагрузка необязательна.
Легко сделать внешнюю программу
резидентной в основной памяти
Модули в основной памяти (ROM / RAM) управляются в структуре,
аналогичной каталогу файловой системы, называемому каталогом модуля.
Заранее загрузив программу во внешнюю память, можно сделать ее резидентной в основной памяти так же, как ROM-модуль.

3.2. Специализированные ОС РВ
37
Сильный в безопасности
Каждый модуль имеет CRC и проверяется при регистрации модуля в
каталоге модулей, поэтому в память могут быть загружены только легитимные модули.
Легко отлаживать
Поскольку сама ОС структурирована, проблемы легко изолировать.
Редакция/издание
Модули имеют номер версии и номер редакции, и, если в памяти имеется несколько модулей с одинаковым именем, допустимым является
только последний модуль. При обновлении системы с ПЗУ вы можете просто добавить ПЗУ нового модуля (или просто загрузить новый модуль на
внешнее хранилище в ОЗУ), не удаляя старый модуль.
Возможна ROMизация
Поскольку все модули являются перемещаемыми (и реентерабельными), то что запрограммировано без знания адреса, характерного для ПЗУ,
может быть преобразовано в ПЗУ как есть. Все модули (программы) могут
выполняться прямо на ПЗУ в основной памяти.
Переменные и области стека, используемые программой, динамически
выделяются ядром во время выполнения.
Повторный вход
Реентерабельная программа является обязательным требованием для
OS-9, а нереентерабельный код недоступен. Программа не должна перезаписывать себя во время работы (самоизменяющийся код не рентабелен).
Высокая эффективность
использования памяти
Поскольку программа является реентерабельной, область кода может
совместно использоваться каждым процессом, а эффективность использования памяти повышается. Кроме того, поскольку сама ОС представляет собой набор модулей, необходимо загружать только необходимые модули.
Хотя она очень универсальна, она имеет накладные расходы по сравнению с монолитной ОС, разработанной исключительно для нее. Например,
поскольку каждый драйвер устройства имеет свою собственную область
глобальных переменных, называемую статической памятью, то при использовании функций ядра в принципе необходимо использовать системные вызовы с программными прерываниями вместо простых вызовов функций.

3. Классификация ОС РВ
38
Недостатки
1. В отличие от UNIX, здесь нет функции виртуального хранилища,
поэтому нельзя использовать пространство для хранения, превышающее
установленную емкость основного хранилища (хотя виртуальное хранилище не может гарантировать производительность в реальном времени, что
делает его бессмысленным в качестве RTOS).
2. Пользователи, привыкшие к таким операционным системам, как
MS-DOS, понимают, что приложения могут иметь прямой доступ к аппара-
туре, системе прерываний, памяти и элементам операционной системы. Однако этот механизм уже не работает для других ОС – для доступа к аппаратуре уже становится необходимым наличие специальных драйверов
устройств, утилиты для управления разделяемой памятью и контроля правами доступа.
Integrity [10]
Данная ОС РВ с предсказуемым временем отклика может быть исполь-
зована для построения масштабируемых и компактных систем. В основе
ОС РВ находится микроядро velOSity, что позволяет использовать её в
устройствах, обладающих ограниченными аппаратными ресурсами (бытовая электроника). Преимуществом является то, что используется защита
ОЗУ на уровне аппаратуры и за счёт этого обеспечивается поддержка множества изолированных и защищенных виртуальных адресных пространств,
а ядро оперирует в собственном защищенном адресном пространстве.
Благодаря объектно-ориентированному подходу, который использован при проектировании Integrity, обеспечивается контроль доступа, а
также проверка безопасности и контроль целостности данных. Это утверждение также является верным для механизмов взаимодействия между процессами и важными компонентами системы.
С целью управления памятью применяется соответствующий механизм виртуальной памяти. За счёт того, что ядро не блокирует прерывания
критических структур данных и избегает длинных обработок прерываний,
гарантируется минимизация времени обработки каждого прерывания.
INtime [11]
ОС РВ реализована для процессоров архитектуры x86 и комбинирует
возможности операционных систем с жестким контролем процессов реального времени с элементами классической ОС Windows. Доступно

3.2. Специализированные ОС РВ
39
применение виртуальных машин для раздельного запуска приложений «реального» и «нереального» времени, причем в рамках одного вычислительного устройства (см. рис. 13).
Рис. 13. Применение ОС РВ INtime
В основе архитектуры INtime находятся процессоры Intel, поддержи-
вающие механизмы аппаратного обслуживания задач. Благодаря этому отдельные ядра системы могут выполняться на одной аппаратной платформе,
что позволяет обеспечить защиту среды выполнения прямо в памяти ОС
Windows. При этом разработчики системы гарантируют, что каждому вычислительному процессу будет соответствовать свое собственное адресное
пространство.
INtime демонстрирует предсказуемое поведение, однако из-за сложной
архитектуры высокая производительность не может быть достигнута.
Вследствие наличия сегментационных ограничений данная ОС РВ может
быть использована не во всех системах, претендующих на определение «систем реального времени».
ITRON [12]
Является широко распространенной в Японии ОС, используемой для
встроенных систем, роботов, аппаратов связи, а также хостов различных
устройств. В основе системы находится специализированное ядро Nucleus
μiPLUS, имеющее характеристики «реального времени». При этом это ядро
может быть использовано на ряде процессоров.
Создание ОС ITRON было обусловлено необходимостью введения
стандартов в широком спектре несовместимых между собой ОС для встроенных систем. Данная ОС обеспечивает ядро реального времени различными спецификациями, посредством которых оно может выполняться на
различных устройствах.

3. Классификация ОС РВ
40
Главный недостаток данной ОС связан с тем, что возможность ее
настройки или модификации основаны на концепции «слабой стандартизации». Слабая стандартизация позволяет, в некотором плане, «подгонять»
спецификации ядер под собственные требования. Подобная стандартизация
является препятствием, возникающим в процессе разработки унифицированной среды ОС ITRON.
LynxOS [13]
LynxOS используется во встроенных системах жесткого реального
времени. Наибольшее распространение ОС получила при изготовлении
комплектного и телекоммуникационного оборудования, в частности в бортовых системах военного применения. ОС сертифицирована по стандарту
POSIX и поддерживает многозадачные приложения. Применяется в приложениях, которым свойственны высокие требования по времени реакции и
надежности. Приложения, реализованные в среде ОС Lynx, способны функционировать без перекомпилирования. Данное свойство ОС РВ является
уникальным и удобным в использовании.
Компоненты LynxOS рассчитаны на абсолютный детерминизм (жесткая производительность в реальном времени), это означает, что они реагируют в течение известного периода времени. Предсказуемое время отклика
гарантируется даже при интенсивном вводе-выводе благодаря уникальной
модели многопоточности ядра, которая позволяет чрезвычайно коротким и
быстрым программам обработки прерываний.
Достоинства LynxOS:
− высокая точность и предсказуемость временных характеристик;
− минимизация задержки между событиями и откликом системы;
− поддержка многозадачности;
− эффективное управление памятью;
− поддержка различных аппаратных платформ;
− высокая степень надежности и безопасности;
− масштабируемость;
− гибкость;
− низкое энергопотребление.
Недостатки LynxOS:
− высокая стоимость;
− ограниченная поддержка оборудования;
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
