Der Aufbau des X Window System



... [Gesamtübersicht ] ... [Einleitung ] ... [Arichtektur und Modularisierung von XFree86 4.x] ...


 

Übersicht: Aufbau des X Window System


Client-Server Design

X-Server

X-Client

X-Protokoll



Client-Server Design



Wie bereits erwähnt stellt das X Window System den Standard einer grafischen Benutzeroberfläche unter Unix dar. Dabei handelt es sich bei dem X Window System um ein netzwerkbasiertes System.

Anwendungen, die auf einem Rechner laufen, können ihre Ausgaben auf einem anderen Rechner machen. Die einzige Voraussetzung ist das die Rechner durch ein Netzwerk miteinander verbunden sind. Dabei spielt es keine Rolle wie dieses Netz aufgebaut ist. Es kann sich also um ein LAN ( Local Area Network) oder ein WAN ( Wide Area Network) handeln. Das heißt, dass die Rechner auch über das Internet miteinander kommunizieren können.

Eine andere Voraussetzung ist, dass der Rechner auf den Rechner, wo die Ausgaben gemacht werden sollen, eine Zugriffsberechtigung hat.

Durch die Entkoppelung von Anwendungen und Bildschirmausgabe werden die beiden wesentlichen Zielsetzungen des X Window System erreicht.




Nach oben

X-Server


Beim X-Server handelt es sich um ein Programm, welches alle Eingaben von Tastatur, Maus oder auch anderen Eingabegeräten übernimmt.

Ebenfalls werden durch den X-Server alle Bildschirmausgaben gesteuert. Bei diesen Ausgaben auf dem Bildschirm sind beispielsweise Anweisungen wie Linie zeichnen, Fenster zeichnen oder eine Textausgabe gemeint.

Zusätzlich überprüft ein X-Server ob ein X-Client auf einen Bildschirm zugreifen darf.

Ein Teil des X-Servers ist sehr an die Hardware des jeweiligen Rechners gebunden, auf welchem er gestartet worden ist.

Die Informationen über beispielsweise die Art der Maus, die Bildschirmgröße oder die Art der Tastatur sind für den X-Server zwingend notwendig um eine grafische Benutzeroberfläche lauffähig zu machen.

Bei einem X Window System muss nur der X-Server über die vorhandene Hardware informiert werden.

Programmierer eines X-Clients beziehen sich auf die X-lib (Libary) eines X-Servers.


Nach oben

X-Client


Jedes Programm, welches auf einem X-Bildschirm ein Fenster darstellen möchte ist ein X-Client. Der X-Client macht Anfragen an den X-Server beziehungsweise bittet den X-Server gewisse Dienste oder Aufgaben für ihn zu übernehmen.

Gestartete X-Clients auf der grafischen Benutzeroberfläche sind auch bekannt als Windowmanager.

Dabei stellt die X-lib die Basis her, die zur Kommunikation mit den X-Servern benötigt wird. Auf der X-lib bauen diverse Toolkits auf. Diese Toolkits beinhalten beispielsweise komplexere Grafikelemente wie Buttons oder Menüs. Für Programmierer wird es einfacher durch diese Toolkits einen X-Client zu programmieren.

Diese Abbildung soll noch einmal das Zusammenspiel zwischen X-Server und X-Client verdeutlichen.

Nach oben

X-Protokoll


Das X-Protokoll läuft ab, wenn eine Verbindung zwischen einem X-Server und einem X-Client besteht.

Die Abwicklung des X-Protokolls kann entweder innerhalb eines Rechners oder über eine Netzwerkverbindung ablaufen.

Daraus folgt, dass der X-Client und der X-Server nicht zwangsläufig auf der gleichen Maschine laufen müssen.

Über das X-Protokoll werden folgende Protokoll-Messages verschickt.

Vom Client:

  • Requests

Vom Server

  • Replies
  • Events
  • Errors

Nach oben


... [Gesamtübersicht ] ... [Einleitung ] ... [Arichtektur und Modularisierung von XFree86 4.x] ...