Сегодня мы хотели бы коснуться очень актуальной темы: «Операционные системы для SIL применений».

Стандарт ГОСТ IEC 61508-3-2018 разделяет программные средства, работающие в автономном и неавтономном режиме (режиме реального времени). К средствам, работающим в автономном режиме, можно отнести: управление версиями, редактор кода, компилятор, среду программирования. Автономные средства разделяются на классы (Т1, Т2, Т3) в зависимости от их влияния на функцию безопасности и могут быть как сертифицированными средствами, так и не иметь сертификата SIL.

В отличие от них, средства, работающие в неавтономном режиме, всегда влияют непосредственно на функцию безопасности и работают в режиме реального времени. К ним относятся: операционная система, прикладные программы, коммуникационный софт. Такие средства всегда должны соответствовать требованиям ГОСТ IEC 61508-3-2018 и должны либо быть сертифицированы отдельно, либо пройти сертификацию в рамках изделия, в которое они встроены. Основной проблемой являются операционные системы. Стандарт ГОСТ IEC 61508-3 указывает на необходимость применения операционной системы жесткого реального времени. Также есть множество ограничений, таких как ограниченное применение языка С и необходимость использования стандарта кодирования (например, MISRA-C). Все эти требования не позволяют использовать всеми привычные ОС для требований функциональной безопасности, например, LINUX и его производные.

Текущая ситуация осложняется тем, что с отечественного рынка ушли производители безопасных операционных систем, имеющих сертификаты SIL, например, QNX Software Systems.

Как же быть изготовителям, что делать и какие операционные системы использовать?

Для простых устройств (например, датчики) есть множество решений, например, SAFERTOS, Keil RTX, Arm RTX и другие ОС простого функционала.

Для контроллеров ситуация сложение и вариантов не очень много, но и они есть! Одним из вариантов является использование операционной системы с исходным кодом – ОСРВ Azure. Операционная система имеет исходный код, выложенный на github, и бесплатную автоматическую лицензию при развёртывании на предварительно лицензированных процессорах (список процессоров указан на сайте операционной системы). В список сертифицированных процессоров входит большинство популярных процессоров: ARM7, ARM9, ARM11, Cortex-M0/M3/M4/M7/A15/A5/A7/A8/A9/A5x 64-bi/A7x 64-bit/R4/R5, RX, STM32 и другие. Также на github есть примеры применения на различных процессорах. В дополнение к этому AZURE содержит пакет для графического пользовательского интерфейса, протоколы TCP/IP, USB-узел, среду разработки под Windows. Операционная система имеет сертификат TUV SIL4, т.е. подходит для любого из возникающих применений (перерабатывающая промышленность, авто, ж/д и другие приложения с необходимым уровнем SIL).

Статья подготовлена ведущим экспертом по функциональной безопасности – Зубревым Е.О.

Получить информацию о доступных курсах по “Функциональной безопасности”: http://endce.ru/kurs-funktsionalnaja-bezopasnost

Сертификация по функциональной безопасности SIL2/SIL3: https://endce.ru/sil2