X Window System: Some Compatibility Questions

Compatibility with X means that the client-side application and the X display server communicate according to the X Version 11 protocol, and that the server correctly implements the drawing (output) semantics and delivers events (input) as specified in that protocol. The X protocol is the communication language used between the X client and the X server. The X server listens to display instructions sent by the client according to the protocol and responds by drawing on the screen and returning events (like keystrokes and mouse movements).

Following are some questions and answers about X Window System compatibility.
Is X Window System Available on any Machine NOT Running UNIX?

The majority of X implementations are for UNIX systems. However, there are other (compatible) implementations that run on VMS, Apollo DOMAIN, and others. When using a true multitasking operating system, an X client (like an engineering design application) can be run on the same CPU as the X display server. In fact, this is the usual pattern for using X: display server and multiple clients running on the same (multitasking) CPU.

Does Compatibility Mean the Macintosh OS Being Able Run to Window X?

You can also run an X display server on a single-user operating system, such as the Macintosh OS or MS-DOS. These implementations require all the X client applications to be run remotely. Some terminal manufacturers (Wyse is one example) have produced intelligent terminals that operate as X display servers. (These terminals must have a powerful, dedicated CPU, buffering capabilities, and some form of networking built in.)

Can a MacWorkStation-to-X Window System Interface Be Written?

An X server and a remote X client application communicate over a network using a "reliable byte-stream" built on top of a network protocol, such as TCP-IP or DECNet. The same kind of mechanism is used by MacWorkStation to communicate with an IBM mainframe (but the protocol used and many other details differ from X).

The X protocol provides for vendor-specific extensions (a trap door), which allows clients to access special functions in the server. It might be possible for a Macintosh-based X server to offer an extension that offers clients use of Macintosh Toolbox components (like MacWorkStation), but we don't know of any plans to implement such an extension.

Is X Window System like PostScript?

X and PostScript are similar, because they both are used to generate graphic images on bit-map devices (in this sense, QuickDraw is also similar). However, X and PostScript have very different "imaging models." X regards the screen as a rectangular collection of pixels--each may be individually addressed by giving its horizontal and vertical coordinates (like QuickDraw). Lines, curves, and shapes are specified in terms of these device-dependent coordinates.

PostScript, on the other hand, hides many of the device-dependent details (like discreteness of pixels) and gives the programmer the illusion of painting on a canvas in any convenient coordinate system. The PostScript model is, in many ways, richer and easier to use. In addition, PostScript is a true programming language and allows for concise and compact expression of complicated graphic images.

The Sun NeWS window system is based on PostScript. A NeWS application is a collection of PostScript procedures that are sent to a NeWS server (perhaps remotely via a network connection). The server interprets the PostScript procedures and renders graphics in a window on the display's bit-map screen. NeWS extends PostScript by allowing interactive input: the PostScript procedures can respond to user input--keystrokes, mouse motion, and mouse clicks. Some of NeWS is written in PostScript (after all, PostScript is a programming language). In particular, the NeWS window manager is a PostScript procedure.

How Is X Window System Comparable to Display PostScript?

Display PostScript (licensed by Adobe) lets a PostScript procedure render graphics on a bit-map screen (in the same manner as a LaserWriter with its built-in PostScript lets a PostScript procedure render graphics on a sheet of paper). Display PostScript differs from NeWS in that it does not take into account interactive input. X and Display PostScript can be used together: Display PostScript is a front end that accepts a client's PostScript procedure and then issues commands to X causing the appropriate graphics to be drawn in an X window.
Published Date: Feb 18, 2012