How itaiaviad/bios works
BIOS is an educational x86_64 operating system. Its demonstrated path initializes the kernel, discovers storage, mounts an EXT2 volume, and launches an ELF user program; the user-space shell then provides filesystem commands. Separate capabilities include process scheduling, device and memory support, and networking. The graph reflects direct calls visible in the excerpts and capabilities stated in the README; unsampled networking and syscall wiring is kept deliberately sparse.
Main entry points: kernel.c Kernel startup · vfs.c Virtual filesystem · disk.c Disk interface · elf.c ELF loader
Components 25
Kernel Core
- Kernel startup
kernel/kernel.c - Interrupt handling
kernel/arch/x86_64/interrupts/interrupts.c - Paging and heap
kernel/arch/x86_64/mmu/mmu.c - PCI discovery
kernel/driver/pci.c
Storage and Filesystem
- Disk interface
kernel/driver/disk.c - AHCI SATA driver
kernel/driver/ahci.c - Virtual filesystem
kernel/arch/x86_64/vfs.c - EXT2 reader
kernel/driver/ext2.c - EXT2 disk volume
Processes and User Space
- Process management
kernel/process/process.c - ELF loader
kernel/process/elf.c - Process scheduler
kernel/process/sched.c - User shell
user/shell/shell.c - Shell filesystem commands
user/shell/fs.c - Shell network commands
user/shell/net.c
Networking
- RTL8139 driver
kernel/net/rtl8139.c - Ethernet
kernel/net/ethernet.c - ARP
kernel/net/arp.c - IPv4
kernel/net/ipv4.c - UDP and ports
kernel/net/udp.c - DNS
kernel/net/dns.c
C Library
- File operations
libc/file_op/file_op.c - Standard I/O
libc/stdio/stdio.c - Memory allocation
libc/memory/malloc.c
Other components
- User
Connections 23
- Kernel startup → Interrupt handling: initializes
- Kernel startup → Process management: initializes
- Kernel startup → PCI discovery: enumerates
- Kernel startup → Disk interface: enumerates disks
- Kernel startup → Virtual filesystem: initializes
- Kernel startup → RTL8139 driver: initializes
- Kernel startup → Virtual filesystem: mounts EXT2
- PCI discovery → AHCI SATA driver: discovers device
- AHCI SATA driver → Disk interface: registers drives
- Disk interface → EXT2 disk volume: accesses
- Virtual filesystem → EXT2 reader: calls EXT2 reader
- EXT2 reader → Disk interface: reads sectors
- Kernel startup → ELF loader: executes program
- ELF loader → Virtual filesystem: loads file
- ELF loader → Process management: creates process
- Process management → Process scheduler: dispatches
- User → User shell: uses
- User shell → Shell filesystem commands: dispatches commands
- User shell → Shell network commands: dispatches commands
- Shell filesystem commands → File operations: calls file APIs
- File operations → Virtual filesystem: reads and lists
- RTL8139 driver → Ethernet: handles frames
- Ethernet → ARP: dispatches ARP