Компания Intel представила новый проект “The Intel Safety Critical Project for Linux OS”, в рамках которого началась работа над высоконадёжным дистрибутивом Linux, пригодным для применения в областях, критичных к возникновению сбоев. В настоящее время проект находится на стадии планирования и подготовки инфраструктуры. Развиваемые в рамках проекта наработки будут публиковаться под свободными лицензиями. Дистрибутив сможет применяться там, где требуется гарантированное обеспечение надёжности и любой системный сбой может иметь фатальные последствия. Например, в качестве областей применения называется оснащения производственных систем, роботов, дронов и автомобилей.

Некоторые производители промышленных систем озабочены созданием новой узкоспециализированной ОС, но Intel не согласен с подобным подходом и считает, что для подобных задач подойдёт Linux-дистрибутив, модернизированный для гарантированного обеспечения надёжности. Решение Intel позволит использовать единую физическую инфраструктуру как для выполнения критичных задач, так и обычных процессов, к которым не предъявляются особые требования к надёжности. Система изначально будет рассчитана на использование на многоядерных системах без ущерба надёжности. Кроме работы напрямую поверх оборудования (bare metal) будет предоставлена возможность использования виртуализации для раздельного запуска гостевых систем с критичными приложениями.

В качестве основы предлагается использовать наработки дистрибутива Clear Linux, примечательного обеспечением строгой изоляции приложений при помощи контейнеров, разделённых с использованием полноценной виртуализации. Базовая часть дистрибутива содержит только минимальный набор инструментов для запуска контейнеров. Система работает в режиме stateless, т.е. не сохраняет своё состояние и после установки не содержит каких-либо настроек в директории /etc, а генерирует настройки на лету на основе указанных при запуске шаблонов.

Из особенностей Clear Linux, делающих его интересным решением для высоконадёжных систем упоминается:

  • Бинарная модель поставки дистрибутива;
  • Агрегирование пакетов в наборы (bundle), образующие готовую функциональность, независимо от того, сколько программных компонентов их образуют. Bundle и образ системного окружения формируются на основе репозитория RPM-пакетов, но поставляются без разделения на пакеты. Внутри контейнеров выполняется специально оптимизированная копия Clear Linux, содержащая необходимые для запуска целевого приложения наборы (bundle);
  • Эффективная система установки обновлений, встроенная в базовую часть дистрибутива и обеспечивающая ускоренную доставку обновлений с исправлением критических проблем и уязвимостей. Обновление в Clear Linux включает только непосредственно изменившиеся данные, поэтому типовые исправления уязвимостей и ошибок занимают всего несколько килобайт и устанавливаются почти мгновенно;
  • Единая система версионирования – версия дистрибутива представляет состояние и версии всех входящих в него компонентов, что удобно для создания воспроизводимых конфигураций и отслеживания изменений компонентов дистрибутива на файловом уровне. Изменение/обновлений любой части системы всегда приводит к изменению общей версии всего дистрибутива (если в обычных дистрибутивах лишь увеличивается номер версии определённого пакета, то в Clear Linux увеличивается версия самого дистрибутива);
  • Автоматизированный процесс разработки и подготовки релизов, снижающий издержки на разработку, развёртывание, поддержку и сопровождение ОС.

Для реализации сценария работы с использованием виртуализации (запуск критичных сервисов в отдельных гостевых системах) планируется задействовать легковесный гипервизор для встраиваемых устройств ACRN, в своё время созданный в Intel, но в настоящее время развиваемый в рамках совместного проекта под эгидой организации Linux Foundation.
ACRN изначально рассчитан на минимизацию накладных расходов, готовность для задач, работающих в режиме реального времени, и обеспечение высокой надёжности, пригодной для использования в критически важных системах.

Вариант “Bare metal”:

Вариант на базе виртуализации: