Библиотека libkos
является базовой библиотекой KasperskyOS, предоставляющей набор API, через которые программы и другие библиотеки (например, libc
, kdf
) используют службы ядра. API, предоставляемые библиотекой libkos
, обеспечивают для разработчиков решения следующие возможности:
На аппаратных платформах с процессорной архитектурой Arm входные и выходные параметры API библиотеки libkos
нельзя сохранять в памяти типа "Device memory", поскольку это может привести к неопределенному поведению. (Исключениями являются: параметр addr
функции KnVmQuery()
из API vmm_api.h, параметры reg
и baseReg
функций из API mmio.h, параметр va
функции KnHalFlushCache()
из API hal_api.h, параметр va
функции KosCpuCacheFlush()
из API cpucache.h.) Параметры API библиотеки libkos
нужно сохранять в памяти типа "Normal memory". Чтобы копировать данные из памяти типа "Device memory" в память типа "Normal memory" и обратно, нужно использовать функцию RtlPedanticMemcpy()
, объявленную в заголовочном файле sysroot-*-kos/include/rtl/string_pedantic.h
из состава KasperskyOS SDK.