Osdev-Notizen
Ein Buch, das als Sammlung von Notizen entstand und den Leser durch die Schritte zum Erstellen eines Betriebssystemkernels von Grund auf führen soll. Jedes Kapitel wurde während des Schreibens (und Neuschreibens) unserer eigenen Kernel geschrieben und behandelt einen Schritt des Prozesses von der Auswahl eines Bootloaders bis zum Ausführen eines geladenen ELF im Userspace.
Wir wünschen Ihnen viel Spaß und hoffen, dass Sie hier etwas Interessantes finden!
Der Inhalt dieses Repositorys ist auch als gedrucktes Buch erhältlich und kann über Lulu erworben werden:
- Taschenbuch : Klicken Sie hier
- Gebundene Ausgabe : Klicken Sie hier
Die neueste Master-Version enthält das aus dem Master erstellte PDF.
Aktuelle Kapitel:
- Teil 0: Einführung
- Angenommenes Wissen
- Über die Autoren
- Teil 1: Protokolle erstellen und booten
- Aufbau eines Kernels
- Bootloader und Boot-Protokolle
- Makefiles
- Linker-Skripte
- Generieren einer bootfähigen ISO
- Teil 2: Architektur und grundlegende Treiber
- Überblick
- Hallo Welt
- Ein höherer Halbkern
- Globale Deskriptortabelle
- Unterbricht
- ACPI-Tabellen
- APIC
- Timer
- Übersicht über die PS2-Tastatur
- Behandlung von PS2-Tastaturunterbrechungen
- Implementierung des PS2-Tastaturtreibers
- Teil 3: Videoausgabe
- Der Framebuffer
- Text auf Framebuffer zeichnen
- Teil 4: Speicherverwaltung
- Überblick
- Physisches Gedächtnis
- Paging
- Virtueller Speichermanager
- Heap-Zuordnung
- Teil 5: Terminplanung
- Überblick
- Der Planer
- Prozesse und Threads
- Schlösser
- Teil 6: Zugang zum Userspace
- Überblick
- Modi wechseln
- Aktualisierte Interrupt-Behandlung
- Systemaufrufe
- Beispiel für Syscall-ABI
- Teil 7: Kommunikation zwischen Prozessen
- Überblick
- Gemeinsamer Speicher
- Nachrichtenübermittlung
- Teil 8: Dateisystem
- Überblick
- Das virtuelle Dateisystem
- Das Tar-Dateisystem
- Teil 9: Laden und Ausführen von ELFs
- Teil 10: Darüber hinausgehen
- Extras: Anhänge
- Allgemeine Fehlerbehebung
- Tipps und Tricks
- C-Sprache
- Arbeiten mit NASM
- Alles über Cross-Compiler
- Debuggen
- Speicherschutz
- Nützliche Ressourcen
- Danksagungen
Unsere Projekte
- DreamOs64: 64-Bit-Betriebssystem, von Ivan G. von Grund auf neu geschrieben
- Northport: Ein weiteres 64-Bit-Betriebssystem mit SMP und Riscv-Unterstützung! von Dean T.
- DreamOs: 32-Bit-Betriebssystem, das von Grund auf neu geschrieben wurde. Dieses Projekt wurde eingestellt, ist aber dennoch erwähnenswert. Auch von Ivan G.
Autoren
- Ivan G (dreamos82) – Autor und Ersteller dieser Notizen.
- Dean T (DeanoBurrito) – Autor.
Lizenz
Der Inhalt (Code, Text und andere Assets) dieses Repositorys ist unter der Creative Commons Attribution-NonCommercial 4.0 Public License lizenziert. Den vollständigen Text finden Sie in der LIZENZ-Datei.
Diese Lizenz ist zwar keine Rechtsberatung, lässt sich aber wie folgt zusammenfassen:
- Es steht Ihnen frei, dieses Material in jedem Medium und Format weiterzugeben (zu kopieren und weiterzuverbreiten).
- Das Material anpassen (remixen, transformieren und darauf aufbauen).
Unter folgenden Einschränkungen:
- Sie müssen eine entsprechende Quellenangabe angeben, einen Link zur Lizenz bereitstellen und angeben, ob Änderungen vorgenommen wurden.
- Sie dürfen das Material nicht für kommerzielle Zwecke verwenden.
Bitte beachten Sie, dass keine Garantien jeglicher Art übernommen werden.