Autor Thema: Streaming und Messaging  (Gelesen 6104 mal)

Scan

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« am: 21. December 2007, 14:38 »
Ich hab heute wohl ein wenig zu viel nachgedacht und ich wollte mal eine professionellere Meinung hören als meine eigene:

Ich dachte folgendes: Bei Unix-Systemen gibt es ja die device Dateien in /dev, unter anderem aich /dev/tty* für die Terminals, in die man ja einfach reinschreiben kann und es erscheint auf der Konsole. Inwiefern das nun funktioniert, weiß ich nicht und ist auch erstmal irrelevant.

Nun dachte ich mir: Warum kann der Kernel nicht einfach eine Art Speicherbereich anlegen, der so ähnlich ist wie diese devices, um Beispiel ein array von 80*25 words für eine Konsole. Wie in einen C++-Stream könnte man nun in diesen Speicher schreiben lassen, anstatt zum Beispiel den Video-Treiber direkt anzusprechen. Der Video-Treiber seinerseits macht nichts weiter, als diesen Speicherbereich komplett auszulesen und anzuzeigen, abhängig von der aktuellen Konsole.

So könnte man doch eigentlich auch das Messaging allgemein aufziehen, oder? Die Treiber und Programme haben bestimmte, vom Kernel verwaltete Streams, in die sie lesen und schreiben und den Inhalt ensprechend verarbeiten.

Ich weiß jetzt nicht, ob die Idee neu ist oder so was  :| Ist mir nur halt einfach gekommen. Bestimmt gibt es das schon  :roll:

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 21. December 2007, 15:33 »
Beispielsweise in LOST läuft ziemlich viel über das virtuelle Dateisystem, wenn auch nicht ganz die komplette Kommunikation. Anders als deine Streams ist es aber insofern, daß die Sache nicht vom Kernel verwaltet wird, sondern die Verwaltung vom Service übernommen wird, der die Datei anbietet.

Grundsätzlich klingt die Idee nicht vollkommen blödsinnig oder kaputt (geschwindigkeitsmäßig könnte es evtl. nachteilig sein, aber das würde ich in Kauf nehmen). Und es ist ein Punkt, der dein OS von vielen anderen unterscheiden würde und damit interessanter macht. Ich würde es an deiner Stelle einfach mal ausprobieren.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #2 am: 21. December 2007, 15:37 »
Das ist doch eigentlich nichts anderes als eine Pipe? Das Beispiel mit dem Videospeicher ist zwar ein bisschen anders, aber ansonsten würde ich es Pipe nennen.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

Scan

  • Beiträge: 14
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 21. December 2007, 15:58 »
Ach verdammt...

 

Einloggen