научная статья по теме OPERATING SYSTEMS OF THE BAGUETTE FAMILY (LIKENESS, DIFFERENCES AND PERSPECTIVES) Математика

Текст научной статьи на тему «OPERATING SYSTEMS OF THE BAGUETTE FAMILY (LIKENESS, DIFFERENCES AND PERSPECTIVES)»

ПРОГРАММИРОВАНИЕ, 2014, No 5, с. 68-76

- ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

•V. 'К ••».

ОПЕРАЦИОННЫЕ СИСТЕМЫ СЕМЕЙСТВА БАГЕТ (СХОДСТВО, ОТЛИЧИЯ И ПЕРСПЕКТИВЫ)

© 2014 г. А.Н. Годунов, В.А. Солдатов

Научно-исследовательский институт системных исследований РАН 117218 Москва, Нахимовский просп., 36, к. 1 E-mail: {nkag, nkvalera}@niisi.ras.ru Поступила в редакцию 10.08.2013

В работе рассматриваются основные принципы построения отечественных операционных систем реального времени ОСРВ Багет 2.0 и ОСРВ Багет 3.0, отмечается, в чём их сходство и чем они отличаются друг от друга, говорится о перспективах дальнейшего развития.

1. ВВЕДЕНИЕ

Разработка ОСРВ Багет 2.0 [1] была начата в 1998 году. Выпуск 1-го издания состоялся в 2002 году. В 2004, 2006, 2007 и 2011 годах было последовательно выпущено ещё 4 издания ОСРВ Багет 2.0.

За время своего существования ОСРВ Багет 2.0 получил широкое распространение среди отечественных разработчиков. Более 100 организаций нашей страны приобрели ОСРВ Багет 2.0 за это время. Контакты с пользователями системы показали, что она хорошо зарекомендовала себя при разработке встроенных систем управления.

В 2004 году была начата разработка ОСРВ Багет 3.0 [2], которая является дальнейшим развитием ОСРВ Багет 2.0. Выпуск 1-го издания этой ОС состоялся в 2008 году. Далее в 2011 и 2012 годах было выпущено ещё два издания.

Разработка обеих ОС базируются на следующих общих принципах:

• использование стандартов; гностики и обработки ошибок; подхода;

средств конфигурирования);

ки пользовательских приложений;

жения для создания графических приложений, баз данных, картографических систем.

В обеих ОСРВ используется технология кросс-разработки [3], при которой на инструментальной ЭВМ с ОС общего назначения, хранятся исходные тексты, библиотеки ОС, осуществляется компиляция и сборка загрузочного образа, который выполняется на целевом модуле под управлением ОСРВ. Для отладки в терминах исходного языка применяется удалённый отладчик [4].

При разработке и дальнейшем сопровождении уделяется большое внимание тестированию: помимо собственных тестов разработчиков, обе ОС прошли тестирование на соответствие заявленным стандартам с помощью системы ИшТЕБК, разработанной в Институте системного программирования РАН [5, 6].

Разработка ОСРВ Багет 3.0 обусловлена следующими причинами. Ранее во встроенных системах широкое распространение получила изолированная архитектура, в которой один процессор управляет работой одного конечного устройства. Однако с появлением новых мощных

процессоров появилась возможность реализации систем, в которых на одном процессоре одновременно выполняется несколько подсистем управления, которые разделяют между собой вычислительные ресурсы. Чтобы достичь этого без понижения надёжности работы системы требуется, чтобы различные её подсистемы (части) были изолированы друг от друга и, как следствия этого, имелась бы возможность перезагрузки только отдельной части, а не целиком модуля. Для успешной реализации подобной архитектуры, помимо электронного оборудования, обладающего значительной вычислительной мощностью, необходима ОС, позволяющая с высокой степенью надёжности разделять вычислительные ресурсы между различными функциями управления.

В самолётостроении такой подход получил название интегрированной модульной авио-ники (НМЛ) [7]. Следует отметить, что пока отсутствует общий стандарт на аппаратуру и ПО, который определял бы все обязательные компоненты, используемые в НМЛ. но интерфейс прикладных программ (API) должен соответствовать спецификации ARINC 653 [8].

Первая версия этой спецификации, в которой описывается концепция изолированных разделов на основе универсального API, вышла в 1996 году. К настоящему времени основные производители ОСРВ, выпустили ОС, удовлетворяющие этой спецификации: VxWORKS АЕ653 (Wind River) [9], LynxOS-178 2.0 (Lvnux-Works, Inc.) [10], INTERGRITY-178B (Green Hills Software Inc.) [11].

ОСРВ Багет 3.0 разрабатывалась с учётом этих новых требований и этим определяются её основные отличия от ОСРВ Багет 2.0:

• поддержка спецификации ARINC 653;

расписанием; бок.

В настоящее время используются обе операционные системы:

• ОСРВ Багет 2.0 применяется в управляющих системах с изолированной архитектурой, обычно, на 32-х разрядных процессорах;

64-х процессорах, с достаточными вычислительными ресурсами, когда система, выполняемая на одном процессоре, управляет сразу несколькими конечными устройствами.

Так как каждая система ориентирована на свой тип аппаратуры и прикладной задачи, то в настоящее время поддерживается параллельное развитие обеих систем, при этом значительные части исходного текста являются общими для обеих систем.

