KasperskyOS Education Kit Beta 0.1

Учебное пособие KasperskyOS Education Kit

Добро пожаловать в KasperskyOS Education Kit — учебное пособие для разработчиков, которое позволит вам познакомиться с основными принципами работы KasperskyOS и освоить на практике приемы разработки приложений под KasperskyOS.

KasperskyOS Education Kit включает в себя учебные средства разработки KasperskyOS Starter Kit, а также учебные материалы и примеры кода, которые будут постоянно обновляться, расширяться и публиковаться на сайте.

Для получения KasperskyOS Education Kit перейдите по ссылке.

Ограничения

Поскольку KasperskyOS Education Kit предназначен для обучения, мы интегрировали в пакет ряд ограничений:

  1. Используется только одно ядро процессора (SMP не поддерживается).
  2. Динамическая загрузка модулей не поддерживается.
  3. Secure Boot не поддерживается.
  4. Максимальное количество запущенных сущностей (приложений): 16, в случае превышения системный сервис возвращает ошибку.
  5. При завершении сущности любым способом (например, return из основного потока исполнения) выделенные сущностью ресурсы не освобождаются, а сама сущность переводится в «спящее» состояние. Сущности не могут быть запущены повторно (например, после запуска 16 приложений и завершения 14 из них невозможно запустить 14 новых).
  6. Не поддерживается запуск двух и более сущностей с одним и тем же EDL-описанием.
  7. Система останавливается, если не осталось работающих сущностей или если один из потоков драйверной сущности завершился (штатным или нештатным образом).
  8. Минимальный используемый объем памяти: 256 МБ. Максимальный объем динамически аллоцированной памяти на сущность: 1,5 ГБ.
  9. Ядро потребляет не более 128 МБ памяти и не более 1% процессорного времени.
  10. Максимальное количество потоков на систему: 1024, на сущность: 64. В случае превышения системный сервис возвращает ошибку.
  11. Максимальное количество дескрипторов (handles) на систему: 1024, на сущность: 64. (Для каждой сущности, кроме einit, автоматически резервируется 2 дескриптора. Для сущности einit — 1 дескриптор.)
  12. Максимальное количество одновременно аллоцированных регионов памяти на систему: 4096, на сущность: 255 (включая неявные аллокации — например, при создании потока или загрузке образа).
  13. Максимальное количество фьютексов (futex) на систему: 2048, на сущность: 128.
  14. Журнал аудита записывается из ядра в UART.
  15. Минимальная конфигурация хоста для работы QEMU: процессор Intel x86_64 (без AVX) не ниже Intel Core 2 Duo.

Известные проблемы

  1. Возможна нестабильная работа системы при нехватке памяти в сущности einit, если код сущности был создан без использования утилиты einit, входящей в состав KasperskyOS Education Kit.
  2. Возможно перемешивание выводимых на экран сообщений при использовании стандартных функций вывода в stdout и stderr в нескольких потоках исполнения.