Frage

Was ist ein Weg, um ein mein eigenes Betriebssystem mit c ++ zu erstellen. Ich habe Bootloader erstellt (mit nasm, qemu), aber ich habe keine Kenntnisse einen Kernel auf diese Bootloader hinzuzufügen.

Keine korrekte Lösung

Andere Tipps

Hier ist eine Unmenge an Informationen dass Sie schließlich Notwendigkeit, die gefürchtete O Programmierung FAQ.

Seien Sie vorsichtig, C ++ ist ziemlich Schwergewicht für einen OS-Kernel.

  • Es gibt Dienste wie Ausnahmen, dass Sie mit einer Laufzeitbibliothek unterstützen müssen werden.
  • Es wird nicht wie C ++ fühlen, bis Sie einen Haufen hinzuzufügen.
  • Kerne sind sehr empfindlich auf denen Objekte zugeordnet sind; das ein Haufen Modell in der Regel in C ++ verwendet ist nicht wirklich geeignet.
  • Die Kopplung APIs Datenstrukturen ist eine schlechte Idee. BeOS hatte Probleme mit diesem. Sie müssen die Größe Ihrer internen Strukturen von den Benutzern zu verbergen, und das bedeutet, durch Reifen springen (Pimpl, privaten Konstruktor, virtuelle Funktionen), wenn APIs sind Member-Funktionen.

Es klingt wie du bist schon weiter als die meisten, so halten, Fragen zu stellen und Sie werden wahrscheinlich irgendwo schön am Ende! : VD

Auch hinzuzufügen, Dieses Buch von Tanenbaum, wo er erklärt, die Details der Implementierung minix.

Sie können erwägen, suchen Sie in MINIX , die ein kleines Betriebssystem für x86-Systeme ist. Es wurde ursprünglich als ein Lehrprojekt entworfen und hat sich zu etwas entwickelt, dass beabsichtigte in der realen Welt nützlich zu sein.

bin ich mit Details nicht vertraut, aber meines Wissens BeOS wurde in C ++ geschrieben. Quellen sollten sowie die Dokumentation Freeley zur Verfügung.

Sie können einen Blick auf Minix 3 Quellcode nehmen. es ist ein sehr einfaches Betriebssystem, mit dem Ziel, verstehen, wie geschaffen Betriebssystem funktioniert.

Sie können auch alle tanenbaum Buch über os studieren. sie sind alle sehr komplett und ich erinnere mich, dass ein Buch, das die vollständige Quelle von minix hat angebracht und kommentiert

Für ein C ++ Betriebssystem, können Sie unter NewOS oder UnixLite .

Ein brauchbares Betriebssystem kann auf der Oberseite der L4 entwickelt werden, auch von ein einzelner Schüler in einem Semester zusammen mit anderen Kursen (aber mit allen Treiberprobleme behoben bereits). Wenn dies ist ein großes Abenteuer gefunden und das L4-Microkernel ist auch Art vorgerückt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top