609 Stimmen

Welche Ressourcen gibt es für den Einstieg in die Betriebssystementwicklung?

Eine Sache, die ich schon immer machen wollte, ist mein eigenes Betriebssystem zu entwickeln (nicht unbedingt so ausgefallen wie Linux oder Windows, aber besser als ein einfacher Bootloader, den ich schon gemacht habe).

Es fällt mir schwer, Ressourcen/Anleitungen zu finden, die über das Schreiben eines einfachen "Hello World"-OS hinausgehen.

Ich weiß, dass viele Leute mir wahrscheinlich Linux oder BSD empfehlen werden, aber die Codebasis für solche Systeme ist (vermutlich) so groß, dass ich nicht wüsste, wo ich anfangen sollte.

Irgendwelche Vorschläge?

Update: Um es den Leuten, die über Google auf diesen Beitrag gestoßen sind, einfacher zu machen, hier einige Ressourcen zur Betriebssystementwicklung:

Andere Ressourcen:

Ich habe eine gute Ressource namens MikeOS MikeOS ist ein Lernwerkzeug, um zu zeigen, wie einfache Betriebssysteme funktionieren. Es verwendet den 16-Bit-Real-Mode für den BIOS-Zugriff, so dass es keine komplexen Treiber benötigt.

Aktualisiert 14.11.08

Ich habe einige Ressourcen gefunden unter Freebyte's Guide to...Freie und unfreie Betriebssysteme die auf Kits wie OSKit und die ExOS-Bibliothek verweist. Diese scheinen sehr nützlich für den Einstieg in die Betriebssystementwicklung zu sein.

Aktualisiert am 23.2.09

Rik Tokio empfohlen nanoos hierin Frage . Nanoos ist ein in C++ geschriebenes Betriebssystem.

Aktualisiert 3/9/09

Dinah stellte einige nützliche Stack Overflow-Diskussionen für angehende OS-Entwickler zur Verfügung: Hindernisse bei der Erstellung eines eigenen Betriebssystems erörtert, auf welche Fallstricke man bei der Entwicklung eines Betriebssystems stoßen kann und OS-Entwicklung ist eine eher allgemeine Diskussion.

Aktualisiert 7/9/09

LB hat einen Link zu der Pintos Projekt ein Lehrbetriebssystem für Studenten, die die Entwicklung von Betriebssystemen erlernen wollen.

Aktualisiert am 27.7.09 (Immer noch aktuell!)

Ich stolperte über eine OS-Online-Kurs von Berkley mit 23 Vorträgen.

TomOS ist eine Abzweigung von MikeOS das einen kleinen Speichermanager und Mausunterstützung enthält. Wie MikeOS ist es als Bildungsprojekt gedacht. Es ist in NASM-Assembler geschrieben.

Aktualisiert 8/4/09

Ich fand die Dias und andere Materialien als Ergänzung zu den oben aufgeführten Online-Vorlesungen in Berkeley.

Aktualisiert am 23.8.09

Alle Fragen mit dem Stichwort osdev auf Stackoverflow

OS/161 ist ein in c geschriebenes akademisches Betriebssystem, das auf einer simulierten Hardware läuft. Dieses Betriebssystem ist ähnlich wie Nachos. Danke Novelocrat!

tangurena empfiehlt http://en.wikipedia.org/wiki/MicroC/OS-II , ein Betriebssystem für eingebettete Systeme. Es gibt ein Begleitbuch auch.

Linux-Kernel-Entwicklung von Robert Love wird von Anders vorgeschlagen. Es ist ein "weithin anerkannter Insiderblick auf den Linux-Kernel".

Aktualisiert am 18.9.2009

Vielen Dank an Tim S. Van Haren für den Hinweis auf Kosmos , ein vollständig in c# geschriebenes Betriebssystem.

tgiphil erzählt uns von Managed Operating System Alliance (MOSA) Rahmenwerk eine Reihe von Werkzeugen, Spezifikationen und Quellcode zur Förderung der Entwicklung von verwalteten Betriebssystemen auf der Grundlage der Common Intermediate Language".

Aktualisierung 9/24/2009

Steve hat ein paar Ressourcen für die Entwicklung unter Windows mit Visual Studio gefunden, siehe BrokenThorns Anleitung mit VS 2005 einrichten o OSDevs VS-Abschnitt .

