Modules
Xila is organized as composable modules with explicit contracts and concrete implementations. The final binary constructs stateful managers and passes references to other modules and executables. Lock-protected state belongs to those managers; allocator, logging, C ABI, and LVGL callback boundaries retain process-wide registration.
This section is an architecture map, grouped by system role.
Recommended reading order
- Virtual file system
- Task
- Network
- ABI
- Bindings (runtime integration path)
- Remaining modules and integrations: Memory, Users, Time, Log, Graphics, Virtual machine
Foundation modules
- Memory: Allocation contract (
ManagerTrait), global allocator bridge, capability flags, and cache/page helpers. - Task: Manager-owned task registry, executor/spawner integration, metadata inheritance, and signal delivery.
- Users: In-memory user/group database and identifier/membership resolution.
- Time: Explicit time source abstraction over a direct character device.
- Log: Global logging bridge (
LoggerTrait) on top oflogecosystem integration.
Runtime modules
- Virtual file system: Path namespace, mount dispatch (file systems/devices/pipes), ownership/permission checks.
- Network:
smoltcpinterface stacks, runner tasks, control-device surface under/devices/network/*. - Graphics: LVGL runtime management, display/input plumbing, window/event services.
Interop and runtime-integration pages
- ABI: C ABI declarations and definitions, with an explicitly installed runtime context.
- Bindings: Module-adjacent runtime integration implemented in executable/WASM host paths for host-call dispatch and guest/host pointer translation.
- Virtual machine: Module-adjacent Wasmi integration in the WASM executable, with per-execution stores, WASI imports, and cooperative execution.