How aquice/amberos works
amberOS is a small x86 operating-system kernel. Its sampled startup routine initializes memory and the text console, configures interrupt and timer support, unmasks an IRQ, then enables interrupts and idles. The README gives no further product detail; subsystem roles are partly inferred from the tree and filenames, and unsampled interrupt wiring is not shown.
Main entry points: terminal.c Terminal · kernel.c Kernel startup · keyboard_irq.c Keyboard IRQ · pic_8259.c 8259 PIC
Components 17
Kernel startup
- Kernel startup
src/kernel/kernel.c - Bootloader
src/bootloader/boot.asm - Kernel entry
src/kernel/main.asm
Interrupts and timing
Text console
- Terminal
src/kernel/kernel/io/term/terminal.c - Cursor control
src/kernel/kernel/io/term/cursor.c
Memory and diagnostics
- Memory init
src/kernel/kernel/memory/meminit32.c - Memory source
src/kernel/include/kernel/memory/meminit32.h - Kernel panic
src/kernel/kernel/io/panic.c - Diagnostics
src/kernel/std/diagnostics.c
Other components
- VGA text memory
- x86 I/O ports
Connections 15
- Kernel startup → Memory init: initializes
- Kernel startup → Terminal: initializes
- Kernel startup → IDT setup: initializes
- Kernel startup → 8259 PIC: remaps
- Kernel startup → PIT setup: initializes
- Kernel startup → IRQ setup: initializes
- Memory init → Memory source: creates
- Terminal → Memory source: reserves lines
- Terminal → Cursor control: updates
- Terminal → VGA text memory: renders
- 8259 PIC → x86 I/O ports: reads and writes
- Keyboard IRQ → x86 I/O ports: reads scancode
- Keyboard IRQ → Terminal: prints scancode
- Kernel panic → Terminal: prints panic
- Diagnostics → Terminal: logs through