Lamport clocks
Lamport clocks give a distributed system a logical timebase. Each local event advances the counter, and each received message merges the remote value before advancing again. The resulting value encodes observed order rather than wall-clock duration.
SlOS assigns events a logical position that can be merged with peer activity. Wall ticks support local timing and correlation, while Lamport values preserve observed ordering across message boundaries.
Event sourcing
Event sourcing stores the facts that changed the system, then derives current state from those facts. The event log holds the durable record, and any current view is computed from it on demand.
SlOS applies the pattern to timelines and now to durable causal history. Notes, mail, editor buffers, scheduled commands, and journal-backed history can be read as ordered facts. Replay turns a cursor or tick into current state.
Provenance
Provenance records origin and transformation. A datum carries a history: producer, consumer, operation, and parent material. This is useful for debugging, audit, replication, and teaching.
SlOS represents provenance as parent edges, subsystem names, short descriptions, payloads, proof surfaces, and node marks. The operator uses events, why, trace, graph, cpath, cdot, cq, journal, and the web explorer to follow that record.
Plan 9
Plan 9 is useful here as an engineering study in small abstractions. Namespaces, files, and simple protocols make services visible and composable. The system teaches through a uniform operating surface.
SlOS learns the value of direct operator vocabulary. Shell commands expose devices, tasks, actors, timelines, causal history, saved lenses, pipelines, and HTTP endpoints in inspectable forms.
Barrelfish
Barrelfish treats a multicore machine as a distributed system, with explicit communication through service discovery, monitors, and message paths.
SlOS uses actor routing and mesh vocabulary as a small laboratory for the same habit. A future per-core design can coordinate cores through explicit message passing and causal metadata, with deliberate ownership of shared state.
Time-travel debugging
Time-travel debugging depends on recorded execution. The debugger needs enough history to reconstruct, inspect, or move to a previous state.
SlOS keeps this idea at application and kernel-observation scale. Timelines carry cursors. scrub reconstructs state at ticks and can diff or export JSON. The web explorer exposes the same idea as a browser slider over /api/causal/state?tick=N.
Actor systems
Actor systems divide software into named entities with private state and message inboxes. Concurrency becomes delivery order, mailbox pressure, and explicit protocol design.
SlOS actors provide named mailboxes and routeable messages. The causal graph records sends and deliveries, so communication becomes part of the machine history. Mesh and federation extend the same model across nodes.
SlOS limits and tradeoffs
SlOS is an instructional kernel. It uses fixed pools, bounded rings, simple filesystems, direct drivers, and compact records. These choices make mechanisms inspectable and keep failure modes close to the operator.
The causal ring stores recent history, while CJournal extends selected history through SlFS with proof and selfcheck commands. Fixed capacity and retention policies constrain how much can be archived or reconstructed.