Neues Betriebssystem - HiveOS - in Planung

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Antworten
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Neues Betriebssystem - HiveOS - in Planung

Beitrag von BorgKönig »

Ich beabsichtige ein neues Betriebssystem für den Hive zu entwickeln. Das ganze OS wird natürlich in ASM und Spin geschrieben... Hier nun meine Gedanken und Ideen für ein neues OS:
  • Minimaler "Kernel" + Treiber werden in die 3 Propeller "geschrieben". D.h.: Nur die wichtigsten Funktionen werden "Onboard" sein.
  • Administra bekommt eine neue Routine zum laden des "erweiterten" Kernels. Findet Administra diesen nicht, so läd sie einen minimalen Kernel, welche eine Mini-Shell + Treiber für SD-Card usw.
  • Das minimale OS hat nur noch einen Minitreiber für Textausgabe am TV-Out/ VGA. Optionale Funktionen (Grafik usw.) können nachgeladen werden
  • Sound ist, bis auf einen System-Beep/ Heatbeat Ton, ausgelagert. Auch hier spielen externe Treiber (von SD-Card geladen) die Hauptrolle.
Kurz und knapp: Alles, was man nicht gerade benötigt, soll ausgelagert werden. Das gibt Cog´s, Ram und HuRam frei. Entsprechende Schnittstellen für die Treiber müssen natürlich eingebaut werden.


Nun zu den Funktionen des Mini-Kernels selbst:
  • Selbsttest - Prüft in Schnelldurchgang alle wichtigen Geräte (KB, VGA/ TV-Out, Sound, HB Leeds, vorhandene SD-Card usw.)
  • Prüfen auf vorhanden sein des erweiterten Kernel von SD-Card. Falls TRUE, dann diesen Booten
  • Prüfen auf vorhandene externe Treiber, falls ja, Schnittstellen öffnen
  • Init-Script laden und starten, sofern vorhanden
  • Netzwerk laden und starten, sofern Verbindung vorhanden, ggf. DHCP zu Hilfe nehmen
  • Userland einrichten, ggf. optionale Module laden (GUI, TUI, Konfigurationsscripte von vorhandene Programme laden)
  • Sheduler, COG Handler, RAM Handling usw. optimieren
  • Schnittstellen für externe Hardware (Joystick-, IDE, USB Ports usw...)
Das ganze kann man sicher sehr weitreichend erweitern....


Nun eine kurze Beschreibung des angedachten Boot, bzw. Init-Prozess (Dargestellt in Zeitabschnitten):
  • Power-On - 1 Sek. -> Selbsttest (Alle wichtigen Geräte abfragen)
  • 1-2 Sek. -> erweiterten Kernel laden. Bei Fehlschlag, minimaler Kernel laden
  • 2-4 Sek. -> Kernel laden
  • 4-6 Sek -> Treiber und Userland laden
Kann noch erweitert werden. Der Mini-Kernel sollte aber in spätestens 6 Sekunden alles notwenige geladen haben....

Den zeitlichen Ablauf des erweiterten Kernels lasse ich mal noch offen, da ich an deren Struktur gerade arbeite. Ach ja, ein Speicherabbild des Kernels kann ich noch nicht geben, da ich noch nicht weis, wieviel Platz ich für die einzellnen Elemente brauchen werde...

blau dargestellte Elemente sind optional. Es kann sein, das ich diese Elemente ändern, oder entfernen werde...

Es fehlen auch noch die Programme, mit denen man arbeiten wird. Das wurde hier absichtlich ausgelassen! Ersteinmal muss ein Betriebssystem selbst stehen, bevor man Programme hierführ schreiben kann.

Nun seit Ihr gefragt: Ist so ein Betriebssystem für Euch interissant? Wenn Ja, warum. Wenn Nein, warum nicht. Ach ja, Verbesserungsvorschläge sind erwünscht.

Für die OS-Dever unter uns: Ein malloc() ist hier unnötig, da wir eine feste Ram größe haben.
Benutzeravatar
Rainer
Beiträge: 510
Registriert: Fr 29. Mai 2009, 16:11

Re: Neues Betriebssystem - HiveOS - in Planung

Beitrag von Rainer »

Prinzipiell eine gute Sache, auch wenn Du Dir da viel vorgenommen hast.

Kurze Frage zum Verständnis:
Sagen wir mal ich hätte ein Spiel programmiert. Dieses ist ---
-- extrem Resourcenhungrig (ich nutze die Hardware also komplett aus, vll. biege ich sogar den Bus um, whatever)
-- bringt seinen eigenen Highspeed Grafiktreiber mit
-- bringt seine eigene Soundengine mit

