2012-06-08T23:20:08
Sh4d0w[...]
mit reinem C++ wirst du es nicht Schaffen da du es nicht Booten kannst.
[...]
Mit dem Argument kann man praktisch jede Sprache außer Assembler zur Betriebssystementwicklung ausschließen, inklusive C, denn auch standardkonformes C bietet keine Möglichkeiten direkt mit Hardware wie zum Beispiel der MMU zu kommunizieren und erfordert gewisse Laufzeitunterstützung wie zum Beispiel eine rudimentäre Speicherverwaltung mit malloc und free.
Ich würde es eher so sagen: Man wird nicht umhin kommen, einen Teil der Betriebssystemfunktionalität, die sehr hardwarespezifisch ist und/oder als grundlegende Laufzeitunterstützung der gewünschten Hauptprogrammiersprache benötigt wird, direkt in Assembler zu schreiben. Den Großteil eines Betriebssystemes kann man dann aber auch in jeder anderen Sprache entwickeln.
Es gibt durchaus Betriebssysteme, die in einer Hochsprache geschrieben sind, sogar in Sprachen die wesentlich höhere Ansprüche an die Laufzeitumgebung stellen als C++. Um nur einige Beispiele zu nennen:
When C++ is your hammer, every problem looks like your thumb.