Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы реального времени и технологии разработки кроссплатформенного программного обеспечения. Ч.4. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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:
− высокая стоимость;
− ограниченная поддержка оборудования;
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]