TinyOS (v2.9) is an educational 32-bit (i386) Multiboot2 kernel in freestanding C and
NASM: PAE paging with NX/W^X, ASLR, ring-3 user processes running ECDSA-signed ELF
binaries (enforced by default), a ring-3 login shell, VFS over RAMFS and FAT32, an e1000
TCP/IP stack with firewall, IDS and EDR. See ../README.md for the
project overview, build and run instructions.
This page indexes the documents in doc/. Docs marked historical describe an
earlier state of the tree and are kept for the record; where they conflict with the
code, the code wins.
| Document |
What it covers |
RING3_MIGRATION.md |
Ring-3 migration: each syscall's design rationale, PRs #43–#58, harness traps |
KERNEL_BUGS.md |
Fixed kernel bugs worth remembering (ISR EAX clobber, exec triple-fault, sha256/PMM/COW faults) |
CRYPTO_INVARIANTS.md |
Crypto invariants, ELF signing, what a harness must prove |
NETWORK_ISOLATION.md |
RX path, counters, firewall/IDS test vehicles |
NETDAEMON_DESIGN.md |
knetd, its supervisor, why the ring-3 parser move (D1) was withdrawn |
FIREWALL_AND_IDS_CONFIG.md |
Configuring the firewall and IDS |
EDR_QUICK_REFERENCE.md |
What the EDR code does: hooks, signatures, responses, daemon |
SHELL_FEATURES.md |
Shell environment variables, aliases, redirection, pipelines, jobs |
STDIN_FEATURES.md |
Standard streams and the fd model |
AUDIT_LOG_PERSISTENCE.md |
Why the audit log is volatile, and stays that way |
MSEAL_AUDIT.md |
SYS_MSEAL audit: the disproved latency hypothesis |
LOCK_ORDERING.md |
Lock acquisition hierarchy |
ROADMAP_NEXT.md |
Post-v2.2 roadmap with rationale (all items done or closed) |
Harness rules live in ../verify/CLAUDE.md; the ring-3 shell's
notes in ../userspace/CLAUDE.md.