2. ИСПОЛЬЗУЕМЫЕ СТАНДАРТЫ

При разработке обеих операционных систем использовались следующие международные

стандарты:

операционные системы (программный интерфейс);

ки языка С.

Как известно, в РОБ1Х для организации псевдопараллельной обработки используются два понятия - процессы и потоки управления. Процессы в РОБ1Х являются держателями ресурсов (память, таблица открытых файлов и др.) и работают в значительной степени независимо друг от друга. Одной из функций ОС является защита процессов от нежелательного воздействия друг на друга. В рамках процесса может выполняться один или несколько потоков управления. Потоки управления, выполняемые в рамках одного процесса, совместно используют его ресурсы.

В системе ОСРВ Багет 2.0 ресурсы системы используются всеми потоками, поэтому в этом ОС реализованы только потоки управления, но не процессы (с точки зрения РОБ1Х в системе имеется только один процесс). Такое решение позволяет как сократить необходимый для работы объём памяти, так и улучшить временные характеристики ОС, но зато страдает надёжность,

так как при таком подходе нет разграничения доступа к оперативной памяти. В случае сбоя приходится перегружать целиком модуль.

При разработке ОСРВ Багет 3.0 наряду со стандартом POSIX также использовалась спецификация ARINC 653.

Эта спецификация определяет интерфейс APEX (Application Executive) между ОС целевого модуля и прикладными программами. APEX предписывает пространственное и временное разделение ресурсов. Единицей планирования ресурсов является раздел (процесс, в терминологии ОСРВ Багет 3.0). Каждый раздел получает как временные ресурсы (процессорное время), так и пространственные (часть информационной ёмкости ОЗУ). В рамках раздела (ARINC-процесса) возможно организовать исполнение нескольких процессов (потоков, в терминологии ОСРВ Багет 3.0).

Стандарты POSIX и ARINC существенно отличаются друга от друга по составу функций, их именам, используемой терминологии. В ОСРВ Багет 3.0 в качестве основной была выбрана спецификация ARINC 653. Стандарт POSIX используется в той мере, в какой это допускается данной спецификацией.

Спецификация ARINC 653 предусматривает как пользовательские, так и системные процессы. Интерфейс пользовательских процессов должен соответствовать требованиям спецификации, а на интерфейс системных процессов в ARINC 653 не накладывается никаких ограничений. В ОСРВ Багет 3.0 для системных процессов используется интерфейс стандарта POSIX, что позволяет обеспечить совместимость с прикладными системами, которые были разработаны ранее для ОСРВ Багет 2.0. Таким образом, под управлением ОСРВ Багет 3.0 могут одновременно выполняться как ARINC-процессы (пользовательские разделы в терминологии ARINC 653), так и POSIX-процессы (системные разделы в терминологии ARINC 653).

В соответствии со стандартом POSIX в обеих системах реализованы функции, обеспечивающие поддержку потоков управления, сигналов, средств синхронизации (семафоров, мьютексов, условных переменных), очередей сообщений, часов и таймеров, сети, протоколирования событий. Кроме того, в соответствии со стандартом

РОБ1Х реализована библиотека математических функций, функций обработки символов и строк, распределения памяти, локализации и др.

В ОСРВ Багет 2.0 на целевом модуле выполняется только один процесс, потоки которого конкурируют между собой за общие ресурсы.

В ОСРВ Багет 3.0 все процессы, кроме главного системного процесса, работают пользовательском режиме процессора и используют виртуальную адресацию, что исключает доступ одних процессов к памяти других. Главный системный процесс (ядро), хотя и выполняется в привилегированном режиме работы процессора, но в основном также использует виртуальную адресацию, доступ по физическим адресам применяется крайне редко. Организация виртуальной адресации для доступа к памяти позволяет жёстко разграничить использование этого ресурса между различными процессами.

В ОСРВ Багет 3.0 реализованы все функции спецификации АШ1ЧС 653, отмеченные как обязательные, а также необязательные функции управления расписанием.

3. СРЕДСТВА ПЛАНИРОВАНИЯ

В ОСРВ Багет 2.0 планирование реализовано в соответствии с РОБГХ за следующим исключением: в этом ОС реализованы потоки управления, но не процессы. Как следствие, в ОСРВ Багет 2.0 не реализованы те части планировщика, которые относятся только к планированию процессов. Для планирования потоков можно использовать следующие стратегии: приоритетное планирование, приоритетное планирование с разделением времени, дополнительная стратегия планирования.

При приоритетном планировании из очереди всех готовых к выполнению потоков выбирается поток с наивысшим приоритетом, и выбранный поток владеет процессором до тех пор, пока не появится более приоритетный поток, или в потоке не будет вызвана функция передачи управления другому потоку, или поток перейдёт в состояние ожидания какого-либо ресурса.

Стратегия приоритетного планирования с разделением времени идентична предыдущей стратегии, но с дополнительным условием: если текущий поток управления занимает процессор в

течение определенного периода времени (кванта) или дольше, этот поток сначала извлекается из очереди, а затем вновь устанавливается в очередь. Смысл этой стратегии заключается в том, чтобы запретить монопольное использование процессора. Более точно, поток управления с этой стратег

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком