How dizzrt/bigos works
BigOS is a freestanding x86_64 operating system, with UEFI as its default boot path and a Legacy compatibility path. Its principal workflow is boot and handoff into the kernel, then user processes enter through syscalls to access process, filesystem, terminal, and network services; PID 1 starts and restarts the shell. The graph also retains documented memory, scheduling, and hardware layers. The README documents several capabilities whose implementation was not sampled, so those are shown only where the tree supports a subsystem path; uncertain wiring is omitted.
Main entry points: syscall.cc Syscall dispatcher · kernel.cc Kernel entry · vfs.cc VFS · proc.cc Process lifecycle
Components 24
Boot
- UEFI loader
kernel/arch/x86/uefi/loader.cc - Legacy boot
kernel/arch/x86/boot/boot.cc - Boot handoff
kernel/mm/boot_handoff.cc
Kernel runtime
- Kernel entry
kernel/core/kernel.cc - Interrupt dispatch
kernel/core/irq/interrupt.cc - Scheduler
kernel/core/sched/sched.cc - Memory manager
kernel/mm/memory.cc - Syscall dispatcher
kernel/core/syscall/syscall.cc - Process lifecycle
kernel/core/proc/proc.cc - Pipes
kernel/core/ipc/pipe.cc
Storage and I/O
Hardware and network
- Block drivers
kernel/drivers/block - TTY and console
kernel/core/terminal/tty.cc - Network protocols
kernel/core/net/protocol.cc - Sockets
kernel/core/net/socket.cc - Virtio network
kernel/drivers/net/virtio_net.cc
Userland
- PID 1 init
user/init/init.c - Shell
user/sh/sh.c - User libc
user/libc/syscall.c - User programs
user/bin
Other components
- Platform
Connections 28
- Platform → UEFI loader: starts
- Platform → Legacy boot: starts
- UEFI loader → Boot handoff: passes boot data
- Legacy boot → Boot handoff: passes boot data
- Boot handoff → Kernel entry: hands off
- Kernel entry → Scheduler: starts
- Kernel entry → Interrupt dispatch: initializes
- Kernel entry → Memory manager: initializes
- Interrupt dispatch → Syscall dispatcher: dispatches
- Syscall dispatcher → Process lifecycle: dispatches
- Syscall dispatcher → VFS: calls
- Syscall dispatcher → Pipes: calls
- Syscall dispatcher → Sockets: calls
- Process lifecycle → Memory manager: maps user space
- Process lifecycle → VFS: loads executable
- VFS → BigFS: routes filesystem access
- VFS → exFAT: routes filesystem access
- BigFS → Block I/O: reads and writes
- exFAT → Block I/O: reads
- Block I/O → Block drivers: dispatches requests
- TTY and console → Interrupt dispatch: receives keyboard IRQ
- Sockets → Network protocols: uses protocols
- Network protocols → Virtio network: sends and receives
- PID 1 init → User libc: uses
- User libc → Syscall dispatcher: issues calls
- PID 1 init → Shell: starts and restarts
- Shell → User programs: executes
- User programs → User libc: uses