Check out the new USENIX Web site.

Using the Mach Communication Primitives in X11

Michael Ginsberg, Robert V. Baron, and Brain N. Bershad

Carnegie Mellon University


We have modifed the X11 windowing system to use the native communication facilities of the Mach 3.0 microkernel. Our new implementation can rely on Mach's low overhead IPC facility as a direct replacement for sockets, or it can use shared memory as a transport between X11 clients and the server. On conventional BSD Unix systems, X11 communication is done through sockets. Because a user level process implements Unix functionality on top of Mach 3.0, a socket-based version of X11 performs substantially worse than when running on a monolithic Unix kernel. Using Mach IPC as the transport between X11 clients and the server, X11 performance is slightly better than that of a monolithic system in which sockets are implemented inside the kernel as opposed to within a user level process. Using Mach's shared memory facilities as the transport, we have measured performance improvements of over 40%.

Download the full text of this paper in POSTSCRIPT form (155,725 bytes).

To Become a USENIX Member, please see our Membership Information.