Динамическое создание IPC-каналов с использованием системной программы DCM

В составе KasperskyOS SDK поставляется системная программа DCM (Dynamic Connection Manager), которая позволяет динамически создавать IPC-каналы. Благодаря этой программе серверы могут сообщать клиентам о предоставляемых службах, а также передавать callable-дескрипторы для использования этих служб.

Для использования программы DCM в составе KasperskyOS SDK поставляются следующие файлы:

Чтобы использовать программу DCM, нужно включить ее в образ решения. Для этого можно, например, указать dcm::entity в списке файлов, который задается через параметр IMAGE_FILES CMake-команд build_kos_qemu_image() и build_kos_hw_image(). CMake-пакет имеет имя dcm.

IPC-каналы от клиентов и серверов к DCM нужно создать статически. В качестве клиентской библиотеки программы DCM выступает библиотека libkos.

Можно запустить несколько процессов программы DCM. При этом каждый клиент и сервер может быть соединен только с одним процессом программы DCM.

В API программы DCM используются идентификаторы, которые называются DCM-дескрипторами (англ. DCM handles). DCM-дескрипторы идентифицируют объекты, которые дают клиентам и серверам, использующим DCM, следующие возможности:

Имена компонентов, служб и интерфейсов служб нужно задавать в соответствии с формальными спецификациями компонентов решения. (О квалифицированном имени службы и экземпляра компонента см. "Привязка методов моделей безопасности к событиям безопасности".) Вместо квалифицированного имени службы или экземпляра компонента можно использовать какое-либо условное название. Имена клиентов и серверов задаются в init-описании.

В этом разделе

Использование базового API (dcm_api.h)

Использование вспомогательного API для клиентов (connect.h)

Использование дополнительного API для серверов (pub.h)

Использование дополнительного API для клиентов (subscr.h)

В начало