How dheerajdamala/my_os works
SentinelOS is a small 32-bit x86 kernel MVP. Its runtime starts at the Multiboot entry point, enters kernel initialization, configures foundational services, then creates threads that exchange mailbox messages while timer-driven preemption and scheduler yields switch execution. The graph also preserves the documented memory-management and telemetry capabilities. Edges are limited to relationships shown in the README or sampled source; unsampled implementation details are not inferred.
Main entry points: kernel.c Kernel init and demo threads · scheduler.c Thread scheduler · idt.c IDT and interrupt dispatch · ktf.c Kernel telemetry
Components 13
Startup and kernel
- Boot entry
src/boot/boot.asm - Kernel init and demo threads
src/kernel/kernel.c
CPU and interrupts
- GDT setup
src/kernel/gdt.c - IDT and interrupt dispatch
src/kernel/idt.c - Interrupt stubs
src/kernel/interrupt.asm - PIT timer
src/kernel/timer.c
Kernel services
- Physical and heap memory
src/kernel/memory.c - Thread scheduler
src/kernel/scheduler.c - Context switching
src/kernel/switch.asm - Mailbox IPC
src/kernel/ipc.c
Output and telemetry
- Kernel telemetry
src/kernel/ktf.c - Serial driver
src/drivers/serial.c
Other components
- Multiboot loader
Connections 20
- Multiboot loader → Boot entry: loads entry
README.md - Boot entry → Kernel init and demo threads: enters kernel
README.md - Kernel init and demo threads → Serial driver: initializes
src/kernel/kernel.c - Kernel init and demo threads → GDT setup: initializes
src/kernel/kernel.c - Kernel init and demo threads → IDT and interrupt dispatch: initializes
src/kernel/kernel.c - Kernel init and demo threads → PIT timer: configures
src/kernel/kernel.c - Kernel init and demo threads → Kernel telemetry: initializes
src/kernel/kernel.c - Kernel init and demo threads → Physical and heap memory: initializes
src/kernel/kernel.c - Kernel init and demo threads → Thread scheduler: initializes
src/kernel/kernel.c - Kernel init and demo threads → Mailbox IPC: initializes
src/kernel/kernel.c - Kernel init and demo threads → Thread scheduler: creates threads
src/kernel/kernel.c - Kernel init and demo threads → Thread scheduler: starts scheduling
src/kernel/kernel.c - Kernel init and demo threads → Mailbox IPC: thread code sends and receives
src/kernel/kernel.c - IDT and interrupt dispatch → Interrupt stubs: registers handlers
src/kernel/idt.c - Thread scheduler → Physical and heap memory: allocates stacks
src/kernel/scheduler.c - Thread scheduler → Kernel telemetry: logs events
src/kernel/scheduler.c - Thread scheduler → Context switching: switches context
src/kernel/scheduler.c - PIT timer → Thread scheduler: drives preemption
README.md - Kernel telemetry → Serial driver: logs telemetry
README.md - IDT and interrupt dispatch → Serial driver: reports exceptions
src/kernel/idt.c