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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
3.2. Специализированные ОС РВ
51
3. Переносимость.
4. Низкие требования к аппаратным ресурсам.
Модульность системы (см. рис. 17) позволяет включать только необ­ходимые элементы в установочный образ, что очень важно для систем с ограниченными ресурсами.
Рис. 17. Структура системы с модульной архитектурой
Конфигурируемость системы позволяет задавать параметры для каж­дой подсистемы в отдельности и выполнять тонкую настройку для различ­ных задач.
Переносимость позволяет менять аппаратную платформу, тип микро­процессора или микроконтроллера, а также состав периферийных устройств в зависимости от требований.
Не следует забывать, что основной сферой применения ОС Embox яв­ляются встраиваемые системы и элементы «умной» электроники. Здесь на практике более часто применяются архитектуры микропроцессоров, отлич­ные от x86. Самой популярной на сегодняшний момент является архитек­тура ARM. Так что перенос ОС на совместимый микропроцессор или мик­роконтроллер – достаточно простая задача. Кроме того, мы можем добав­лять новые платформы так же легко потому, что ядро системы и все основ­ное программное обеспечение написано на языке Си, так же, как и средства разработки, отладки и сопровождения программного обеспечения.
ОС РВ Embox дает возможность гибко конфигурировать собственное ядро, адаптируя системы к конкретно выполняемой задаче. Этот процесс может быть настолько удачным, что могут быть даже сформированы от­дельные стратегии сборки. В некоторых случаях, например, мы можем со­здавать образы ядра с необходимым минимумом интерфейсов.
3. Классификация ОС РВ
52
ChorusOS [20]
Является операционной системой реального времени с микроядерной архитектурой (см. рис. 18). Она реализует процедуру распределенной обра­ботки данных, а также реализует общие инструменты, используемые для расширения интерфейсов стандартной ОС. Разработка была начата в 1979 г. Французской компанией INRIA. В 1980-е гг. Chorus оставался одним из двух старейших ядер ОС РВ, наряду с микроядром Mach. Со временем ос­новной акцент развития ОС сместился от распределенных ОСРВ к встраи­ваемым системам.
Рис. 18. Архитектура ChorusOS
3.2. Специализированные ОС РВ
53
Микроядро функционирует в режиме реального времени. Модульная архитектура поддерживает масштабируемость и позволяет динамически конфигурировать систему и приложения. Система широко применяется в телекоммуникационной индустрии. Архитектура ОС ChorusOS является не только микроядерной, но и слоистой. Многослойность ChorusOS основана на компонентах (component-based).
Микроядерные системы типа ChorusOS функционируют в реальном времени, а их модульная структура поддерживает масштабируемость. Эти два фактора позволяют нам динамически конфигурировать состав и струк­туру системы и множество работающих приложений.
Следует отметить, что ChorusOS сейчас широко применяется в теле­коммуникационном оборудовании.
Рис. 19. «Слои» ChorusOS
Микроядро ChorusOS (см. рис. 19) содержит весь необходимый для ра­боты ОС набор компонентов:
1. интерфейс микроядра и так называемый актор (единицу загрузки
приложения) KERN;
2. вспомогательную библиотеку ядра и заголовочные файлы;
3. менеджер приватных данных;
4. менеджер постоянной памяти;
5. система вызовов ядра и инструменты поддержки реального
времени.
3. Классификация ОС РВ
54
RTC [21]
Система RTC (Real Time Craft) выпускается фирмой GSI-TECSI (Paris,
France). Основные характеристики:
− тип: host-target (RTC) и self-hosted (RTC/PC);
− архитектура: монолитная;
− стандарт: SCEPTRE (RTC) и собственный (RTC/PC);
− многозадачность: многопроцессностъ и многозадачность;
− многопроцессорность: да (RTC); нет (RTC/PC);
− планирование: приоритетное, FIFO; preemptive ядро;
− ОС разработки (host): UNIX/Windows;
− линии связи host-target: Ethernet;
− минимальный размер: 1,5 Kb (RTC); 4 Kb (RTC/PC);
− средства синхронизации и взаимодействия: SCEPTRE (семафоры,
сигналы, почтовые ящики);
− средства разработки: компилятор С, отладчик Watcom TRC.
JavaOS [22]
Представляет собой эффективную ОС, разработанную для глубокой поддержки среды исполнения Java на сетевых устройствах. Виртуальная машина Java выполняется на микропроцессорах без непосредственного участия резидентной ОС. Архитектура JavaOS отражена на рис. 20.
JavaOS обеспечивает экономию ресурсов за счет сокращения затрат на администрирование. JavaOS обладает БД, которая состоит из Java-объектов с уникальными именами и которая обеспечивает динамическую реконфи­гурацию. JavaOS обладает мобильностью и имеет многослойную архитек­туру. Каждый слой операционной системы может быть обновлен незави­симо от всех остальных.
Как видно из рис. 20, JavaOS фактически состоит из микроядра и неко­торой «оболочки», в которую входят такие инструменты, как: диспетчер оперативной памяти, комплект драйверов устройств, виртуальная машина Java, система компиляции на лету, подсистемы Graphics и Windowing для отрисовки пользовательского интерфейса, комплект классов и средств под­держки сетевых интерфейсов и коммуникационных протоколов, а также интерфейсов прикладного программирования (API) Java.
Платформы, на которых работало ядро JavaOS – ARM, PowerPC, SPARC, StrongARM, IA-32. В отличие от большинства практических
3.2. Специализированные ОС РВ
55
операционных систем, которые написаны на Си, полностью написана на Java, от ядра до графической и оконной системы, реализующей AWT API; в том числе все драйверы устройств создавались на Java и выполнялись в JVM. Приложения для JavaOS разрабатывались не только для телефонов, но и для телевизионных приставок, сетевых устройств, банкоматов. Также система поставлялась с JavaStation. В конце 1990-х гг. JavaSoft предоста­вила лицензии более, чем 25 производителям, включая Oracle, Acer, Xerox, Toshiba и Nokia.
Рис. 20. Многослойная архитектура JavaOS
VRTX [23]
Операционная система реального времени VRTX была выпущена в США в компании Ready Systems. Это, фактически, первая система, которая была сертифицирована соответствующими органами и может быть эффек­тивно внедрена для использования в проектах, элементы которых являются критическими для жизни и здоровья людей. Например, некоторые версии VRTX использовались в самолетах «Боинг».
В качестве основных характеристик VRTX можно назвать следующие:
− монолитная архитектура;
− проприетарный (собственный, коммерческий) стандарт распро-
странения;
3. Классификация ОС РВ
56
− поддерживаемые типы многозадачности: многопроцессностъ и
многопоточность;
− поддержка многопроцессорности отсутствует;
− доступно 255 уровней приоритетов;
− приоритетное планирование задач;
− главные процессы операционной системы (хосты): UNIX/Windows;
− поддерживаемые типа микропроцессоров (таргеты): Motorola стар-
ших семейств, Intel 80x86, PowerPC;
− интерфейсы связи между хостами и таргетами построены по прин-
ципам последовательного канала, сети Ethernet и некоторых проприетар­ных технологий типа шины VME;
− минимальный размер системы определяется доступными моду-
лями дистрибутива, которые входят в сборку (на самом деле имеются раз­личные варианты ядер, ориентированные на системы разного масштаба; например, одна из модификаций, требующая до 8 Кb ПЗУ и 1 Кb ОЗУ, пред­назначена для сотовых телефонов и других подобных устройств);
− средства взаимодействия между процессами и их синхронизации
стандартны для современных ОС, например семафоры, очереди, сигна- лы, и др.
RTX [24]
RTX, фактически, является расширением для известной ОС Windows
серии NT. Она применяется на практике с целью разработки программных продуктов для управления системами с высокой скоростью и с детермини­рованным временем реакции.
Подсистема RTX оказывается встроенной в обычное ядро Win­dows NT. Для реализации основных функций применяется WIN API 32. Ос­новные процессы ядра RTX не являются защищенными друг от друга. Они выполняются как драйвера устройства. Преимущество такой реализации состоит в переключении контекста с высокой скоростью, а недостаток – в небезопасности со стороны конфиденциальности.
RTX обладает следующей функциональностью:
1. создание процессов реального времени, управление которых про-
исходит при помощи соответствующего собственного планировщика;
2. взаимодействие между процессами (в том числе и реального вре-
мени, в совокупности со стандартными процессами Win32);
3.2. Специализированные ОС РВ
57
3. прямой доступ к ОЗУ и ПЗУ внешних устройств;
4. взаимодействие с таймерами и счетчиками системы;
5. контроль работоспособности и времени реакции системы;
6. любое приложение RTX может реализовывать на практике стандарт-
ные и специфические функции Win32 в рамках API реального времени.
TinyOS [25]
Возникновение уникальной концепции беспроводной связи Motes стало одной из причин разработки ОС TinyOS. Motes представляет собой практическую реализацию гипотезы «smart-dust», что означает «распылен­ную разумность». Она применяется для отслеживания передвижений и ме­стоположения потенциального или условного противника в специализиро­ванных оборонных системах. За счёт использования TinyOS достигается энергетическая эффективность и высокий уровень абстракции. Также TinyOS характеризуется довольно развитой компонентной моделью, благо­даря которой происходит реализация механизмов параллельного выполне­ния задач в условиях крайне ограниченных ресурсов.
Архитектура TinyOS объединяет планировщик задач и компонентный граф. Интерфейс компонента TinyOS состоит из двух множеств. «Верхнее» множество и «нижнее» множество. Верхнее множество для своего функци­онирования требует нижнего множества. Каждое из этих множеств содер­жит описания команд и событий. В вырожденном виде это стандартные синхронные и асинхронные процессы.
Система состоит из следующих взаимосвязанных компонент: наборов программных команд и системных обработчиков событий. Обработчики инкапсулируют фреймы фиксированного размера и множества простых по­токов. Потоки и обработчики событий выполняются во фрейме и оказы­вают воздействие на его состояние. При этом отдельный компонент опре­деляет команды, которые он использует, и события, о которых он сигнали­зирует системе «выше» по уровню. Такие декларации применяются в про­цессе конфигурирования системы. Каждый процесс создает свои слои ком­понентов. Каждый слой компонентов взаимодействует с компонентами бо­лее высокого уровня для формирования нисходящего потока команд. Каж­дый нижележащий уровень обращается к своему собственному «более вы­сокому» уровню посредством сигналов или событий.
3. Классификация ОС РВ
58
Windows CE [26]
Представляет собой компонентную, многозадачную, многопоточную,
многоплатформенную ОС с поддержкой реального времени. Разработчикам доступны около 600 компонентов, на основе которых могут быть разрабо­таны собственные образы ОС с уникальной функциональностью.
Данный тип операционной системы может работать на устройствах с
минимальным объёмом памяти. Например, базовое ядро Windows CE мо­жет работать в системе с 32 КБ оперативной памяти, а для работы графиче­ского интерфейса может понадобиться от 5 МБ.
Приложения Windows CE состоят в каждый момент времени из одного базового процесса и одного или нескольких порожденных потоков. Мы мо­жем понимать процесс Windows CE как единичный экземпляр выполняю­щейся программы. При помощи системы разделяемых и управляемых про­цессов, пользователь, фактически, имеет возможность работать в несколь­ких приложениях одновременно – так обеспечивается, как минимум, кажу­щаяся многозадачность для пользователя. На самом деле, как ОС с действи­тельно вытесняющей многозадачностью, Windows CE способно поддержи­вать несколько одновременно выполняющихся процессов.
Данный тип операционной системы в реальности поддерживает вытес­няющую мультизадачность. Она делает это за счет одновременного выпол­нения нескольких потоков одним базовым процессом. Если процесс имеет более одного выполняющегося потока, то ОС переключается с высокой ско­ростью с одного потока на другой, создавая тем самым эффект того, что потоки выполняются параллельно.
Базовые службы ОС обеспечивают выполнение задач различных уров­ней: от низкоуровневых задач управления процессами, до высокоуровне­вых задач управления потоками и памятью.
Базовые драйверы устройств являются частью базовых служб ОС Windows CE (см. рис. 21).
Базовые службы ОС Windows CE дают приложениям возможность до­ступа к ресурсам ЭВМ и к таким средствам, как: память, файловые системы, процессы, и потоки. Кроме того, такие службы могут быть использованы с целью управления и мониторинга ресурсов, принимающих участие в про­цессе функционирования приложения.
3.3. Отечественные ОС РВ
59
Рис. 21. Архитектура Windows CE
Windows CE осуществляет поддержку двух общепринятых файловых
систем:
1. управляемые драйверами файловые системы;
2. зарегистрированные файловые системы.
3.3. Отечественные ОС РВ
В Российской Федерации практически отсутствуют отечественные коммерчески доступные или свободно распространяемые операционные системы, предназначенные для применения во встраиваемых вычислитель­ных системах.
Имеющиеся на рынке решения, как правило, являются проприетар­ными продуктами компаний, используемыми либо в рамках одного пред­приятия, либо в рамках одной архитектуры.
Решения, изначально создаваемые для широкого применения, в основ­ном, находятся в состоянии разработки в рамках НИР.
Багет [27]
ОС РВ Багет разработана в НИИСИ РАН. Основное назначение – при­менение в качестве основной операционной системы для ЭВМ серии
3. Классификация ОС РВ
60
«Багет». Основная аппаратная базы – микропроцессоры MIPS архитектуры R3081. Также разработчики указывают на возможность применения с про-
цессорами и системами КОМДИВ32, RM7000, КОМДИВ64, КОМДИВ128, а также Intel.
Используется с целью разработки ПО для систем (программно-аппа-
ратных комплексов), которые функционируют в реальном времени.
При разработке данной ОС РВ разработчики руководствовались сле-
дующими основополагающими принципами:
1. система соответствует современным международным стандартам;
2. ОС имеет характеристики мобильности;
3. система имет возможность масштабироваться;
4. система использует микроядра;
5. система использует объектно-ориентированный подход;
6. система подразумевает кросс-разработку программного обе-
спечения.
Осуществляется поддержка следующих аппаратных платформ:
1. в том числе сетевые устройства сети Ethernet с учетом протоколов
NFS, FTP и Telnet. Для Intel-версии ОС сущствует поддержка ISA- и PCI-карт фирмы Realtek;
2. ОС поддерживает накопительные устройства – классические гиб-
кие магнитные диски (флоппи-дисководы) и жёсткие диски.
Соответствие стандартам:
1. POSIX 1003.1, стандарт на мобильные операционные системы
(программный интерфейс);
2. стандарт С, описывающий язык и библиотеки языка Си;
3. графическая подсистема X Window System (клиент-сервер).
Для того чтобы выполнить разработку ПО под данную ОС, необхо-
димо использовать две ЭВМ:
1. программы для ОС РВ Багет разрабатываются на инструменталь-
ной ЭВМ с UNIX-подобной ОС;
2. целевая ЭВМ, на которой установлена ОС РВ Багет, и для которой
разрабатывается ПО.
За счёт использования специализированных средств разработки име-
ется возможность транслировать программу на языке Си и языке Ассемблер. Кроме того, можно отлаживать программу, загруженную в целевую ма­шину, удаленно с другой ЭВМ.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]