KasperskyOS Community Edition 1.1

Пример embedded_vfs

Пример показывает, как встроить виртуальную файловую систему (далее VFS), поставляемую в составе KasperskyOS Community Edition, в разрабатываемую программу.

В этом примере программа Client полностью инкапсулирует реализацию VFS из KasperskyOS Community Edition. Это позволяет избавиться от использования IPC для всех стандартных функций ввода-вывода (stdio.h, socket.h и так далее), например, для отладки или повышения производительности.

Программа Client тестирует следующие операции:

  • создание директории;
  • создание и удаление файла;
  • чтение из файла и запись в файл.

Поставляемые ресурсы

В пример входит образ жесткого диска с файловой системой FAT32 – hdd.img.

Этот пример не содержит реализации драйверов блочных устройств, с которыми работает Client. Эти драйверы (программы ATA и SDCard) поставляются в составе KasperskyOS Community Edition и добавляются в файле сборки ./CMakeLists.txt.

Файлы примера

Код примера и скрипты для сборки находятся по следующему пути:

/opt/KasperskyOS-Community-Edition-<version>/examples/embedded_vfs

Сборка и запуск примера

Чтобы запустить пример на QEMU, перейдите в директорию с примером, соберите пример и выполните следующие команды:

$ cd build/einit

# Перед выполнением следующей команды убедитесь, что путь к

# директории с исполняемым файлом qemu-system-aarch64 сохранен в

# переменной окружения PATH. В случае отсутствия

# добавьте его в переменную PATH.

$ qemu-system-aarch64 -m 2048 -machine vexpress-a15 -nographic -monitor none -sd hdd.img -kernel kos-qemu-image

Также см. "Сборка и запуск примеров".