skip to main content
article
Free Access

The X window system

Authors Info & Claims
Published:01 April 1986Publication History
Skip Abstract Section

Abstract

An overview of the X Window System is presented, focusing on the system substrate and the low-level facilities provided to build applications and to manage the desktop. The system provides high-performance, high-level, device-independent graphics. A hierarchy of resizable, overlapping windows allows a wide variety of application and user interfaces to be built easily. Network-transparent access to the display provides an important degree of functional separation, without significantly affecting performance, which is crucial to building applications for a distributed environment. To a reasonable extent, desktop management can be custom-tailored to individual environments, without modifying the base system and typically without affecting applications.

References

  1. 1 ADOBE SYSTEMS. PostScript Language Reference Manual. Addison-Wesley, Reading, Mass., 1985. Google ScholarGoogle Scholar
  2. 2 APOLLO COMPUTER. Domain System User's Guide. Apollo Computer, Chelmsford, Mass., 1985.Google ScholarGoogle Scholar
  3. 3 ASENTE, P. W reference manual, internal document, Dept. Computer Science, Stanford Univ., Calif., 1984.Google ScholarGoogle Scholar
  4. 4 BALKOVICH, E., LERMAN, S., AND PARMELEE, R. P. Computing in higher education: The Athena experience. Commun. ACM 28, 11 (Nov. 1985), 1214-1224. Google ScholarGoogle Scholar
  5. 5 CHERITON, D. The V kernel: A software base for distributed systems. IEEE Softw. 1, 2 (Apr. 1984), 19-42.Google ScholarGoogle Scholar
  6. 6 COHEN, D. On holy wars and a plea for peace. Computer 14, 10 (Oct. 1981), 48-54.Google ScholarGoogle Scholar
  7. 7 DIGITAL EQUIPMENT CORP. VCB02 Video Subsystem Technical Manual. Educational Services, Digital Equipment Corporation, Bedford, Mass., 1986.Google ScholarGoogle Scholar
  8. 8 GANCARZ, M. UWM: A user interface for X windows. In Summer Conference Proceedings (Atlanta, Ga., June 10-13). USENIX Association, 1986, pp. 429-440.Google ScholarGoogle Scholar
  9. 9 GETTYS, J. Problems implementing window systems in Unix. In Winter Conference Proceedings (Denver, Colo., Jan. 15-17). USENIX Association, 1986, pp. 89-97.Google ScholarGoogle Scholar
  10. 10 GOSLING, J., AND ROSENTHAL, D. A window-manager for bitmapped displays and Unix. In Methodology of Window-Managers, F. R. A. Hopgood et al., Eds. Springer-Verlag, New York, 1986. Google ScholarGoogle Scholar
  11. 11 HAWLEY, M. J., AND LEFFLER, S.J. Windows for Unix at Lucasfilm. In Summer Conference Proceedings (Portland, Oreg., June 11-14). USENIX Association, 1985, pp. 393-406.Google ScholarGoogle Scholar
  12. 12 INTERNATIONAL STANDARDS ORGANIZATION. Information processing: Graphical kernel system (GKS)--Functional description. Rep. DIS 7942, International Organization for Standardization, Geneva, Switzerland, 1982.Google ScholarGoogle Scholar
  13. 13 LANTZ, K. A., AND NOWICKI, W.I. Structured graphics for distributed systems. ACM Trans. Graph. 3, 1 (Jan. 1984), 23-51. Google ScholarGoogle Scholar
  14. 14 LEVY, H. VAXstation: A general-purpose raster graphics architecture. ACM Trans. Graph. 3, 1 ( J an. 1984), 70-83. Google ScholarGoogle Scholar
  15. 15 LIPKIE, D. E., EVANS, S. R., NEWLIN, J. K., AND WEISSMAN, R.L. Star graphics: An objectoriented implementation. Comput. Graph. 16, 3 (July 1982), 115-124. Google ScholarGoogle Scholar
  16. 16 LISKOV, B., AND SCHEIFLER, R. Guardians and actions: Linguistic support for robust, distributed programs. ACM Trans. Program. Lang. Syst. 5, 3 (July 1983), 381-404. Google ScholarGoogle Scholar
  17. 17 MCKEE, L. MC-WINDOWS Programming Manual, Revision A. Massachusetts Computer Corporation, Westford, Mass., 1985.Google ScholarGoogle Scholar
  18. 18 MICROSOFT CORP. Microsoft Windows: Programmer's Guide. Microsoft Corporation, Redmond, Wash., 1985.Google ScholarGoogle Scholar
  19. 19 MOON, D. Chaosnet. AI Memo 628, Artificial Intelligence Laboratory, MIT, Cambridge, Mass., June 1981. Google ScholarGoogle Scholar
  20. 20 MORRIS, J. H., SATYANARAYANAN, M., CONNER, M. H., HOWARD, J. n., ROSENTHAL, D. S. H., AND DONELSON SMITH, F. Andrew: A distributed personal computing environment. Commun. ACM 29, 3 (Mar. 1986), 184-201. Google ScholarGoogle Scholar
  21. 21 MYERS, B. Issues in window management design and implementation. In Methodology of Window-Managers, F. R. A Hopgood et al., Eds. Springer-Verlag, New York, 1986. Google ScholarGoogle Scholar
  22. 22 NOWlCKI, W. Partitioning of function in a distributed graphics system. Ph.D. dissertation, Dept. Computer Science, Stanford Univ., Calif., 1985. Google ScholarGoogle Scholar
  23. 23 PIKE, R. The Blit: A multiplexed graphics terminal. AT&T Bell Lab. Tech. J. 63, 8 (Oct. 1984), 1607-1631.Google ScholarGoogle Scholar
  24. 24 POSTEL, J. Transmission control protocol. Rep. RFC 793, USC/Information Sciences Institute, Marina del Rey, Calif., Sept. 1981.Google ScholarGoogle Scholar
  25. 25 RHODES, R., HAEBERLI, P, AND HICKMAN, K. Mex~A window manager for the IRIS. In Summer Conference Proceedings (Portland, Oreg., June 11-14). USENIX Association, 1985, pp. 381-392.Google ScholarGoogle Scholar
  26. 26 ROSENTHAL, D. Window system implementations. USENIX Association, 1986. (Course notes for Winter Conference, Denver.)Google ScholarGoogle Scholar
  27. 27 SMITH, D. C., IRBY, C., KIMBALL, R., AND HARSLEM, E. The Star user interface: An overview. in Proceedings of the 1982 National Computer Conference (Houston, Tex., June 7-10). AFIPS Press, Reston, Va., 1982, pp. 515-528.Google ScholarGoogle Scholar
  28. 28 STALLMAN, R., MOON, D., AND WEINREB, D. Lisp Machine Window System Manual. MIT Artificial Intelligence Laboratory, Cambridge, Mass., Aug. 1983.Google ScholarGoogle Scholar
  29. 29 STEELE, G.L. Common Lisp: The Language. Digital Press, Bedford, Mass., 1984. Google ScholarGoogle Scholar
  30. 30 SUN MICROSYSTEMS. Programmer's Reference Manual for Sun Windows. Sun Microsystems, Mountain View, Calif., 1985.Google ScholarGoogle Scholar
  31. 31 SUN MICROSYSTEMS. NeWS Preliminary Technical Overview. Sun Microsystems, Mountain View, Calif., 1986.Google ScholarGoogle Scholar
  32. 32 SWEET, R. Mesa programming environment. ACM SIGPLAN Not. 20, 7 (July 1985), 216-229.Google ScholarGoogle Scholar
  33. 33 SWEETMAN, D. A modular window system for Unix. In Methodology of Window-Managers, F. R. A. Hopgood et al., Eds. Springer-Verlag, New York, 1986. Google ScholarGoogle Scholar
  34. 34 SYMBOLICS. Programming the User Interface. Symbolics, Cambridge, Mass., 1986.Google ScholarGoogle Scholar
  35. 35 TEITELMAN, W. The Cedar programming environment: A midterm report and examination. Rep. CSL 83-11, Xerox PARC, Palo Alto, Calif., June 1984.Google ScholarGoogle Scholar
  36. 36 TRAMMEL, R.D. A capability based hierarchic architecture for Unix window management. In Summer Conference Proceedings (Portland, Oreg., June 11-14). USENIX Association, 1985, pp. 373-379.Google ScholarGoogle Scholar
  37. 37 WARNOCK, J., AND WYATT, D.K. A device independent graphics imaging model for use with raster devices. Comput. Graph. 16, 3 (July 1982), 313-319. Google ScholarGoogle Scholar
  38. 38 WECKER, S. DNA: The digital network architecture. IEEE Trans. Commun. COM-28, 4 (Apr. 1980), 510-526.Google ScholarGoogle Scholar
  39. 39 WILKES, A. J., SINGER, D. W., GIBBONS, J. J., KING, T. R., ROBINSON, P., AND WISEMAN, N.E. The Rainbow workstation. Comput. J. 27, 2 (May 1984), 112-120. Google ScholarGoogle Scholar

