Многие относятся к определению «российская операционная система» скептически, потому что зачастую называть их так не совсем верно: кто-то берет за основу Linux или что-то еще, в определенной степени дорабатывает — получается такой якобы отечественный продукт. В отличие от подобных систем, ОСРВ МАКС — полностью «своя»: команда разработчиков «АстроСофт» создала ее с нуля, без использования каких-либо сторонних решений и компонентов. Проект стартовал в начале 2015 году под кодовым названием ОСРВ МАКС (Операционная Система Реального Времени для МультиАгентных Когерентных Систем), которое спустя два года и позаимствовал уже готовый продукт.
В широких IT-кругах операционные системы реального времени — не такая привычная тема, как традиционные операционные системы. Отчасти это связано со сферами их применения. Традиционные ОС главным образом используются в системах типа «человек-машина», знакомых всем и каждому в лице как минимум персонального компьютера. Они ориентированы на оптимальное распределение ресурсов компьютера между пользователями и выполняемыми процессами. Поскольку ОСРВ управляет системами в автоматическом режиме, без контроля со стороны человека, данная задача становится второстепенной. На первый план выходит время реагирования аппаратного оборудования на внешние события. Отсюда основное направление реализации ОСРВ — приборы, в которых необходима быстрая реакция на события и способность обеспечить выполнение требуемых функций в определенный промежуток времени.
Отличие ОС от ОСРВ применительно к концепции Интернета Вещей
Еще одно отличие состоит в том, что традиционная ОС для обычного среднестатистического пользователя (т.е. не разработчика) — это готовый набор приложений. ОСРВ же — это инструмент создания какого-то своего аппаратно-программного комплекса реального времени. Поэтому традиционно пользователи ОСРВ — это разработчики таких комплексов, которые знают, какие события могут произойти и каковы критические сроки обработки каждого из этих событий. При создании системы необходимо предсказать (конечно, путем вычислений) ее время реакции на внешние события. При этом система должна успевать реагировать на одновременно происходящие события. Если два или несколько внешних событий происходят одновременно, ей нужно успеть среагировать на каждое из них в течение интервалов времени, критических для этих событий.
Как же у команды «АстроСофт» возникла идея создать собственную ОСРВ? Ребята вдохновились ситуацией на мировом рынке ОСРВ. Как можно увидеть из графика ниже, 41% мирового рынка делят два лидера: FreeRTOS и Micrium. При этом немало и конкурентных решений, на которые приходится доля рынка от 2% и более. Но российских ОСРВ среди них нет.
Игроки на рынке операционных систем реального времени по долям
Но есть ли смысл создавать то, что уже есть? Сыграть на том, что это полностью российская ОСРВ для российского рынка? Слишком однообразно. Повторяться в «АстроСофте» не хотели. Хорошим стимулом для уникальности стал и тот факт, что в своем продукте можно было реализовать то, что в других операционных системах сделать уже может быть слишком сложно или даже поздно в связи с их долгим существованием на рынке и устоявшейся архитектурой решений.
Концепция распределенной общей памяти
В итоге ОСРВ МАКС не только реализует весь классический функционал операционных систем данного типа, но и обладает рядом уникальных возможностей. Например, данная операционная система ориентируется не только на обеспечение работы одного устройства (микропроцессора, микроконтроллера), но и на взаимодействие устройств (отсюда и «мультиагентность» в названии ОС). Это позволяет упростить создание необходимых во встраиваемых системах механизмов. В основе этих возможностей лежит концепция распределенной общей памяти. Несколько независимых устройств могут обмениваться данными и синхронизировать их так, будто все они имеют физический доступ к общей памяти. Это очень похоже на то, как мы сидим vkontakte с разных устройств: смартфон, ноутбук, планшет – не важно, картина для нас одна и та же.
Механизм работы с распределенной общей памятью позволяет группе из нескольких устройств реализовать новый подход к выполнению задач. Ключевым понятием здесь становится контекст: набор параметров, доступный из приложений на разных устройствах. Представьте группу роботов, задача которых – убрать большое офисное помещение. Использование общего контекста позволит им совместно составить карту убираемой площади, распределять между собой рабочие зоны, обмениваться информацией, контролировать друг друга. Мы получим более качественную и быструю уборку, чем в случае использования нескольких независимых роботов. Не будет простоев, дублирования уборки рабочей зоны и неубранных, пропущенных зон. Также группа роботов, объединенных общим контекстом, сможет в отличие от их отдельных, независимых собратьев оперативно действовать в зависимости от таких факторов, как, например, уровень загрязненности конкретной рабочей зоны, ввод дополнительного робота или выход из строя одного из работающих, и перераспределять задачи внутри группы.
При разработке операционной системы большое значение имели вопросы безопасности. Так, ядро системы уполномочили задействовать доступные на целевом устройстве аппаратные средства защиты.
Ключевые характеристики системы МАКС и поддерживаемые ей решения
В отличие от западных компаний, которым пока неинтересно поддерживать российское оборудование, «АстроСофт», помимо внедрения популярного иностранного аппаратного обеспечения, активно работает и с российскими производителями. В частности, с АО «ПКК «Миландр», одним из ведущих российских разработчиков интегральных микросхем различного функционального назначения (микропроцессоры, микроконтроллеры, схемы памяти и пр.). В сотрудничестве с «Миландром» разработчики работают над созданием комплексного продукта с единой операционной средой для конечного потребителя. Также команда ОСРВ МАКС ведет активные исследования в области Mesh и IoT (Интернета вещей), которые расширяют возможности системы в таких направлениях, как отказоустойчивое сетевое взаимодействие, самоорганизующаяся структура сети, автономность устройств (низкое энергопотребление, беспроводная связь) и др.
Сферы применения ОСРВ
ОСРВ МАКС — универсальная платформа, позволяющая значительно ускорить разработку встраиваемого программного обеспечения при создании новых устройств на основе микроконтроллеров, в том числе устройств Интернета вещей, и встроенных систем. Направлений ее применения много. Это обусловлено ростом популярности микроконтроллеров при создании различных электронных устройств. Наиболее востребована ОСРВ МАКС в системах промышленной автоматики и управлении технологическими процессами, радио- и робототехнике, системах «умного» дома и «умного» города, потребительской электронике.
ОСРВ МАКС – это иллюстративный пример того, что «желанье – это множество возможностей, а нежеланье – множество причин», и что в России можно и нужно создавать качественные программные решения, сопоставимые с зарубежными аналогами.
Автор: Екатерина Медведева, «АстроСофт»