V
VernisOS
Architecture

Microkernel

The VernisOS microkernel runs the minimum services in kernel mode: process scheduling, IPC, and module loading. Everything else runs in user space.

Kernel Components

โฑ

Process Scheduler

Round-robin scheduler with priority levels. Context switches between user processes and kernel threads.

๐Ÿ“จ

IPC Manager

Message queue-based inter-process communication. Supports synchronous and asynchronous message passing.

๐Ÿ“ฆ

Module Loader

Dynamic module loading at runtime. Modules register with the kernel via a defined interface.

๐Ÿง 

Memory Manager

Physical page allocator with demand paging. Isolates process address spaces.

โšก

Interrupt Handler

Hardware interrupt dispatch with priority-based handling. Timer, keyboard, and disk interrupts.

๐Ÿ”ง

Syscall Interface

System call table for user-space to kernel transitions. 16 base syscalls available.

Kernel Initialization

c
// kernel_main.c โ€” Entry point after bootloader
void kernel_main(void) {
    // Initialize hardware abstraction layer
    hal_init();

    // Set up physical memory manager
    pmm_init();

    // Initialize process scheduler
    scheduler_init();

    // Set up IPC message queues
    ipc_init();

    // Load kernel modules (AI engine, VernisFS, etc.)
    module_loader_init();

    // Initialize AI engine (Rust no_std bridge)
    ai_engine_init();

    // Mount VernisFS
    vernisfs_mount();

    // Start first user-space process (CLI shell)
    process_create("shell", shell_main);

    // Enter scheduler loop (never returns)
    scheduler_run();
}

Module System

Kernel modules can be loaded and unloaded at runtime using the module_load and module_unload CLI commands. Each module registers with the kernel through a standardized interface.

text
> module_list
Loaded modules:
  [01] ai_anomaly    โ€” Anomaly detection engine
  [02] ai_tune       โ€” Auto-tuning optimizer
  [03] ai_scan       โ€” System scanner
  [04] ai_trust      โ€” Trust scoring
  [05] ai_monitor    โ€” Performance monitor
  [06] ai_predict    โ€” Predictive analysis