[linux-l] Plan9-Konzepte (was: VCS)

Nico Golde nion at gmx.net
So Apr 23 22:16:43 CEST 2006


Hallo Volker,

* Volker Grabsch <vog at notjusthosting.com> [2006-04-23 15:32]:
> On Thu, Apr 20, 2006 at 11:48:50PM +0200, Steffen Dettmer wrote:
[...] 

> Aber ich finde, sie hätten nicht nur den *Zugriff* auf den Datenstrom,
> sondern auch dessen *Form* standardisieren sollen. Momentan heißt es
> einfach nur "Byte-stream". Sicher, einige wenige alte oder
> geschwindigkeitskritische Anwendungen brauchen das. Oder auch die
> Kommunikation zur Hardware (leider).
> 
> Aber was die Anwendungen angeht, die kommunizieren doch sowieso
> zeilenweise. Wäre da nicht zumindest eine reine zeilenbasierte API
> besser? Das abstrahiert auch gleich von den Zeilenenden weg. (Gewisse
> Zeichen wie 000, 012, 015 zu verbieten ist nur selten eine
> Einschränkung, meist sogar willkommen. Oder man verbietet sie nicht,
> sondern konvertiert sie intern)
> 
> Auf diese Weise könnten Programme schonmal nicht nur byteweise,
> sondern in String-Blöcken kommunizieren. Sicher, im Netzwerk-Fall
> würde man das entsprechend auf einen klassischen Textdatei-Bytestream
> zurückführen. Aber laufen die Programme im selben Rechner, könnte man
> die Strings einfach 1:1 weiterleiten, das wäre also sogar effizienter.

Es ist bei Plan9 wohl so, dass es ein Interface gibt 9P und 
UTF-8 streams. P9 ist im Prinzip ein fetter Buffer, der 
übers Netzwerk erreichbar ist. Wie da letztendlich drauf 
zugegriffen wird, zeilen oder byteweise bleibt dem Programm 
überlassen. einen wirklichen Vorteil von der 
Zeilenverarbeitung sehe ich auch nicht. Das hat mit Plan9 
erstmal wohl nichts zu tun, wenn du ein Programm für 9P 
schriebst, kannst du es auch anders machen.

> Ach ja, und diese Strings sind natürlich alles "Unicode"-Objekte. 

Objekte?

> Selbiges für strukturierte Daten. Egal, ob intern nun JSON oder XML
> genommen wird, auf jeden Fall sollten sich Applikationen direkt mit
> solchen Datenstrukturen unterhalten können (im begrenzten Rahmen, z.B.
> nur verschachtelte Listen von Strings).

Das könnten sie auch, 9p lässt da Spielraum.
Warum das so nicht gemacht ist, ist ne gute Frage. Ich 
schätze mal, weil der Großtiel von Plan9 in Ken 
Thompson-Style C geschrieben ist und C-Programmierer sich 
auch eher weniger mit sowas wie XML rumschlagen.

> Würde das Betriebssystem diese Dinge ebenfalls direkt unterstützen,
> würde das die Applikationen noch weiter entlasten, und dennoch allen
> Traffic menschenlesbar machen. 

Aber auch den Code bloaten :)

> Das eine Programm kann z.B. nur Byte-
> Streams sichtbar machen, gut, sehe ich JSON-Code.

Ich kenne JSON nur vom Namen und Funktion, habs nie 
bentutzt.

> Immerhin besser,
> als bei jeder Anwendung eine andere Text-codierung von strukturierten
> Daten (mal als Tabelle, mal eingerückt, mal mit Klammern, ...).
> Ein anderes Programm unterstützt vielleicht die Strukturen, und kann
> sie mir als auf/zu-klappbare Liste ("Outline") anzeigen.
> (oder als Tabelle, oder worauf immer man steht)

Ich glaub du vergisst einfach, dass Plan9 schon ewig alt 
(älter als die von dir angesprochenen Erfindungen ist). Das 
gilt wohl für die meisten modernen Betriebssysteme.

[...] 
Gruß Nico
-- 
Nico Golde - JAB: nion at jabber.ccc.de | GPG: 0x73647CFF
http://www.ngolde.de | http://www.muttng.org | http://grml.org
Forget about that mouse with 3/4/5 buttons -
gimme a keyboard with 103/104/105 keys!
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20060423/e18dd8dc/attachment.sig>


Mehr Informationen über die Mailingliste linux-l