X Window System

related topics
{system, computer, user}
{math, number, function}
{company, market, business}
{theory, work, human}
{work, book, publish}
{style, bgcolor, rowspan}
{law, state, case}
{group, member, jewish}
{disease, patient, cell}

The X window system (commonly X Window System or X11, based on its current major version being 11) is a computer software system and network protocol that provides a basis for graphical user interfaces (GUI) for networked computers. It creates a hardware abstraction layer where software is written to use a generalized set of commands, allowing for device independence and reuse of programs on any computer that implements X.

X is an architecture independent system for display of graphical user interfaces which allows many people to share the processing power of a time-sharing computer; and each person uses a networked terminal that has the capability to draw the screen and accept user input. Due to the ubiquity of support for X software on UNIX, Linux and Mac OS X, it is used on personal computers even when there is no need for time-sharing.

It provides windowing on computer displays and manages keyboard and pointing device control functions. In its standard distribution, it is a complete, albeit simple, display and human interface solution, which also delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems and OpenVMS, and has been ported to many other contemporary general purpose operating systems.

X provides the basic framework, or primitives, for building such GUI environments: drawing and moving windows on the screen and interacting with a mouse and keyboard. X does not mandate the user interface — individual client programs known as window managers handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is built as an additional (application) abstraction layer on top of the operating system kernel.

Unlike most earlier display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X features network transparency: the machine where an application program (the client application) runs can differ from the user's local machine (the display server). X's network protocol is based on X command primitives and, with GLX, OpenGL 3D primitives rather than on a more basic framebuffer copying paradigm. This approach allows both 2D and 3D operations to be fully accelerated on the remote X server.

When used across the network, bandwidth and latency can both be significant issues in the usability of certain software models. Bandwidth is a key factor both in watching video in 2D and in transferring textures for 3D. Latency can be a concern in interactive applications - most obviously games - but for high levels of latency even basic menu manipulation can become difficult.

X does not provide support for audio, although quite a number of projects such as pulseaudio, ALSA, OSS, and JACK exist in this niche, some also providing transparent network support.

Full article ▸

related documents
Genera (operating system)
Session Initiation Protocol
Pulse-code modulation
Virtual memory
Direct Connect (file sharing)
DV
RS-232
X10 (industry standard)
File Transfer Protocol
Computer multitasking
Workstation
Amstrad CPC
Commodore 1541
IEEE 802.11
Reduced instruction set computer
10 Gigabit Ethernet
Quality of service
Throughput
Computer software
Mandriva Linux
Handoff
Programmable logic device
GeForce FX Series
BlackBerry
BIOS
Software cracking
Universal asynchronous receiver/transmitter
Set-top box
Symbolics
Flip-flop (electronics)