Boot flow
src/arch/i386/boot.s, linker.ld, boot/grub/grub.cfg
Trace how GRUB transfers control, the stack is prepared, and kernel_main starts.
OS-dev teaching guide
SimpleOS is intentionally small enough to read but complete enough to show the core ideas: boot, memory, processes, syscalls, pipes, signals, a filesystem, and a shell. The browser demo makes the first run zero-setup; the repository keeps the real ISO and QEMU path available for deeper work.
C and x86 assembly, GRUB boot, ring 0 to ring 3, and 23 syscalls.
Boot the live ISO in the browser and run shell commands without a toolchain.
Follow each subsystem from the README into the exact source files.
src/arch/i386/boot.s, linker.ld, boot/grub/grub.cfg
Trace how GRUB transfers control, the stack is prepared, and kernel_main starts.
src/mm/pmm.c, src/mm/vmm.c, src/mm/kmalloc.c
Study physical allocation, paging, copy-on-write fork, and the kernel heap.
src/kernel/process.c, src/kernel/scheduler.c
Follow PCB lifecycle, preemptive round-robin scheduling, context switching, and user processes.
src/kernel/syscall.c, userspace/ulib.h
Map int 0x80 dispatch to user-space wrappers and shell-visible behavior.
userspace/shell.c, src/fs/fs.c
Inspect built-ins, pipes, redirection, job control, and the RAM filesystem.
helppslsls /binecho hello | wccat /bin/hello