webentwicklung-frage-antwort-db.com.de

Ressourcen zur Entwicklung eines Betriebssystems

Ich plane, ein Betriebssystem zu schreiben, und ich weiß nicht viel über Betriebssysteme. Gibt es gute Quellen oder Bücher zum Lesen, damit ich lernen kann? Was sind deine Empfehlungen?

66
Agusti-N

An der Universität, die ich besuchte, verwendeten wir Andrew Tannenbaums Modern Operating Systems . Ich kann es nur wärmstens empfehlen, da es klare Erklärungen für die Kompromisse enthält, die mit vielen Entwurfsentscheidungen verbunden sind, denen Sie begegnen werden. Dieses Buch ist ein bisschen "fairer und ausgewogener" als das Minix-Buch.

alt text

Ich empfehle dieses Buch auch, weil trotz seines netzberühmten Flammenkrieges mit Linus Torvalds nur wenige seiner Vorurteile in dem Buch durchkommen. Außerdem ist er ein ziemlich anständiger Schriftsteller, und das Buch ist tatsächlich unterhaltsam.

44
Bill the Lizard

Betriebssystem-Implementierung Prentice Software

 alt text

Dieses Buch wurde von Tanenbaum geschrieben, dem Hauptverantwortlichen für Minix, auf dem Linux basiert. Es bietet gute Übersichten für grundlegende Betriebssystemkonzepte wie Speicherverwaltung, Dateisysteme, Prozesse usw. Die Konzepte in diesem Buch sind eng mit Beispielen des Minix-Betriebssystems verknüpft, was eine gute Sache ist. 

Ich denke, du solltest mit so etwas anfangen.

14
10
PhiLho

Os dev website ist reich an Informationen, wenn Sie auch Ihr eigenes Betriebssystem kodieren möchten

9

Betriebssystemkonzepte ist das Buch, das wir an der Universität verwendet haben. Es ist ziemlich hässlich, ABER die Informationen sind gut zu erklären (von der einfachen Speicherverwaltung, wie das Betriebssystem entscheidet, was ausgeführt wird oder wie ein Deadlock vermieden wird). Ziemlich breit.

 alt text

9
7
Foredecker

Werfen Sie einen Blick auf HelenOS , ein von Grund auf auf Mikrokernel basierendes Betriebssystem, das ein vollständig modernes Betriebssystem sein soll. Disclamer, ich bin ein Mitarbeiter, ich arbeite an der Shell von Grund auf.

HelenOS wurde nach ia32/64, SPARC, ARM und mehr portiert, es ist sehr gut gestaltet und einfach zu lesen. Es steckt noch in den Kinderschuhen, zeigt jedoch ein mögliches Design, das das Mikrokernel-Design wirklich nutzt und viele Probleme in einer Mikrokernel-Implementierung (wie z. B. IPC) löst. 

Es enthält auch Skripts, die automatisch eine geeignete Werkzeugkette für das Cross-Compilieren einrichten. Es ist sehr einfach zu bauen und läuft sehr gut in den meisten Simulatoren (d. H. QEMU) oder Bare Metal.

Ich würde auch L4, Minix3 und die GNU HURD (basierend auf Mach) studieren, wobei letzteres ein Beispiel für Designfehler ist, wenn versucht wird, einen Mikrokernel zu nutzen.

Wenn Sie den monolithischen Weg gehen wollen, lernen Sie einfach Linux.

4
Tim Post

Ich würde wärmstens empfehlen, einen Blick auf die Klasse der Betriebssysteme MIT zu werfen. Es hat viele nützliche Hinweise und eine Reihe von Laborübungen, mit denen Sie herumspielen können (einschließlich automatisierter Bewertungsskripte, damit Sie nicht MIT Schüler sein müssen).

3
Adam Rosenfield

Lehrbuch http://ecx.images-Amazon.com/images/I/411E3CQQYZL._SS500_.jpg

Ich habe Betriebssysteme und Middleware verwendet: Unterstützte kontrollierte Interaktion, als ich in der Schule war. Es ist wahrscheinlich eines der besten Lehrbücher zu diesem Thema.

3
Tim

Entwickeln eines eigenen 32-Bit-Betriebssystems von Richard A. Burgess. Ich habe mich mit tollen Details über Bootloader, dem Einrichten dieser merkwürdigen Speicher- und Prozessverwaltungsregister usw. befasst. Es war eine großartige Lektüre im Jahr 1996, als ich dachte, ich würde ein einfaches Betriebssystem von Grund auf neu schreiben, aber vielleicht datiert von Jetzt nur noch die ersten Generationen von CPUs der Pentium-Klasse.

2
DarenW

Sie sollten sich MINIX 3 ansehen. Dies ist ein Betriebssystem, das meines Erachtens in weniger als 10.000 Zeilen geschrieben wurde. Sie können eine sehr gute Vorstellung davon bekommen, wie ein Betriebssystem funktioniert, wenn Sie eines der Bücher von Tanenbaum verwenden und verstehen, wie MINIX 3 funktioniert. Sie könnten direkt zu Linux wechseln, aber ich denke, dass dies eine nützliche Aufgabe ist und Ihnen wirklich hilft zu sehen, wie wirklich nicht so viele Zeilen erforderlich sind, um ein funktionierendes Betriebssystem aufzubauen.

http://www.minix3.org/

1
BobbyShaftoe

Wenn ich mich recht erinnere, enthielt das Powerup to Bash Prompt-HOWTO viele Informationen, die so aussahen, als wäre es hilfreich. Auch ältere Versionen des Linux From Scratch-HOWTOs wurden in den letzten Versionen entfernt.

Viele nützliche Informationen finden Sie auch in Linux-Kernel verstehen .

1
skiphoppy

Ich würde empfehlen, Embedded-Betriebssysteme zu betrachten und ein Embedded-Betriebssystem zu erstellen. Die Kernkonzepte werden ohne den Aufwand einer modernen Desktop-CPU behandelt. 

Ich habe im letzten Frühjahr ein Multitasking-Embedded-Betriebssystem als Abschlussprojekt geschrieben.

0
Paul Nathan

Abgesehen von Büchern gibt es viele Websites, die OS-Entwicklung erlernen
BrokenThorn Entertainment gehört zu dieser Website, die Betriebssystem-Entwickler von der Basis lernen 

0
AminM