Manual section 0

Field manual.

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.

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

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.

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.

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.