---
Diese Seite ist der architektonische Überblick über FlashOS: wie der
Boot-Pfad, das Memory-Layout, der Scheduler, die Syscalls, die
IRQ-Behandlung, das Tracing und die Test-Harness zusammenpassen. Die
Modulnamen weiter unten beziehen sich auf tatsächliche Dateien im
Repository.
## Inhalt
1. [Source-Layout](#1-source-layout)
2. [Boot-Pfad](#2-boot-pfad)
3. [Memory-Management](#3-memory-management)
4. [Prozessverwaltung & Scheduling](#4-prozessverwaltung--scheduling)
5. [Syscalls & Ausnahmen](#5-syscalls--ausnahmen)
6. [Kernel-Symboltabelle](#6-kernel-symboltabelle-ksyms)
7. [Tracing](#7-tracing)
8. [Testen](#8-testen)
9. [Build-Artefakte](#9-build-artefakte)
## 1. Source-Layout
```text
src/ Kernel core (Zig + AArch64 assembly)
start.zig Build root: comptime-imports every kernel module
kernel.flash kernel_main + bring-up
boot.S _start, EL3→EL1, MMU bring-up, jump to high VAs
entry.S Exception vector table + syscall dispatch
utils.S, mm.S Assembly helpers
sched.S, irq.S Context switch + IRQ enable/disable
generic_timer.S CNTP system register helpers
symbol_area.S Generated kernel symbol table (see §6)
asm_defs.inc Bridge header — pulls in board_asm_defs.inc
asm_defs_common.inc Shared assembler-only macros (board-independent)
board.flash Comptime alias: build_options.board → board/