Betriebssystem basierend auf Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
aviable
User
Beiträge: 19
Registriert: Montag 16. März 2015, 18:41

Da ich ja noch neu bin, hab ich mal geduckelt.
Ich hab hier jetzt ein BS gefunden, rudimentär basierend auf Pascal. ( guck in Fenster )
Und eins, rudimentär basierend auf C++ ( benötige Druckertreiber )
Und dann hab ich eins gefunden, basierend auf Python.
Der Befehl ist emerge. Das Programm heißt Portage.
Bloß, jetzt weis ich nicht weiter.
Zeit ist zwar relativ. Trotzdem dauert es.
Es ist wesentlich einfacher, die Sachen zu machen, die man kann, als die die Sachen zu tun, die man lernt.
BlackJack

@aviable: Der Beitrag ist irgendwie unverständlich. Portage ist eine Paketverwaltung für Linux-Systeme, ursprünglich für Gentoo-Linux, wird aber auch von anderen verwendet. ``emerge`` ist ein Kommandozeilenwerkzeug für diese Paketverwaltung.

Was hat das jetzt mit einem Betriebssystem das auf Python basiert zu tun? Gibt es so etwas überhaupt, jenseits von rudimentären „proof of concepts”? Wäre mir neu. Python eignet sich da auch nicht wirklich für.
aviable
User
Beiträge: 19
Registriert: Montag 16. März 2015, 18:41

grub in .py wär doch ein Klacks.
Von USB oder CD.
Zeit ist zwar relativ. Trotzdem dauert es.
Es ist wesentlich einfacher, die Sachen zu machen, die man kann, als die die Sachen zu tun, die man lernt.
aviable
User
Beiträge: 19
Registriert: Montag 16. März 2015, 18:41

Oder Nich ?
Zeit ist zwar relativ. Trotzdem dauert es.
Es ist wesentlich einfacher, die Sachen zu machen, die man kann, als die die Sachen zu tun, die man lernt.
BlackJack

@aviable: Eher oder nicht. :roll:
aviable
User
Beiträge: 19
Registriert: Montag 16. März 2015, 18:41

Mist.
Also sind win/linux Voraussetzung.
Wieso eigentlich ?
Bitte entschuldige die blöde Frage: Warum kann man grub nicht in .py schreiben ?
'ne kleine IDE drumrum... und den rest kann sich jeder selbst installieren.
VLC, OpenOffice, VirtualDub, CoolEdit
Zuletzt geändert von aviable am Samstag 4. April 2015, 19:55, insgesamt 1-mal geändert.
Zeit ist zwar relativ. Trotzdem dauert es.
Es ist wesentlich einfacher, die Sachen zu machen, die man kann, als die die Sachen zu tun, die man lernt.
BlackJack

@aviable: MacOS gäbe es auch noch. Oder Solarus. HP-UX. BeOS. RiscOS.

Python ist eine dynamisch typisierte Hochsprache deren Standardimplementierung ein Betriebssystem erwartet (Speicherverwaltung, Dateisystem, Systemaufrufe bzw. die C-Standardbibliothek) und ein Bootloader ist eine sehr hardwarenahe Sache bei der es kein Betriebssystem gibt sondern alle Funktionaltät tatsächlich in dem Code des Bootloaders stecken muss. Man kann da maximal mit einem BIOS rechnen, was sich dann aber auch von System zu System deutlich unterscheiden kann.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@aviable:
Das hat was damit zu tun, wie ein Rechner startet bzw. welche Resourcen im Bootstrap-Prozess zur Verfügung stehen. Im klassischen BIOS/Boot-Konzept wäre schlicht und ergreifend nicht genug Platz für einen vollwertigen Pythoninterpreter. Bei EFI dürfte das schon anders aussehen.

