Архитектура и запуск решения на базе KasperskyOS

30 сентября 2026

ID overview_architecture

KasperskyOS состоит из ядра и набора системных программ и библиотек.

Ядро KasperskyOS

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

Ядро управляет исполнением программ, памятью, вводом-выводом, доступом к ресурсам, электропитанием платформы и обеспечивает взаимодействие программ. При этом в ядро включено несколько драйверов (например, драйверы контроллеров прерываний и таймеров, драйверы UART и XHCI DbC для выполнения отладки и диагностического вывода), отладочные механизмы (GDB-сервер, счетчики производительности).

Системные программы KasperskyOS

В составе KasperskyOS SDK поставляется загрузочный образ (InitROMFS), который содержит минимальный набор системных программ, необходимых для запуска решения и прикладных программ, упакованных в KPA-пакеты.

При сборке решения на базе KasperskyOS с помощью системы сборки CMake из состава SDK этот образ всегда добавляется в решение. Системные программы, входящие в образ InitROMFS перечислены в таблице ниже.

Системные программы в образе InitROMFS

В составе KasperskyOS SDK также поставляются CMake-скрипты для сборки дополнительного образа (VendorROMFS), который содержит дополнительные системные программы и драйверы, необходимые для работы с эмулятором или конкретной аппаратной платформой, где будет запускаться решение.

При сборке решения на базе KasperskyOS с помощью системы сборки CMake из состава SDK этот образ создается на основе описаний сценариев сборки в файлах CMakeLists.txt и затем добавляется в решение.

Системные программы, входящие в образ VendorROMFS перечислены в таблице ниже.

Системные программы в образе VendorROMFS

Модуль безопасности Kaspersky Security Module

В образ VendorROMFS также входит модуль безопасности Kaspersky Security Module, который генерируется в процессе сборки этого образа и интегрируется в состав ядра во время загрузки KasperskyOS.

Модуль безопасности генерируется на основе следующих компонентов описания политики безопасности решения:

  • Описание политики безопасности для системных программ, входящих в загрузочный образ InitROMFS. Это описание поставляется в составе SDK.
  • Описание политики безопасности для системных программ, входящих в дополнительный образ VendorROMFS. Это описание генерируется в процессе сборки этого образа.
  • Описание политики безопасности для прикладных программ. Это описание создается пользователем SDK. Подробнее см. "Разработка политик безопасности".

Файловая система rootfs

При запуске KasperskyOS монтируется корневая файловая система rootfs.

При сборке решения на базе KasperskyOS необходимо с помощью системы сборки CMake из состава SDK добавить в корневую файловую rootfs следующие файлы:

  • содержимое архива, содержащего библиотеки, файлы и KPA-пакеты необходимые для работы системных программ из загрузочного образа InitROMFS. Архив поставляется в составе SDK.
  • файлы и библиотеки, необходимые для работы системных программ из образа VendorROMFS.
  • KPA-пакеты всех прикладных программ, входящих в решение.
  • Файлы настроек системной программы ServiceManager, которая отвечает за установку и запуск KPA-пакетов.

Загрузка KasperskyOS

  1. Помещение в память ядра KasperskyOS загрузочного образа InitROMFS и образа VendorROMFS, а также запуск ядра выполняет загрузчик, установленный на аппаратной платформе, или встроенное программное обеспечение UEFI.
  2. Ядро находит в образе VendorROMFS и загружает модуль безопасности (как модуль ядра).
  3. Ядро загружает системную программу Einit из образа InitROMFS.
  4. Программа Einit запускает остальные системные программы из образа InitROMFS, а также системную программу vendor_einit из образа VendorROMFS.
  5. Программа vendor_einit из образа VendorROMFS запускает остальные системные программы из образа VendorROMFS, в том числе загружаются драйверы для работы с блочным устройством и драйверы файловой системы, что впоследствии позволяет использовать rootfs.
  6. Системная программа PkgMgrEntity устанавливает системную программу ServiceManager из KPA-пакета, поставляемого в составе rootfs.
  7. Системная программа ExecMgrEntity запускает системную программу ServiceManager.
  8. Системная программа ServiceManager устанавливает из KPA-пакетов и запускает прикладные программы.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!