KasperskyOS Community Edition 1.0

Сущность Einit

Одной из важнейших сущностей в KasperskyOS является сущность c именем Einit, которая первой запускается ядром операционной системы при загрузке образа. В большинстве решений на базе KasperskyOS сущность Einit запускает все остальные сущности, входящие в решение, то есть служит инициализирующей сущностью.

В составе пакета инструментов KasperskyOS Community Edition поставляется утилита einit, которая позволяет сгенерировать код сущности Einit на языке C на основе файла init.yaml (так называемого init-описания). Сущность Einit, созданная с помощью скрипта einit, выполняет следующие инициализирующие функции:

  • создает все сущности, входящие в решение;
  • создает необходимые соединения (IPC-каналы) между сущностями;
  • копирует в окружение каждой сущности информацию о ее соединениях;
  • запускает сущности.

Стандартным способом использования утилиты einit является интеграция ее вызова в один из шагов сборочного скрипта, в результате которого утилита einit на основе файла init.yaml сгенерирует файл einit.c, содержащий код сущности Einit. На одном из следующих шагов сборочного скрипта необходимо скомпилировать файл einit.c в исполняемый файл сущности Einit и включить в образ решения.

Для сущности Einit не требуется создавать файлы статических описаний. Эти файлы поставляются в составе пакета инструментов KasperskyOS Community Edition и автоматически подключаются при сборке решения. При этом сущность Einit должна быть описана в файле security.psl.