Inhalt

2. Einleitung

Das X-Window-System stellt eine grafische Benutzerschnittstelle dar, die es dem Anwender ermöglicht, seine Programme gemeinsam unter einer grafischen Oberfläche darzustellen. Unter den verschiedenen Unix-Derivaten hat sich das X-Window-System mittlerweile als der Standard für grafische Benutzeroberflächen etabliert. Heutzutage läuft fast auf jedem Rechner mit einem Unix-Betriebssystem irgendeine X-Window-Variante.

2.1 Geschichte

Als Anfang der 80er Jahre grafikfähige Workstations eine schnelle Verbreitung fanden, bestand zunächst das Problem darin, daß für die Entwicklung bzw. Programmierung der erforderlichen grafischen Benutzeroberflächen kaum einheitliche Standards zur Verfügung standen. Dies lag darin begründet, daß das Betriebssystem Unix, bedingt durch die Hardware-Situation zur Zeit seines Entstehens, ein auf zeichenorientierte Ein- und Ausgabe hin ausgelegtes System darstellte. Somit begannen die verschiedenen Hersteller mit der Entwicklung ihrer eigenen grafischen Oberflächen. Schnell erkannte man die Problematik beim Einsatz grafischer Applikationen auf den unterschiedlichsten Hardware-Plattformen. Sollte nämlich eine Anwendung, die von den grafischen Fähigkeiten einer bestimmten Workstation Gebrauch machte, auch auf verschiedenen anderen Plattformen lauffähig sein, so mußte ein großer Teil des Programms mehrfach neu entwickelt und zusätzlich gepflegt werden.

In dieser Situation der unterschiedlichen grafischen Benutzeroberflächen entstand 1984 am MIT (Massachusetts Institute of Technology) in Zusammenarbeit mit der Firma DEC (Digital Equipment Corporation) das Projekt Athena. Das Ziel dieses Projekts sollte der Entwurf einer rechnerunabhängigen, standardisierten Umgebung zur Entwicklung grafischer Applikationen sein. Dies führte schließlich zu der Entwicklung des X-Window-Systems. Durch die Schaffung standardisierter Schnittstellen auf allen Ebenen des Systems war es nun möglich, grafische Anwendungen netzwerkweit und unabhängig von der eingesetzten Hardware zu betreiben.

Anfang 1987 gründeten 12 namhafte Computerhersteller das X-Konsortium mit dem Ziel, die Weiterentwicklung und Standardisierung des X-Window-Systems zu gewährleisten und eine kommerzielle Verwendung zu ermöglichen. Die damalige Liste der Gründungsmitglieder las sich wie ein »Who is who« in der Computerbranche.

Das X-Konsortium fordert in der Dokumentation zu X ausdrücklich die Verwendung folgender Bezeichnungen: X-Window-System, X Version 11, X11 oder einfach nur X.

Im September 1987 verabschiedete das X-Konsortium das X-Window-System in der Version 11, Release 1 (kurz: X11R1 genannt). Es löste die Anfang 1986 freigegebene Vorläuferversion X10 ab. X11R1 war im Gegensatz zu X10 dem Forschungsstadium entwachsen, bot eine größere Flexibilität und höhere Performance als der Vorgänger und ermöglichte somit eine erste kommerzielle Verwendung.

Seit dieser Zeit wurde das X-Window-System intensiv weiterentwickelt. Als herstellerunabhängiges System und durch die kostenlose Verfügbarkeit des Quellcodes des gesamten X-Window-Systems fand es bei den Anwendern eine große Akzeptanz und somit eine schnelle Verbreitung.

Die heutige Version 11, Release 6 (X11R6) des X-Window-Systems wird mittlerweile von fast allen bedeutenden Unix-Anbietern vertrieben und avancierte damit zum Industriestandard für die Steuerung grafischer Benutzeroberflächen unter dem Betriebssystem Unix.

Eine freie Implementierung des X-Window-Systems in der Version 11, Release 6 (X11R6) für PC-basierte Rechner (ab i386) ist von einer Reihe von Programmierern entwickelt worden, die sich im Jahre 1992 zum XFree86-Team zusammenschlossen. Daraus entstand 1994 die nicht-kommerzielle Firma The XFree86 Project, Inc., die sich bis heute ausschließlich durch Spenden finanziert, mit dem Ziel, XFree86 einer breiten Öffentlichkeit zur Verfügung zu stellen. Durch die sich anschließende Mitgliedschaft im X-Konsortium erhielt man zusätzlich die Möglichkeit, an der Weiterentwicklung des X-Window-Systems teilzuhaben. Mittlerweile ist XFree86 für eine Vielzahl unterschiedlicher Betriebssysteme frei erhältlich. Eine Version davon ist für Linux (Intel x86, DEC Alpha/AXP und m68k) konzipiert und frei verfügbar. Sie enthält alle erforderlichen Programme, Konfigurationsdateien, Bibliotheken sowie diverse Hilfsprogramme.

2.2 Konzept

Das X-Window-System besitzt drei besondere Eigenschaften, die es von den anderen herkömmlichen grafischen Benutzeroberflächen unterscheidet. Dazu zählen die Konzipierung und Realisierung als offenes System, die Client/Server-Architektur sowie als wichtigstes Merkmal die sogenannte Netzwerktransparenz.

Durch die Herstellerunabhängigkeit und durch die freie Verfügbarkeit der kompletten Quelltexte konnte das X-Window-System im Gegensatz zu anderen kommerziellen grafischen Oberflächen von Anfang an als offenes System konzipiert werden. Neben Standardschnittstellen, die eine komfortable Entwicklung portabler und hardwareunabhängiger Software erlauben, unterstützt das System auch Schnittstellen für herstellerspezifische Erweiterungen, um somit auch die Anbindung von spezieller Hardware zu ermöglichen.

Das X-Window-System unterscheidet aufgrund seiner spezifischen Architektur zwischen dem X-Server und den X-Clients. Der X-Server stellt ein Programm dar, das hardwareabhängig einen grafischen Bildschirm steuert. Zusätzlich stellt er das Bindeglied zwischen dem Benutzer und den verschiedenen X-Applikationen, den sogenannten X-Clients, dar, indem er Tastatureingaben bzw. Mausbewegungen des Benutzers an die entsprechenden X-Clients leitet und die von ihnen zurückgelieferten, hardwareunabhängigen Ausgabeinformationen grafisch darstellt.

Die Kommunikation zwischen dem Server und den Clients erfolgt ausschließlich über das standardisierte X-Protokoll. Dieses Protokoll ist so flexibel ausgelegt, daß es möglich wird, den X-Server und die X-Clients nicht nur lokal auf einem Rechner zu halten, sondern sie auf beliebige Rechner in einem Netz zu verteilen. Durch diese Netzwerktransparenz besteht somit die Möglichkeit, rechenintensive Programme auf Maschinen mit den leistungsstärksten Prozessoren laufen zu lassen, Ein- und Ausgabe jedoch auf einer normalen Workstation im Netz durchzuführen. Bei einer entsprechend schnellen Netzwerkverbindung kann die Entfernung der beiden Rechner durchaus mehrere tausend Kilometer voneinander betragen, so daß dies im Vergleich zu herkömmlichen grafischen Benutzeroberflächen kaum einen Performanceverlust mit sich bringt.

Die Konzeption als offenes System, die Client/Server-Architektur und die Netzwerktransparenz sind natürlich auch integraler Bestandteil des XFree86-Systems, so daß dem Linux-Anwender mit XFree86 ein hervorragendes X-Window-System zur Verfügung steht, das den Vergleich mit kommerziellen Systemen nicht scheuen muß.


Inhalt