Section 1
Briefing
SlOS is a small operating system presented as a causal machine. It boots, runs drivers, schedules tasks, accepts shell commands, serves files, and records significant activity as events.
This field manual gathers the learning route into one continuous document. It is meant for reading on paper or in a long browser session.
Section 2
Operating posture
Begin with the machine in front of you. Build the kernel, enter QEMU, issue commands, and keep the event list open. Treat each command as an experiment with a recorded result.
The core operator questions are stable: what happened, which subsystem emitted it, what were its parents, and which current view was derived from it.
Section 3
Causal model
An event receives an ID, a subsystem label, a description, time fields, optional payload material, and parent event IDs. Parent edges turn a flat stream into a directed explanation graph.
Lamport time supplies causal ordering. Wall ticks and local counter fragments help the human operator line up logs, captures, and command output.
Section 4
Timeline applications
Applications that benefit from history use named timelines. Notes, mail, editor buffers, and scheduled commands are represented as application events with replay callbacks.
The timeline cursor is the manual control. Rewind moves the selected state backward. Forward moves it ahead. Export and snapshots carry selected state into SlFS.
Section 5
Source study
Use the source plates after the behaviour is familiar. Follow the event structure, the bounded ring, syscall context, actor registration, and notes persistence.
The implementation favours small structures and direct transitions. This makes it suitable for manual tracing from shell command to kernel event to application state.
Section 6
Research lineage
The reading room supplies the design ancestry. Lamport clocks teach logical order. Event sourcing teaches state from facts. Provenance teaches origin tracking. Plan 9 teaches clear names and simple service surfaces.
Barrelfish teaches explicit communication inside the machine. Time-travel debugging teaches recorded state movement. Actor systems teach isolated entities and message delivery.
Section 7
Limits and tradeoffs
SlOS uses bounded buffers, fixed tables, compact payloads, and a recent-history causal ring. These limits keep the system readable and make resource decisions visible.
Durable state belongs to SlFS, timeline exports, and application snapshots. Recent explanation belongs to the causal graph. The operator should know which structure is carrying which responsibility.