bk99.de entertain the web since 1997

Betriebssystementwicklung auf dem Raspberry Pi

Zusammenfassung

Sergey Matyukevich führt mit ausführbaren Lektionen von ARM64-Bootcode über Interrupts und Scheduler bis zu Userspace sowie virtuellem Speicher. Die Reihe verwendet einen Raspberry Pi 3.

Ideen

  • Früher Assemblercode richtet Stack und Prozessorzustand ein.
  • UART liefert Diagnoseausgaben vor komplexen Treibern.
  • Timerinterrupts ermöglichen präemptive Prozessumschaltung.
  • Seitentabellen trennen virtuelle und physische Adressräume.

Einsichten

  • Bare-Metal-Entwicklung legt verborgene Betriebssystemannahmen offen.
  • Eine serielle Konsole bleibt verfügbar, wenn höhere Schichten versagen.
  • Kleine aufeinander aufbauende Schritte erleichtern Hardwaredebugging.

Fakten

  • Der Beispielkernel zielt auf die ARM64-Architektur.
  • Quelltext und Erläuterungen sind frei zugänglich.

Empfehlungen

  • Nutze UART für die ersten Bootmeldungen.
  • Teste Kerneländerungen auf einer separaten SD-Karte.

Referenzen

Originalartikel lesen →

Im Webarchiv suchen