Index Terms

  1. The X window system

              Recommendations

              Reviews

              Gerard J. Holzmann

              This is the first major publication on the X window system, and as such is required reading for anyone working in the field. The system was developed at MIT and provides virtual terminal interfaces to users. It is written in C and has been ported to a great variety of machines and systems. It seems most popular, however, under UNIX operating systems. One of the strongest points of the system is the focus on device independence. Display windows can be opened and maintained transparently across a local area network. The base system is defined by an asynchronous byte-stream network protocol. The paper describes the underlying network model and the high-level primitives for manipulating a hierarchy of window structures in a device-independent manner. Some of the design criteria that are mentioned are as follows: :9BThe system should be implementable on a variety of displays; it must be network transparent; it should support text, 2-D graphics, and imaging; and it must be extensible. It should support a hierarchy of resizable, overlapping windows, and must be capable of supporting different application and management interfaces. Applications for the system must be device-independent. Multiple applications must be able to maintain their displays concurrently, and any single application must be able to use many windows at once. The paper is quite long, and it is not easy to discover an overall structure. It describes the design of X in four main areas: system software, the programming interface, the output structure, and the input structure. The system model is a conventional client-server model. For each physical display there is a server process that communicates with the client (application) process over a reliable duplex byte stream. The output structure is a hierarchy of windows. Windows are meant to be cheap enough to be used even to build, for instance, menu lists or individual items in forms and spreadsheet programs. The section on input structure deals with the keyboard, the mouse, and the inevitable race conditions that can happen if concurrently active multiple windows must share the usage of these. The X system is an important piece of software. The paper describes it well.

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Transactions on Graphics
                ACM Transactions on Graphics  Volume 5, Issue 2
                April 1986
                94 pages
                ISSN:0730-0301
                EISSN:1557-7368
                DOI:10.1145/22949
                Issue’s Table of Contents

                Copyright © 1986 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 April 1986
                Published in tog Volume 5, Issue 2

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader