7 Punkte von GN⁺ 2024-09-15 | 1 Kommentare | Auf WhatsApp teilen
  • Dieses Repository enthält den Quellcode der Serie Writing an OS in Rust, die auf os.phil-opp.com bereitgestellt wird
  • Bei Fragen kann man ein Issue öffnen oder auf Gitter chatten

Speicherort des Codes

  • Der Code zu jedem Beitrag befindet sich in einem separaten git-Branch
  • Der Zwischenstand nach jedem Beitrag kann eingesehen werden
  • Der Code des neuesten Beitrags ist hier verfügbar
  • Über den Link (source code) in der Beitragsliste findet man den Branch zu jedem Beitrag
  • Die Branches sind im Format post-XX benannt (XX ist die Beitragsnummer)
  • Beispiel: Der Beitrag VGA Text Mode ist post-03, der Beitrag Hardware Interrupts ist post-07
  • Build-Anweisungen stehen in der Readme des jeweiligen Branches
  • Mit git worktree kann ein Branch in ein Unterverzeichnis ausgecheckt werden
    git worktree add code post-10
    
  • Der obige Befehl erstellt ein Unterverzeichnis namens code und enthält den Code des 10. Beitrags ("Heap Allocation")

Beiträge

  • Das Ziel dieses Projekts ist es, in einzelnen Blogbeiträgen ein Schritt-für-Schritt-Tutorial bereitzustellen
  • Derzeit gibt es die folgenden Beiträge

Bare Bones:

Interrupts:

Memory Management:

Multitasking:

Beiträge der ersten Edition

  • Die aktuelle Blogversion ist die zweite Edition; die erste Edition wird nicht mehr gepflegt
  • Die Beiträge der ersten Edition können aber weiterhin nützlich sein
  • Die Beitragsliste ist wie folgt

Bare Bones:

Memory Management:

Exceptions:

Additional Resources:

  • Cross Compile Binutils
  • Cross Compile libcore
  • Set Up GDB
  • Handling Exceptions using Naked Functions
  • Catching Exceptions (source code)
  • Better Exception Messages (source code)
  • Returning from Exceptions (source code)

Lizenz

  • Dieses Projekt ist mit Ausnahme des Ordners blog/content unter einer der folgenden Lizenzen lizenziert
  • Für die Lizenz des Ordners blog/content siehe blog/content/README.md

Beiträge

  • Sofern nicht ausdrücklich anders angegeben, wird jeder absichtlich eingereichte Beitrag gemäß der Definition in der Apache-2.0-Lizenz wie oben unter einer Doppellizenz aufgenommen

Zusammenfassung von GN⁺

  • Dieses Projekt bietet ein Tutorial, das Schritt für Schritt erklärt, wie man mit Rust ein Betriebssystem schreibt
  • Jeder Beitrag behandelt ein eigenständiges Thema und wird zusammen mit Codebeispielen erläutert
  • Es ist eine sehr nützliche Ressource für Menschen, die sich für Betriebssystementwicklung interessieren
  • Man kann lernen, wie sich die Sicherheit und Performance von Rust für die Entwicklung eines Betriebssystems nutzen lassen
  • Ein anderes Projekt mit ähnlicher Funktionalität ist Redox OS

1 Kommentare

 
GN⁺ 2024-09-15
Hacker-News-Kommentare
  • Habe vor ein paar Jahren die zweite Edition abgeschlossen und dabei viel gelernt

    • Die Erklärungen zur OS-Entwicklung waren gut und auch zum Lernen von Rust nützlich
    • Der Autor versteht die Idiome der Sprache gut, daher war die Art, wie der Code ausgedrückt wurde, lehrreich
    • Besonders beeindruckend war die Erklärung zur Implementierung von Futures in Rust im Blog
    • Hoffe, dass Phil die Arbeit an einer dritten, auf EFI basierenden Edition wieder aufnimmt
    • Die zweite Edition ist immer noch eine großartige Möglichkeit, ein Wochenende mit Entwicklung zu verbringen
  • Habe nach Abschluss des Tutorials vor 5 Jahren mit der Arbeit an MOROS begonnen

    • Sehr zu empfehlen für alle, die sich für Rust und OS-Entwicklung interessieren
    • Phil hat sich viel Mühe gegeben, und das Ergebnis zeigt das deutlich
    • Danach kann man über das osdev-Wiki weiterlernen
  • Statt ein OS in Rust zu schreiben, sollte man eine Datenplattform bauen, die DML/DDL ausführen kann

  • Habe dieses Material entdeckt, nachdem ich mich intensiv mit Rust und OS-Entwicklung beschäftigt hatte

    • Ich war von der Qualität dieses Materials beeindruckt und konnte nicht nur etwas über die Geschichte und das Design von Betriebssystemen lernen, sondern auch über Elemente von Rust
    • Phil hat großartige Arbeit geleistet
  • Dank dieses Materials habe ich 2021 mit Rust angefangen

    • Ich bin sehr dankbar, dass es dieses Material gibt
  • Phils Texte über OS-Entwicklung sind immer lesenswert

  • Das Harvey-OS-Team arbeitet jetzt am R9OS-Projekt

  • Ich empfehle besonders die Beiträge der ursprünglichen Edition

    • Die aktuelle Edition nimmt einem zu viel ab, indem sie den Bootloading-Prozess mit einem speziellen Crate behandelt
  • Bin gerade von der Rustconf zurückgekommen, und es gibt ungefähr fünf größere OS-Releases mit Fokus auf Echtzeitbetriebssysteme

    • Nicht alle sind Open Source
  • Eine weitere gute Ressource ist, mit Rust ein RISC-V-OS zu bauen