This manual describes SlOS as a machine to be operated. The reader is expected to issue
commands, observe events, and treat history as a first-class device.
Chapter 1
Identity of the machine
SlOS is a small x86-32 operating system written in C and NASM assembly. It boots via
Multiboot, runs under QEMU with VirtIO devices, provides ring-3 user programs through
INT 0x80, persists files to SlFS, runs a TCP/IP stack, and records
important operations as causal events.
Normal entry
make
make run
make run-nographic
Showcase entry
showcase
neofetch
demo
events
graph
Chapter 2
Subsystem inventory
Subsystem
Files
Purpose
Boot and CPU
boot.asm, x86.c, interrupt.asm
GDT, IDT, TSS, PIC/PIT, context switching, and exception entry.
Memory
memory.c
Physical frame bitmap, identity-mapped paging, and first-fit kernel heap.
Storage
virtio_blk.c, blockfs.c
Synchronous VirtIO sectors and persistent SlFS files.
Network
virtio_net.c, net.c, tcp.c, dhcp.c
Ethernet, ARP, IPv4, UDP, TCP, and DHCP.
Causality
causal.c, replay.c, timeline.c
Event DAG, replay engine, and named application timelines.
Applications
notes.c, mail.c, editor.c, sched_app.c
Graph-native software whose state is reconstructed from events.
Chapter 3
Command tables
Causal graph
events [N]
List recent events from the live causal ring.
why <event-id>
Show direct parents and the immediate reason for an event.
trace <event-id>
Walk the ancestry chain backward through the DAG.
graph
Draw a compact ASCII view of the recent event graph.
graph-health
Report orphan counts, depth, rate, and multi-parent events.
Timelines
tl
List named application event chains.
tl show <name>
Dump timeline events.
tl mark <name> <label>
Create a named bookmark in the event chain.
tl rewind <name> <ticks>
Move the timeline cursor backward.
tl export <name> [-n N] [path]
Write a textual timeline view to SlFS.
Graph-native applications
note add <text...>
Append a note event to the notes timeline.
note tag <id|last> <tag>
Attach searchable metadata.
mail
Open the timeline-backed mailbox.
schedule <ticks> <command...>
Record a future shell command in the scheduler timeline.
edit
Open the full-screen editor whose edits are timeline events.
Chapter 4
Known limits
Bounded causal history
The causal graph is a finite recent-history ring. Timelines and snapshots carry
durable application state beyond the live graph window.
Pedagogical security posture
SlOS is transparent by design. It demonstrates privilege transitions and user
programs with the security posture of an instructional kernel.
Small-kernel economy
The freestanding runtime supplies local string, memory, formatting, heap, and
device routines.
Research direction
The actor/mesh layer prototypes an SMP model where cores communicate as peers
through explicit messages and shared-state minimization.