tpt-archon-kernel
Phase 2b of tpt-archon: a capability-based microkernel with a unified page cache.
"Microkernel" means a user-space process model first. Per
spec.txt's Risk 1 mitigation, the architecture is validated as a user-space process on a host OS before any bare-metal or hardware-driver work. The crate does not yet run on bare metal. Its scheduler is a cooperative, hand-rolled round-robin scheduler (not preemptive), but I/O tasks can now be backed by a real Linuxio_uringreactor (see theio-uring-backendfeature below) rather than a synchronous stand-in.
Modules
scheduler— a cooperative, round-robin asyncSchedulerrunning oneTaskper DB connection (not an OS process). It always makes progress while any task is runnable.ipc— capability-bearingMessagepassing via aMessageRouter. A message is only delivered if the sender holds a write capability for the destination channel.memory—UnifiedMemory, where the kernel page cache is the database buffer pool: a single allocation shared through the bridge'sUnifiedPageCachetrait, with capability-checked access. Also exposesmap_read_zero_copy(mmapfeature) over the bridge'sMmapPageSourcetrait — real OS-mapped, read-only shared memory, not just an in-process reference.io_uring_backend(Linux only,io-uring-backendfeature) — aReactorwrapping a realio_uringsubmission/completion ring, plusIoReadTask/IoWriteTask, ordinaryTasks that submit a read/write and yieldPendinguntil the kernel reports completion. Plugs intoSchedulerunchanged: a pending I/O task stays in the same ready queue as any other pending task, so the scheduler's deadlock-freedom argument (formal-proofs/scheduler.telos) still covers it.
Features
std(default) — forwards to the lower crates'stdfeatures. Build with--no-default-featuresforno_std.io-uring-backend— enables the realio_uringreactor (impliesstd). Linux only; theio-uringdependency doesn't build on other platforms, so this is off by default and meant to be enabled explicitly (e.g. a Linux-only CI job or a Linux deployment target).mmap— enables real, read-only, OS-mmap-backed zero-copy page access (impliesstd). Cross-platform (memmap2:mmap(2)on Unix,CreateFileMappingWon Windows) — unlikeio-uring-backend, no target gating is needed and this is exercised on every OS in CI.
Publishing note
The dependencies on tpt-archon-core/tpt-archon-bridge are path dependencies
during development. Switch them to version requirements before publishing.
License
Licensed under either of MIT or Apache-2.0 at your option.