Skip to content

Latest commit

 

History

History

adr

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Architectural Decision Records

This directory is the source of truth for why MiniOS looks the way it does. ARCHITECTURE_PLAN.md tracks future work only; every completed architectural decision lives here as a short record with Context, Decision and Consequences. New major decisions add a record; the plan never grows a retrospective section again.

Format: NNNN-short-title.md with Status, Context, Decision, Consequences. Numbers are monotonic; status is accepted (shipped), proposed (design on record, not shipped), partially implemented (only some slices landed) or superseded (with a pointer to the replacement).

Index

ADR Title Status
0001 Tick listener bus (Observer) accepted
0002 Port I/O HAL (hal_io.h) accepted
0003 SMP bring-up and per-CPU state accepted
0004 SMP scaling: futex, per-CPU runqueues, batch, RCU-lite accepted
0005 VMA red-black tree for mmap tracking accepted
0006 Syscall argument sanitization macros accepted
0007 KASLR and the low-4 MB layout contract accepted
0008 TLS 1.2 client scope accepted
0009 ZIP builtins over vendored miniz accepted
0010 dlmalloc mspace as the kernel heap backend accepted
0011 Kernel as Mediator: bounded contexts, thin kernel.c accepted
0012 Driver Strategy registry and VFS file_operations facade accepted
0013 Priority inheritance on blocking mutexes accepted
0014 Syscall truthfulness pass (FreeDom readiness Phase 0) accepted
0019 FreeDom Wayland intermediate layer and MiniFS growth accepted
0020 Window manager header contracts (wm_*.h) accepted
0021 Real FreeDom browser on MiniOS (DOOM/Q2G pattern) accepted
0022 Doom Map Editor with Immutable IWAD and PWAD Snapshots proposed (design on record)
0023 Multi-Sector DoomEdit Maps Without a BSP Compiler accepted (Phase 2 slice: real sectors, trivial BSP)
0024 Wayland-mini subset and ring-3 compositor accepted (phased F0-F3, shim-first)
0025 Wayland-mini session layer over any byte transport accepted (phased, ring-3 first)
0026 Mailbox transport for Wayland-mini multiprocess windows accepted (interim carrier, kernel pipe stays the proper one)
0027 Pipe carrier and tile WM unification partially implemented (FS layer landed, pipe deferred, heavyweight-live still open)

The numbering skips 0015-0018: no record ever carried those numbers.

Formal analysis: ../vma-complexity.md proves the $O(\log n)$ bound claimed in ADR-0005.