15 Stimmen

Wie viel von einem Betriebssystem könnte z. B. in Python geschrieben werden?

Dies ist eine ziemlich theoretische Frage, aber

Wie viel von einem Betriebssystem könnte in einer Sprache wie Python, Ruby, Perl oder Lisp, Haskell usw. geschrieben werden?

Es scheint, als ob vieles, wie z.B. init.d, trivialerweise in einer Skriptsprache erledigt werden könnte. Eines der Firewall-Device-OS's ( m0n0wall ) verwendet PHP für seine Systemkonfiguration (auch beim Booten). Und man könnte argumentieren, dass "emacs ein Betriebssystem ist, das größtenteils in Lisp geschrieben ist"

Natürlich gibt es Bits, die Assembler/C sein müssten, aber wie viel könnte aus normalen .py/rb/.pl/.el/.hk-Dateien bestehen...? Es mag nicht die beste Leistung haben, aber es wäre bei weitem das am einfachsten zu modifizierende Betriebssystem überhaupt...

3voto

akauppi Punkte 15498

Ein interessantes Ergebnis von Singularity ist, dass man keine MMU (Memory Management Unit) in der CPU mehr braucht, da der gesamte Userland-Code "verwaltet" wird. Ich könnte mir vorstellen, dass dies in eingebetteten Szenarien von Vorteil ist, wenn man ein Nicht-MMU-Linux und darüber hinaus geskriptete Anwendungen verwendet.

3voto

Galghamon Punkte 1982

Véase Genera / OpenGenera für ein Beispiel eines in Lisp geschriebenen Betriebssystems, das tatsächlich eine ganze Weile in Gebrauch war, auf LispMachines .
Haskell hat Haus .

3voto

Solange die Programmiersprache in der Lage ist, Binärdateien zu verarbeiten, kann man ein komplettes Betriebssystem in dieser Sprache schreiben. Das soll nicht heißen, dass dies einfach oder praktisch ist. Wenn die gewählte Sprache Binärdateien verarbeiten kann, ist es nur logisch, dass man so tief gehen kann, wie man will.

2voto

MarkR Punkte 60862

Es ist schwierig, sich Kernel / Gerätetreiber usw. vorzustellen, die in (z.B. Python) geschrieben sind - die Speicherverwaltung würde einiges an Kopfzerbrechen bereiten.

Auf der anderen Seite könnte fast der gesamte Userspace-Code sein. Unter Linux ist es nicht erforderlich, dass "init" eine native Maschinencode-Binärdatei ist - es kann ein Python-Skript oder ähnliches sein, kein Problem.

2voto

dbr Punkte 158949

"c - ein fast vollständig in Python geschriebenes Betriebssystem

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