KasperskyOS Community Edition 1.0

IPC-транспорт

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

Транспортный код для разрабатываемых компонентов

Разработчик новых компонентов для KasperskyOS может сгенерировать транспортный код на основе статических описаний этого компонента. Для этого в составе KasperskyOS Community Edition поставляется компилятор NK. Компилятор NK позволяет генерировать транспортные методы и типы для использования как на клиентской стороне, так и на серверной.

Транспортный код для поставляемых компонентов

Функциональность большинства компонентов, поставляемых в составе KasperskyOS Community Edition, может быть использована в решении как локально, т.е. путем статической компоновки с разрабатываемым кодом, так и через IPC.

Для вынесения компонента в отдельную серверную сущность и использования его по IPC поставляются следующие транспортные библиотеки:

  • Клиентская библиотека компонента преобразует локальные вызовы в IPC-запросы к сущности драйвера.
  • Серверная библиотека компонента принимает IPC-запросы к сущности драйвера и преобразует их в локальные вызовы.

Чтобы использовать компонент по IPC, достаточно его реализацию скомпоновать с серверной библиотекой, а клиентскую сущность скомпоновать с клиентской библиотекой.

Интерфейс клиентской библиотеки не отличается от интерфейса самого компонента. Таким образом, для перехода на использование компонента по IPC (вместо статической компоновки) нет необходимости вносить изменения в код клиентской сущности.

Подробнее см. "IPC и транспорт".