UmkaOS Architecture Design Document
Canonical reference for all development. This document defines the complete architecture of UmkaOS. All implementation decisions must trace back to this specification.
The architecture is organized into 24 chapters using chapter-scoped section numbering. Cross-references are clickable links between files.
Copyright © 2026 Anton Starikov \<ant.starikov@gmail.com> All rights reserved. This design document is the original work of the author. Reproduction or distribution without explicit permission is prohibited.
How to Read This Document
Section numbering uses Chapter.Section format:
Section 10.4= Chapter 10, Section 4 (in10-drivers.md)Section 10.4.2= Chapter 10, Section 4, Subsection 2- Adding sections to one chapter never affects other chapters
Cross-references are clickable markdown links:
[Section 13.2 Mount Tree](13-vfs.md#132-mount-tree-data-structures-and-operations)
Master Index
| Chapter | File | Domain |
|---|---|---|
| 1 | 01-overview.md | Design philosophy, architectural goals, performance budget |
| 2 | 02-boot-hardware.md | Boot chain, device discovery, ACPI/DT, multi-architecture support, hardware memory safety |
| 3 | 03-concurrency.md | Locking strategy, lock-free structures, PerCpu, RCU, atomic operations, memory ordering, interrupt handling, error handling |
| 4 | 04-memory.md | Physical allocator, virtual memory, page tables, slab, NUMA, compression tier, page cache, extended memory operations |
| 5 | 05-distributed.md | Cluster topology, distance matrix, RDMA transport, distributed shared memory, distributed lock manager, SmartNIC/DPU integration |
| 6 | 06-scheduling.md | EEVDF, RT, deadline scheduling, per-CPU runqueues, EAS, power budgeting, CPU bandwidth, timekeeping, intent-based resource management |
| 7 | 07-process.md | Task/Process structs, fork/exec/exit, real-time guarantees, signal handling, process groups/sessions, resource limits and accounting |
| 8 | 08-security.md | Capabilities, credentials, LSM framework, verified boot, TPM, IMA, post-quantum cryptography, confidential computing |
| 9 | 09-security-extensions.md | Kernel crypto API, kernel key retention service, seccomp-BPF syscall filter, ARM MTE, DebugCap |
| 10 | 10-drivers.md | Three-tier protection model, isolation mechanisms, driver isolation tiers, device registry, zero-copy I/O, IPC, crash recovery, USB, I2C |
| 11 | 11-kabi.md | Stable driver ABI (KABI), KABI IDL, vtable design, driver signing, compatibility windows |
| 12 | 12-device-classes.md | NIC, GPU, WiFi, Bluetooth, camera, printers, live kernel evolution, watchdog, SPI, rfkill, MTD, IPMI, UIO, NVMEM, SoundWire |
| 13 | 13-vfs.md | VFS architecture, dentry cache, mount tree, path resolution, overlayfs, binfmt_misc, autofs, file notifications, file locking, disk quotas, pipes/FIFOs |
| 14 | 14-storage.md | Durability guarantees, block I/O, volume management, block storage networking, clustered filesystems, DLM, persistent memory, computational storage, SATA/AHCI, ext4/XFS/Btrfs, ZFS, NFS client/server, I/O priority |
| 15 | 15-networking.md | Socket layer, NetBuf, routing, TCP stack, congestion control, kTLS, overlays/tunnels, netlink, packet filtering, interface naming, tc/qdisc, IPsec/XFRM, SCTP, AF_VSOCK, VLAN, IPVS |
| 16 | 16-containers.md | Namespace architecture (8 types), cgroups v2, POSIX IPC |
| 17 | 17-virtualization.md | KVM host/guest integration, VMX/VHE/H-ext, live migration, PV features, suspend/resume, VFIO/iommufd device passthrough |
| 18 | 18-compat.md | Syscall interface, futex, netlink, Windows emulation, dropped compatibility, native syscalls, safe extensibility, special FD objects, typed event notification |
| 19 | 19-observability.md | Fault management architecture, stable tracepoints, debugging/ptrace, unified object namespace (umkafs), EDAC, pstore, PMU/perf_event_open, typed sysctl |
| 20 | 20-user-io.md | TTY/PTY, input (evdev), audio (ALSA), display/graphics (DRM/KMS) |
| 21 | 21-accelerators.md | Unified accelerator framework, accelerator memory/P2P DMA, isolation/scheduling, in-kernel inference, accelerator networking, unified compute model |
| 22 | 22-ml-policy.md | AI/ML policy framework: closed-loop kernel intelligence, KernelObservation bus, KernelTunableParam store, PolicyConsumerVTable |
| 23 | 23-roadmap.md | Driver ecosystem, implementation phases, verification strategy, technical risks, formal verification, appendices |
| 24 | 24-agentic.md | Development model, parallel workflow, phase timelines, sensitivity analysis, recommendations |
| — | 00-review-primer.md | Review guidance |
Parts
Part I: Foundations
- Chapter 1: Architecture Overview — Design philosophy, architectural goals, performance budget
- Chapter 2: Boot and Hardware Discovery — Boot chain, device discovery, ACPI/DT, multi-architecture support, hardware memory safety
- Chapter 3: Concurrency Model — Locking strategy, lock-free structures, PerCpu, RCU, atomic operations, memory ordering, interrupt handling
- Chapter 4: Memory Management — Physical allocator, virtual memory, page tables, slab, NUMA, compression tier, page cache, extended memory operations
- Chapter 5: Distributed Kernel Architecture — Cluster topology, distance matrix, RDMA transport, distributed shared memory, distributed lock manager, SmartNIC/DPU integration
Part II: Core Subsystems
- Chapter 6: Scheduling and Power Management — EEVDF, RT, deadline scheduling, per-CPU runqueues, EAS, power budgeting, CPU bandwidth, timekeeping
- Chapter 7: Process and Task Management — Task/Process structs, fork/exec/exit, real-time guarantees, signal handling, process groups/sessions, resource limits
- Chapter 8: Security Architecture — Capabilities, credentials, LSM framework, verified boot, TPM, IMA, post-quantum cryptography, confidential computing
- Chapter 9: Security Extensions — Kernel crypto API, kernel key retention service, seccomp-BPF syscall filter, ARM MTE, DebugCap
- Chapter 10: Driver Architecture and Isolation — Three-tier protection model, isolation mechanisms, driver isolation tiers, device registry, zero-copy I/O, IPC, crash recovery, USB, I2C
- Chapter 11: KABI — Kernel Driver ABI — Stable driver ABI, KABI IDL, vtable design, driver signing, compatibility windows
- Chapter 12: Device Class Frameworks — NIC, GPU, WiFi, Bluetooth, camera, printers, live kernel evolution, watchdog, SPI, rfkill, MTD, IPMI, UIO, NVMEM, SoundWire
Part III: Major Subsystems
- Chapter 13: Virtual Filesystem Layer — VFS architecture, dentry cache, mount tree, path resolution, overlayfs, binfmt_misc, autofs, file notifications, file locking, disk quotas, pipes/FIFOs
- Chapter 14: Storage and Filesystems — Durability guarantees, block I/O, volume management, block storage networking, clustered filesystems, DLM, persistent memory, SATA/AHCI, ext4/XFS/Btrfs, ZFS, NFS, I/O priority
- Chapter 15: Networking — Socket layer, NetBuf, routing, TCP stack, congestion control, kTLS, overlays/tunnels, netlink, packet filtering, interface naming, tc/qdisc, IPsec, SCTP, VSOCK, VLAN, IPVS
- Chapter 16: Containers and Namespaces — Namespace architecture (8 types), cgroups v2, POSIX IPC
- Chapter 17: Virtualization — KVM host/guest integration, VMX/VHE/H-ext, live migration, PV features, suspend/resume, VFIO/iommufd device passthrough
- Chapter 18: Linux Compatibility — Syscall interface, futex, netlink, Windows emulation, dropped compatibility, native syscalls, safe extensibility, special FD objects, typed event notification
Part IV: Specialized Subsystems
- Chapter 19: Observability and Diagnostics — Fault management architecture, stable tracepoints, debugging/ptrace, unified object namespace (umkafs), EDAC, pstore, PMU/perf, typed sysctl
- Chapter 20: User I/O Subsystems — TTY/PTY, input (evdev), audio (ALSA), display/graphics (DRM/KMS)
- Chapter 21: AI/ML and Accelerators — Unified accelerator framework, accelerator memory/P2P DMA, isolation/scheduling, in-kernel inference, accelerator networking, unified compute model
- Chapter 22: AI/ML Policy Framework — Closed-loop kernel intelligence, KernelObservation bus, KernelTunableParam store, PolicyConsumerVTable, reference ML services
Part V: Meta
- Chapter 23: Roadmap and Verification — Driver ecosystem, implementation phases, verification strategy, technical risks, formal verification, appendices
- Chapter 24: Agentic Development Methodology — Development model, parallel workflow, phase timelines, sensitivity analysis, recommendations
Detailed Table of Contents
Chapter 1: Architecture Overview
Chapter 2: Boot and Hardware Discovery
- Section 2.1: Boot and Installation
- Section 2.2: First-Class Architectures
- Section 2.3: Hardware Memory Safety
Chapter 3: Concurrency Model
Chapter 4: Memory Management
- Section 4.1: Memory Management
- Section 4.2: Memory Compression Tier
- Section 4.6: Extended Memory Operations
Chapter 5: Distributed Kernel Architecture
- Section 5.1: Distributed Kernel Architecture
- Section 5.2: Cluster Topology Model
- Section 5.3: Peer Kernel Isolation and Crash Recovery
- Section 5.4: RDMA-Native Transport Layer
- Section 5.5: Distributed IPC
- Section 5.6: Distributed Shared Memory
- Section 5.7: Cluster-Aware Scheduler
- Section 5.8: Network-Portable Capabilities
- Section 5.9: Failure Handling and Distributed Recovery
- Section 5.10: CXL 3.0 Fabric Integration
- Section 5.11: Compatibility, Integration, and Phasing
- Section 5.12: SmartNIC and DPU Integration
Chapter 6: Scheduling and Power Management
- Section 6.1: Scheduler
- Section 6.2: Platform Power Management
- Section 6.3: CPU Bandwidth Guarantees
- Section 6.4: Power Budgeting
- Section 6.5: Timekeeping and Clock Management
- Section 6.6: System Event Bus
- Section 6.7: Intent-Based Resource Management
Chapter 7: Process and Task Management
- Section 7.1: Process and Task Management
- Section 7.2: Real-Time Guarantees
- Section 7.3: Signal Handling
- Section 7.4: Process Groups and Sessions
- Section 7.5: Resource Limits and Accounting
Chapter 8: Security Architecture
- Section 8.1: Capability-Based Foundation
- Section 8.2: Verified Boot Chain
- Section 8.3: TPM Runtime Services
- Section 8.4: Runtime Integrity Measurement (IMA)
- Section 8.5: Post-Quantum Cryptography
- Section 8.6: Confidential Computing
- Section 8.7: Linux Security Module (LSM) Framework
- Section 8.8: Credential Model and Capabilities
Chapter 9: Security Extensions
- Section 9.1: Kernel Crypto API
- Section 9.2: Kernel Key Retention Service
- Section 9.3: Seccomp-BPF Syscall Filter
- Section 9.4: ARM Memory Tagging Extension (MTE)
- Section 9.5: DebugCap — Capability-Based Process Debugging
Chapter 10: Driver Architecture and Isolation
- Section 10.1: Three-Tier Protection Model
- Section 10.1.1: How the Tiers Interact
- Section 10.1.2: Tier M — Multikernel Peer Isolation
- Section 10.2: Isolation Mechanisms and Performance Modes
- Section 10.4: Driver Isolation Tiers
- Section 10.5: Device Registry and Bus Management
- Section 10.6: Zero-Copy I/O Path
- Section 10.7: IPC Architecture and Message Passing
- Section 10.8: Crash Recovery and State Preservation
- Section 10.9: USB Class Drivers and Mass Storage
- Section 10.10: I2C/SMBus Bus Framework
Chapter 11: KABI — Kernel Driver ABI
- Section 11.1: Driver Model and Stable ABI (KABI)
- Section 11.1.1: The Problem We Solve
- Section 11.1.2: Interface Definition Language (.kabi)
- Section 11.1.3: ABI Rules (Enforced by CI)
- Section 11.1.4: KABI Version Lifecycle and Deprecation Policy
- Section 11.1.5: Bilateral Capability Exchange
- Section 11.1.6: Version Negotiation
- Section 11.1.7: KABI IDL Language Specification
- Section 11.1.8: KABI Transport Classes
- Section 11.1.9: KABI Service Dependency Resolution
Chapter 12: Device Class Frameworks
- Section 12.1: Major Driver Subsystem Interfaces
- Section 12.2: Bluetooth HCI Driver
- Section 12.3: WiFi Driver
- Section 12.4: Camera and Video Capture
- Section 12.5: Printers and Scanners
- Section 12.6: Live Kernel Evolution
- Section 12.7: Hardware Watchdog Framework
- Section 12.8: SPI Bus Framework
- Section 12.9: rfkill — RF Kill Switch Framework
- Section 12.10: MTD — Memory Technology Device Framework
- Section 12.11: IPMI — Intelligent Platform Management Interface
- Section 12.12: UIO — Userspace I/O
- Section 12.13: NVMEM — Non-Volatile Memory Framework
- Section 12.14: SoundWire Bus Framework
Chapter 13: Virtual Filesystem Layer
- Section 13.1: Virtual Filesystem Layer
- Section 13.2: Mount Tree Data Structures and Operations
- Section 13.3: Distribution-Aware VFS Extensions
- Section 13.4: overlayfs: Union Filesystem for Containers
- Section 13.5: binfmt_misc — Arbitrary Binary Format Registration
- Section 13.6: autofs — Kernel Automount Trigger
- Section 13.7: FUSE — Filesystem in Userspace
- Section 13.8: configfs — Kernel Object Configuration Filesystem
- Section 13.9: File Notification System
- Section 13.10: Local File Locking
- Section 13.11: Disk Quota Subsystem
- Section 13.12: Pipes and FIFOs
Chapter 14: Storage and Filesystems
- Section 14.1: Durability Guarantees
- Section 14.2: ZFS Integration
- Section 14.3: Block I/O and Volume Management
- Section 14.4: Block Storage Networking
- Section 14.5: Clustered Filesystems
- Section 14.6: Distributed Lock Manager
- Section 14.7: Persistent Memory
- Section 14.8: Computational Storage
- Section 14.9: SATA/AHCI and Embedded Flash Storage
- Section 14.10: Filesystem Drivers: ext4, XFS, and Btrfs
- Section 14.11: NFS Client, SunRPC, and RPCSEC_GSS
- Section 14.12: NFS Server (nfsd)
- Section 14.13: I/O Priority and Scheduling
Chapter 15: Networking
- Section 15.1: TCP Stack Extensibility
- Section 15.2: Network Overlay and Tunneling
- Section 15.3: Network Interface Naming
- Section 15.4: Pluggable TCP Congestion Control
- Section 15.5: Traffic Control and Queue Disciplines (tc/qdisc)
- Section 15.6: IPsec and XFRM Framework
- Section 15.7: SCTP — Stream Control Transmission Protocol
- Section 15.8: AF_VSOCK — Virtual Machine Sockets
- Section 15.9: 802.1Q VLAN Subsystem
- Section 15.10: IPVS — IP Virtual Server
Chapter 16: Containers and Namespaces
- Section 16.1: Namespace Architecture
- Section 16.2: Control Groups (Cgroups v2)
- Section 16.3: POSIX Inter-Process Communication (IPC)
Chapter 17: Virtualization
- Section 17.1: Host and Guest Integration
- Section 17.2: Suspend and Resume
- Section 17.3: VFIO and iommufd — Device Passthrough Framework
Chapter 18: Linux Compatibility
- Section 18.1: Syscall Interface
- Section 18.2: Futex and Userspace Synchronization
- Section 18.3: Netlink Event Compatibility
- Section 18.4: Windows Emulation Acceleration (WEA)
- Section 18.5: Deliberately Dropped Compatibility
- Section 18.6: UmkaOS Native Syscall Interface
- Section 18.7: Safe Kernel Extensibility
- Section 18.8: Special File Descriptor Objects
Chapter 19: Observability and Diagnostics
- Section 19.1: Fault Management Architecture
- Section 19.2: Stable Tracepoint ABI
- Section 19.3: Debugging and Process Inspection
- Section 19.4: Unified Object Namespace
- Section 19.5: EDAC — Error Detection and Correction Framework
- Section 19.6: pstore — Panic Log Persistence
- Section 19.7: Performance Monitoring Unit (perf_event_open)
- Section 19.8: Kernel Parameter Store (Typed Sysctl)
Chapter 20: User I/O Subsystems
- Section 20.1: TTY and PTY Subsystem
- Section 20.2: Input Subsystem (evdev)
- Section 20.3: Audio Architecture (ALSA Compatibility)
- Section 20.4: Display and Graphics (DRM/KMS)
Chapter 21: AI/ML and Accelerators
- Section 21.1: Unified Accelerator Framework
- Section 21.2: Accelerator Memory and P2P DMA
- Section 21.3: Accelerator Isolation and Scheduling
- Section 21.4: In-Kernel Inference Engine
- Section 21.5: Accelerator Networking, RDMA, and Linux GPU Compatibility
- Section 21.6: Unified Compute Model
Chapter 22: AI/ML Policy Framework
Chapter 23: Roadmap and Verification
- Section 23.1: Driver Ecosystem Strategy
- Section 23.2: Implementation Phases
- Section 23.3: Verification Strategy
- Section 23.4: Technical Risks
- Section 23.5: Licensing Model: Open Kernel License Framework (OKLF) v1.3
- Section 23.6: Project Structure
- Section 23.7: What UmkaOS Provides That Linux Cannot
- Section 23.8: Cross-Feature Integration Map
- Section 23.9: Open Questions
- Section 23.10: Formal Verification Readiness
Chapter 24: Agentic Development Methodology
- Section 24.1: Understanding the Bottleneck
- Section 24.2: Development Model: Parallel Agentic Workflow
- Section 24.3: Phase-by-Phase Timeline (Agentic)
- Section 24.4: Total Timeline (Sequential Phases)
- Section 24.5: Total Timeline (Optimized Parallelism)
- Section 24.6: What About Spec Bugs?
- Section 24.7: Hardware Bottlenecks
- Section 24.8: Human Involvement Required
- Section 24.9: Realistic Full Timeline (Agentic + Human)
- Section 24.10: Comparison: Human vs Agentic
- Section 24.11: Sensitivity Analysis: Slower Inference
- Section 24.12: Optimistic vs Pessimistic Scenarios
- Section 24.13: What Determines Success?
- Section 24.14: Recommendations
- Section 24.15: Final Answer: Realistic Timeline