Betriebssystementwicklung auf dem Raspberry Pi
Zusammenfassung
Sergey Matyukevich führt in aufeinander aufbauenden Lektionen vom ARM64-Bootcode zu Interrupts, Scheduler, Userspace und virtuellem Speicher.
Ideen
- Früher Assemblercode richtet Stack und Ausführungszustand ein.
- UART liefert eine einfache Diagnoseausgabe ohne vollständige Treiberumgebung.
- Timerinterrupts ermöglichen präemptives Scheduling.
- Seitentabellen trennen virtuelle und physische Adressen.
Einsichten
- Bare-Metal-Arbeit macht sonst verborgene Betriebssystemannahmen sichtbar.
- Eine serielle Konsole bleibt wertvoll, wenn höhere Schichten noch fehlen.
- Kleine aufeinander aufbauende Schritte erleichtern Hardwarediagnose.
Fakten
- Das Projekt zielt auf Raspberry Pi 3 und ARM64.
- Die Lektionen enthalten Quelltext und Erklärungen.
- Der Beispielkernel wird ohne Linux gestartet.
Empfehlungen
- Nutze eine serielle Konsole für frühe Bootmeldungen.
- Versioniere bekannte SD-Karten-Images für reproduzierbare Tests.
Referenzen
Der Link zur Originalquelle öffnet einen neuen Tab.