Using the Mach Communication Primitives in X11
Michael Ginsberg, Robert V. Baron, and Brain N. Bershad
Carnegie Mellon University
Abstract
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.