Ein Bootloader in Python macht aber das OS noch nicht zu einem Pythonbasierten. Vor Jahren gabs mal ein proof of concept eines Interpreters in Python-Subset in C für einem Kernel.
Wenn man es erst meint, wären wahrscheinlich Mikrokernelansätze wie Singularity von MS mit frühem Laden eines Interpreters vielversprechend. Das wäre dann wohl KPython oder so ;)
aviable
User
Beiträge: 19
Registriert: Montag 16. März 2015, 18:41

BlackJack hat geschrieben:.....und ein Bootloader ist eine sehr hardwarenahe Sache bei der es kein Betriebssystem gibt sondern alle Funktionaltät tatsächlich in dem Code des Bootloaders stecken muss. Man kann da maximal mit einem BIOS rechnen, was sich dann aber auch von System zu System deutlich unterscheiden kann.
Und das geht nicht. Schade.
jerch hat geschrieben: Bei EFI dürfte das schon anders aussehen.
Läßt Hoffnung aufkeimen.
Mein Board läßt es doch gar mehr zu, XP oder Win98 zu installieren. Läuft alles nur noch über VM's
Zuletzt geändert von aviable am Samstag 4. April 2015, 20:17, insgesamt 1-mal geändert.
Zeit ist zwar relativ. Trotzdem dauert es.
Es ist wesentlich einfacher, die Sachen zu machen, die man kann, als die die Sachen zu tun, die man lernt.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Man könnte einen Booloader in C schreiben der in einen Python Interpreter bootet und den "Rest" dann in Python implementieren. Ich sehe da aber eigentlich keine Anwendungszwecke für es sei denn man will sowas wie Mirage oder HaLVM für Python haben.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

aviable hat geschrieben:Läßt Hoffnung aufkeimen.
Hoffnung worauf? Selbst wenn der EFI-Loader in Python wäre, hättest Du innerhalb des danach geladenen OS' keinen Vorteil daraus.

@DasIch:
Nach Lisp-Maschinen und Java-Mircocontroller wirds Zeit für eine Pythonmaschine :D
Wobei ich da eher Javascript im Vormarsch sehe und Vanilla-JS immer mehr zu einer intermediate language wird.
aviable
User
Beiträge: 19
Registriert: Montag 16. März 2015, 18:41

Nee, nur ein einfaches Gerüst. Wie beim ST oder Amiga.
DasIch hat geschrieben:....es sei denn man will sowas wie Mirage oder HaLVM für Python haben.
Wird gleich mal nachgekuckt. (Was denn das?)
Zeit ist zwar relativ. Trotzdem dauert es.
Es ist wesentlich einfacher, die Sachen zu machen, die man kann, als die die Sachen zu tun, die man lernt.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

aviable hat geschrieben:Mein Board läßt es doch gar mehr zu, XP oder Win98 zu installieren. Läuft alles nur noch über VM's
Ich vermute mal, da fehlt ein "nicht". EFI ist halt sehr anders und die alten Systeme haben keine Kenntnis davon. Wobei ich mir bei XP und Win98 vorstellen könnte, dass es was Rückportiertes von Enthusiasten gibt. Aber selbst wenn Du das nativ gebootet bekommst, wirds mit den Gerätetreibern spätestens düster.
aviable hat geschrieben:Nee, nur ein einfaches Gerüst. Wie beim ST oder Amiga.
Was meinst Du mit Gerüst? Dir ist immer freigestellt, selbst einen Kernel zu schreiben. Aber auch hier wird die Treiberentwicklung anstrengend. Die meisten alternativen OS-Entwicklungen scheitern spätestens hieran. Der heutige Gerätezoo ist im Vergleich zu Amigazeiten deutlich umfangreicher.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

