Ядро KasperskyOS имеет ряд служб для управления дескрипторами, потоками, памятью, процессами, IPC-каналами, ресурсами ввода-вывода и т.д. Для доступа к службам используется библиотека libkos
.
Библиотека libkos
Библиотека libkos
состоит из двух частей:
coresrv
.libkos
предоставляет абстракции примитивов синхронизации, объектов и очередей. Она также содержит функции-обертки для более простой аллокации памяти и работы с потоками. Заголовочные файлы второй части libkos
находятся в директории kos
.Библиотека libkos
значительно упрощает использование служб ядра. Функции библиотеки libkos
обеспечивают корректную упаковку IPC-сообщения и выполнение системных вызовов. Взаимодействие других библиотек (включая libc
) с ядром происходит через библиотеку libkos
.
Для использования службы ядра KasperskyOS нужно подключить соответствующий этой службе заголовочный файл библиотеки libkos
. Например, для доступа к методам менеджера ввода-вывода (IO Manager) нужно подключить файл io_api.h
:
#include <coresrv/io/io_api.h>
Файлы, используемые библиотекой libkos
Внутренняя реализация библиотеки libkos
может использовать следующие файлы, экспортируемые ядром:
libkos
.Пример
Менеджер ввода-вывода (IO Manager) представлен для пользователя следующими файлами:
coresrv/io/io_api.h
– заголовочный файл библиотеки libkos
;services/io/IO.idl
– idl-описание менеджера ввода-вывода;io/io_dma.h
, io/io_irq.h
– заголовочные файлы ядра.