Wie muß ich mir das jetzt vorstellen ?
Kriege ich den Mikrokernel wieder von der Backe wenn ich alle Resourcen im Programm selbst verwalte ... und zwar OHNE das ich die Propeller neu flashen muß ?
Mit einem belegten COG vom Microkernel kann ich dabei durchaus leben, aber mit einer geforcten Speicherverwaltung, fest "verdrahteten" Kommunikationslogik zwischen den Propellern, usw. wahrscheinlich nicht.

Gruß.
Rainer
"Wer andauernd begreift, was er tut, bleibt unter seinem Niveau."
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: Neues Betriebssystem - HiveOS - in Planung

Beitrag von BorgKönig »

Rainer hat geschrieben:Prinzipiell eine gute Sache, auch wenn Du Dir da viel vorgenommen hast.

Kurze Frage zum Verständnis:
Sagen wir mal ich hätte ein Spiel programmiert. Dieses ist ---
-- extrem Resourcenhungrig (ich nutze die Hardware also komplett aus, vll. biege ich sogar den Bus um, whatever)
-- bringt seinen eigenen Highspeed Grafiktreiber mit
-- bringt seine eigene Soundengine mit

Wie muß ich mir das jetzt vorstellen ?
Kriege ich den Mikrokernel wieder von der Backe wenn ich alle Resourcen im Programm selbst verwalte ... und zwar OHNE das ich die Propeller neu flashen muß ?
Der Mini-Kernel soll grundlegende Funktionen bieten, das beinhaltet auch Schnittstellen zur Hardware. Man kann sich das ganze wie mit einen Haus vorstellen. Es hat Fenster und Türen, hinein gehen muss man aber schon selbst ;)

Mit einem belegten COG vom Microkernel kann ich dabei durchaus leben, aber mit einer geforcten Speicherverwaltung, fest "verdrahteten" Kommunikationslogik zwischen den Propellern, usw. wahrscheinlich nicht.

Gruß.
Rainer[/quote]

Die Speicherverwaltung ist nur soweit "fest" gesetzt, da wir nicht nach den insgesammt vorhandenen RAM - wie bei einem regulären PC - suchen müssen... Was die fest verdrahtete Logig angeht, so müssen wir auch nicht die vorhandenen geräte absuchen. Man prüft lediglich, ob sie funktioniert. Die Softwareschnittstellen leiten die Signale bidirektional an die erweiterten Treiber, bzw. Hardware weiter. Das ganze ist halt nur ein kleines Stück vom ganzen.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Neues Betriebssystem - HiveOS - in Planung

Beitrag von drohne235 »

BorgKönig hat geschrieben:
Nun seit Ihr gefragt: Ist so ein Betriebssystem für Euch interissant? Wenn Ja, warum. Wenn Nein, warum nicht. Ach ja, Verbesserungsvorschläge sind erwünscht.
Also ich finde die Sache interessant. Warum? Ganz einfach: Ich finde wahrscheinlich fast alles interessant was auf dem Hive passiert :ugeek: und wenn es dir Spaß macht das zu proggen dann nix wie los. Eine andere Frage ist ob man dieses OS dann letztlich benutzt und wofür es dann geeignet ist. Muss man dann mal schauen wenn es soweit ist, aber das ist auch eine Frage die primär überhaupt nicht wichtig ist, denn wäre diese Frage wichtig, gäbe es heut keinen Hive.

Ich selbst hab da keine Erfahrung und kann wenig Tips geben. Persönlich finde ich einfache, übersichtliche und modulare Lösungen sehr reizvoll.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
petersieg
Beiträge: 56
Registriert: Fr 5. Jun 2009, 08:10

Re: Neues Betriebssystem - HiveOS - in Planung

Beitrag von petersieg »

Sehe das so ähnlich wie digger.. warum nicht.. wenn dir das Spaß macht! Und wenn
was schönes dabei herauskommt.. super!

Ich für meinen Teil wünsche mit zuerst einmal ein paar mehr Applikationen für den jetzigen
HIVE:
* ANSI Viewer
* Bubble Shooter
* jpg Slideshow Programm
* Spiele wie Defender, Donkey Kong, Breakout, Tetris, Othello, etc.
* Netzwerkcode/Stack im Administra integriert. Webserver als ladbares Programm..
* Evtl. einmal Links Text-Webbrowser auf dem HIVE
* Einfaches E-Mail Programm (Pop3/smtp)
* Grafikdemos ala Acidwarp (wer kennts noch?)
* MP3 Player
* Internetradio

...

Peter
DJLinux

Re: Neues Betriebssystem - HiveOS - in Planung

Beitrag von DJLinux »

Also der HiVe lädt gerade zum OS Design ein daher werde ich mich auch mal ran tasten eines zu designen. (Hochsprachenkompiler und Assembler als Basis um autarg vom PC zu werden)

Freue mich wenn es so weit ist auf fruchtbaren Austausch übers OS Design im allgemeinen und HiVe spezifisch.
Am Anfang werden mehrere OS Varianten an den Start gehen und das Kollektiv in Wallung bringen.

Grüsse Joshy
Antworten