aviable hat geschrieben:Nee, nur ein einfaches Gerüst. Wie beim ST oder Amiga.
DasIch hat geschrieben:....es sei denn man will sowas wie Mirage oder HaLVM für Python haben.
Wird gleich mal nachgekuckt. (Was denn das?)
Siehe Mirage bzw. HaLVM. Die Idee bei beiden ist im Prinzip dass man eine Anwendung in OCaml bzw. Haskell schreibt und die quasi zu einem Kernel kompiliert.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Wäre schon witzig wenn man ein RPi startet und direkt in einem Python interpreter landet. Ähnlich wie bei home Computer in BASIC,...
Aber unpraktisch wäre das ebenfalls...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@jens: Naja man könnte statt einer Unix-Shell einfach IPython starten lassen wenn man sich anmeldet. Damit kann man ja auch mit einem vorangestellten ``!`` die üblichen Shell-Kommandos ausführen.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ja, ich hatte ja auch mal die Frage nach einem Minimal Distribution für Python auf Raspberry Pi ? -> http://www.python-forum.de/viewtopic.php?f=5&t=35201

Geht dann ja so in die Richtung...

Evtl. ist sowas ja interessant für Einsteiger, die mit Python programmieren wollen... Hat hat schon seinen Vorteil, bei den Homecomputern: Anmachen und BASIC Prompt ist da...

Allerdings hat sich nicht ohne Grund eine Grafische Benutzeroberfläche etabliert. Ist halt schon komfortabel, die Mausschubserei :P

EDIT: Hier geht es allerdings um die Frage, ob ein Betriebssystem basierend auf Python möglich ist. Direkt wird das wohl weniger funktionieren. Jedoch ein RPi nehmen und Linux so klein schrumpfen, das nur noch Python startet, wäre eine Möglichkeit.

Generell ein neues Betriebssystem zu erstellen, macht kaum einen Sinn. Das sieht man ja z.B. an BeOS ( https://de.wikipedia.org/wiki/BeOS ) bzw. dem Nachfolger "Haiku" -> https://de.wikipedia.org/wiki/Haiku_%28 ... ssystem%29

Selbst wenn das OS Vorteile hat, durch bessere Implementierung: Es krankt daran, das es keine schöne Software gibt, die man mit dem OS nutzten kann.

Das wäre mit einem Python-Basierendes OS ja ebenfalls der Fall.
Gut man könnte sagen, es gibt ja viele Programme, die in Python Implementiert sind. Aber die GUI-Toolkits benötigen ja auch den vom OS vorgegebenen Dinge zum darstellen... Also kommt man doch wieder an eine Art Linux...

Also wenn, dann macht das im Embedded Bereich Sinn. So ein kleinstrechner mit Python steuern, wäre ja nett. Aber dann kann man auch gleich wieder ein RPi nehmen...

...und ab geht's von vorn... :P


EDIT2: Das erinnert mich ein klein wenig an https://de.wikipedia.org/wiki/Chrome_OS ...

EDIT3: Gerade http://stackoverflow.com/questions/1090 ... ing-python gefunden ;) Interessanter Link darin führt zu:
Pycorn is an interpreted operating system written in Python, intended to recreate the style of learning available on 16-bit microcomputers. Device drivers, file systems, network protocols can all be implemented in Python with no C or assembler code.
-> https://github.com/tornewuff/pycorn

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

jens hat geschrieben:Also wenn, dann macht das im Embedded Bereich Sinn. So ein kleinstrechner mit Python steuern, wäre ja nett. Aber dann kann man auch gleich wieder ein RPi nehmen...
siehe auch: "The Micro Python project" Links dazu: http://www.python-forum.de/viewtopic.php?f=21&t=36069

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Passend zur Eingangsfrage wäre: http://biosbits.org
The Intel BIOS Implementation Test Suite (BITS) provides a bootable pre-OS environment for testing BIOSes
...
BITS supports scripting via Python, and includes Python APIs to access various low-level functionality of the hardware platform, including ACPI, CPU and chipset registers, PCI, and PCI Express.

Passend dazu, der Vortrag "Porting Python to run without an OS" von Josh Triplett auf der PyCon 2015:
We've ported Python to run directly on hardware, without an operating system, based on the GRUB2 bootloader, as part of the BIOS Implementation Test Suite (BITS) project (http://biosbits.org).
https://us.pycon.org/2015/schedule/presentation/378/

-> https://www.youtube.com/watch?v=bYQ_lq5dcvM

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten