next up previous contents
Nächste Seite: Windowmanager Aufwärts: X-Window eine Vorherige Seite: Einführung   Inhalt

Server, Client und Kommunikationskanal

Im Gegensatz zu den meisten anderen Fenstersystemen ist X kein homogenes Einzelprogramm. Es besteht vielmehr aus drei zusammenhängenden Teilen: Der Server
Die erste Grundkomponente von X ist der Server, die Software, die den physikalischen Bildschirm und die Eingabegeräte Tastatur und Maus kontrolliert. Der Server erzeugt auf Anforderung eines Client-Programms die Fenster und zeichnet Bilder und Texte in sie hinein. Von sich aus macht der Server nichts, er führt lediglich Aktionen aus, die von Client-Programmen angefordert wurden.

Jeder Bildschirm hat genau einen Server.

Der Server wird vom Hersteller des X-Systems geliefert und normalerweise vom Benutzer nicht geändert. Für das Betriebssystem ist der Server jedoch nur ein weiteres Benutzerprogramm.

Client-Programme
Die zweite Grundkomponente von X bilden die Client-Programme. Das sind Anwendungsprogramme, die von den Fensterfähigkeiten des Systems Gebrauch machen. Anwendungsprogramme unter X werden Clients genannt, da sie tatsächlich Kunden des Servers sind. Sie bitten den Server, bestimmte Aktionen für sie auszuführen. Sie können kein Fenster und keinen Bildschirm direkt beeinflussen. Sie können lediglich den Server bitten, das zu tun, was sie wünschen. Typische Anfragen wären z.B.: ,,Schreibe die Zeichenkette 'Hallo, Welt' in das Fenster XYZ`` oder ,,Zeichne eine Linie einer bestimmten Farbe im Fenster ABC von D nach E``.

Selbstverständlich bildet das Anfordern von Fensteroperationen nur einen Teil eines Client-Programms. Der andere Teil ist der Programmcode, der sich auf die Aufgabe bezieht, die der Benutzer ausführen will. Als Benutzer verwendet man meist Client-Programme aus verschiedenen Quellen. Einige wesentliche werden zusammen mit dem System geliefert, andere erhält man von Fremdanbietern und manche Benutzer schreiben Ihre eigenen Client-Programme für bestimmte Anwendungen.

Der Kommunikationskanal
Die dritte Grundkomponente von X ist der Kommunikationskanal. Die Client-Programme nutzen ihn, um Anforderungen an den Server zu schicken, und der Server sendet über ihn Status- und andere Informationen an die Client-Programme zurück.

Die genaue Beschaffenheit des Kommunikationskanals ist nicht so wichtig, solange sowohl Server als auch Client wissen, wie er zu benutzen ist. Die auf einem bestimmten System oder Netzwerk benötigten Kommunikationstypen werden durch die X-Window Bibliothek (engl. library) für dieses System unterstützt. Die gesamte Kommunikation zwischen Client und Server wird über diese Bibliothek, die ,,Xlib`` heisst, abgewickelt. Als Folge davon können alle Client-Programme automatisch sämtliche Kommunikationsmethoden benutzen, indem sie auf die Bibliothek zurückgreifen.

Die Client/Server-Kommunikation gliedert sich in zwei große Klassen, die die beiden wesentlichen Operationsweisen im X-System widerspiegeln:

Die Fähigkeit einer Anwendung, genauso problemlos innerhalb eines Netzwerks wie auf lokalen Rechnern zu funktionieren, wird Netzwerktransparenz genannt und findet sich fast nur bei X. Durch diese Besonderheit ist X für den Aufbau von anpassungsfähigen Vielzweck-Netzwerken mit zusammenarbeitenden Rechnern geeignet.

Da Server und Client völlig getrennt sind, hat sich ein neuer Terminaltyp entwickelt, der X-Terminal genannt wird. Ein X-Terminal ist eine abgespeckte Workstation, auf der nur der X-Server laufen soll und sonst nichts. Diese verfügt über eine Tastatur, eine Maus, einen Bildschirm und kann im Netz kommunizieren. Sie verfügt jedoch nicht über ein eigenes Dateisystem und unterstützt keine Mehrzweckprogramme. Diese müssen irgendwo anders im Netzwerk laufen.


next up previous contents
Nächste Seite: Windowmanager Aufwärts: X-Window eine Vorherige Seite: Einführung   Inhalt
Lars Tornow 2003-04-02