Aktualisiert am 5.9.2012

kerneltrap.org ist nicht mehr verfügbar. Der Linux-Kernel v0.01 ist erhältlich bei kernel.org

Aktualisiert am 21.12.2012 Eine grundlegende OS-Entwicklung Lehrgang ist als Semesterprojekt konzipiert. Es führt Sie durch den Aufbau eines Betriebssystems mit grundlegenden Komponenten. Ein sehr guter Einstieg für Anfänger. Verwandt Papier . Danke Srujan!

Aktualisiert am 15.11.2013

Ein einfaches Betriebssystem von Grund auf neu schreiben . Danke James Moore!

Aktualisiert am 8.12.2013

Wie man ein Computerbetriebssystem erstellt Danke ddtoni!

Aktualisiert 18.3.2014

ToAruOS ein Betriebssystem, das größtenteils von Grund auf neu entwickelt wurde, einschließlich GUI

Aktualisiert 12. September 2016

Schreibe dein eigenes Spielzeug-Betriebssystem

Aktualisiert 10. Dezember 2016

Ein einfaches Betriebssystem schreiben - von Grund auf (Danke, @Tyler C)

17voto

Steve T Punkte 7649

Ich wünschte, es gäbe einen Ort, an dem man alle Informationen über die Entwicklung eines eigenen Betriebssystems erhält. Dem am nächsten kommt die Seite OS Dev Wiki y Foren . Sie bieten eine Menge guter Informationen über die Einrichtung, Entwicklung und Geräte-Hardware-Informationen.

Außerdem gibt es einige tolle Tutorials unter BoneFide habe ich das Tutorial "Erste Schritte" von Kleie und schaue mir jetzt ein neueres Werk an, das auf seinem Titel Entwickeln Sie Ihr eigenes Spielzeug-UNIX-Klon-OS .

Ich bin dafür, das zu überprüfen: "Operating Systems : Entwurf und Implementierung"

Und wenn Sie unter Windows entwickeln wollen, lesen Sie jolsons Blogbeitrag .

Bearbeiten: Für die Entwicklung unter Windows mit Visual Studio, siehe BrokenThorns Leitfaden o OSDevs Wiki .

12voto

lomaxx Punkte 108937

Sie können auch einen Blick werfen auf SharpOS das ist ein Betriebssystem, das sie in c# schreiben.

10voto

Adam Davis Punkte 89506

Es gibt gute Quellen für die Grundlagen von Betriebssystemen in Büchern. Da es nicht viel Bedarf gibt, neue Betriebssysteme von Grund auf zu entwickeln, werden Sie im Internet nicht viele Informationen für Hobbyisten finden.

Ich empfehle das Standardlehrbuch "Modern Operating Systems" von Tanenbaum. Vielleicht finden Sie auch "Operating System Elements" von Calingaert nützlich - es ist ein dünner Überblick über ein Buch, das eine grobe Skizze dessen gibt, was ein Betriebssystem vom Standpunkt eines Designers aus gesehen ist.

Wenn Sie sich für Echtzeitsysteme interessieren (und Sie sollten zumindest die Unterschiede und Gründe für Echtzeitbetriebssysteme verstehen), dann würde ich auch "MicroC/OS-II" von Labrosse empfehlen.

編集する。

Können Sie präzisieren, was Sie mit "technischer" meinen? Diese Bücher enthalten Pseudocode-Implementierungsdetails, aber suchen Sie nach einem Beispiel-Betriebssystem oder nach Codeschnipseln für eine bestimmte Maschine/Sprache?

-Adam

8voto

LB40 Punkte 11541

Ich komme gerade von einer anderen Frage. Ich würde gerne erwähnen Pintos ... Ich erinnerte mich an meinen OS-Kurs mit Nachos und Pintos scheint die gleiche Art von Sache, die auf x86 laufen kann sein.

8voto

Anders Rune Jensen Punkte 3697

Ich fand das Buch Linux Kernel Development von Robert Love recht interessant. Es erklärt die Funktionsweise der verschiedenen Subsysteme im Linux-Kernel auf sehr bodenständige Weise. Da der Quellcode verfügbar ist, ist Linux ein erstklassiger Kandidat für etwas zum Hacken.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X