Can someone advise me regarding when the GUIs became a
standard feature on
UNIX? Or operating systems whose ancestry was indeed UNIX?
MIT/LCS/TR-368, _The X Window System_, by Scheifler and Gettys, is dated
October 1986. Here are a couple paragraphs from the introduction:
X is the result of the simultaneous need for a window system from two
separate groups at MIT. In the summer of 1984, the Argus system [15]
at the Laboratory for Computer Science needed a debugging environment
for multi-process distributed applications, and a window system seemed
the only viable solution. Project Athena [4] was faced with dozens,
and eventually thousands of workstations with bitmap displays, and
needed a window system to make the display useful. Both groups were
starting with the Digital VS100 display [13] and VAX hardware, but it
was clear at the outset that other architectures and displays had to
be supported. In particular, IBM workstations with bitmap displays of
unknown type were expected eventually within Project Athena.
Portability was therefore a goal from the start. Although all of the
initial implementation work was for Berkeley Unix, it was clear that
the network protocol should not depend on aspects of the operating
system.
The name X derives from the lineage of the system. At Stanford
University, Paul Asente and Brian Reid had begun work on the W window
system [3], as an alternative to VGTS [12, 21] for the V system [5].
Both VGTS and W allow network-transparent access to the display, using
the synchronous V communication mechanism. Both systems provide "text"
windows for ASCII terminal emulation. VGTS provides graphics windows
driven by fairly high-level object definitions from a structured display
file; W provides graphics windows based on a simple display-list
mechanism, with limited functionality. We acquired a Unix-based version
of W for the VS100 (with synchronous communication over TCP [23]) done
by Asente and Chris Kent at Digital's Western Research Laboratory. From
just a few days of experimentation, it was clear that a network-
transparent hierarchical window system was desirable, but that restricting
the system to any fixed set of application-specific modes was completely
inadequate. It was also clear that, although synchronous communication
was perhaps acceptable in the V system (due to very fast networking
primitives), it was completely inadequate in most other operating
environments. X is our "reaction" to W. The X window hierarchy comes
directly from W, although numerous systems have been built with hierarchy
in at least some form [10, 14, 17, 27, 30, 31, 32, 33, 34, 35]. The
asynchronous communication protocol used in X is a significant improvement
over the synchronous protocol used in W, but is very similar to that used
in Andrew [9, 19]. X differs from all of these systems in the degree to
which both graphics functions and "system" functions are pushed back
(across the network) as application functions, and in the ability to
transparently tailor desktop management.
3. Asente. P. W Reference Manual. Stanford University, 1984. internal document.
4. Balkovich, E., Lerman, S., and Parmelee, R. "Computing in Higher
Education: The Athena Experience". _Communications of the ACM 28_,
11 (Nov. 1985).
5. Cheriton, D. "The V Kernel: A Software Base for Distributed Systems".
_IEEE Software 1_, 2 (April 1984).
9. 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, 1986.
10. Hawley, M. J., and Leffler, S. J. Windows for Unix at Lucasfilm.
Summer Conference Proceedings, Portland, USENIX Association, 1985.
12. Lantz, K.A. and Nowicki, W.I. "Structured Graphics for Distributed
Systems". _ACM Transactions on Graphics 3_, 1 (Jan. 1984).
13. Levy, H. "VAXstation: A General-Purpose Raster Graphics Architecture".
_ACM Transactions on Graphics 3_, 1 (Jan. 1984).
14. Lipkie, D.E., Evans, S.R., Newlin, J.K., and Weissman, R.L. "Star Graphics:
An Object-Oriented Implementation." _Computer Graphics 16_, 3 (July 1982).
15. Liskov, B. and Scheifler, R. "Guardians and Actions: Linquistic
Support for Robust, Distributed Programs". _ACM Transactions on
Programming Languages and Systems 5_, 3 (July 1983).
17. _Microsoft Windows: Programmer's Guide_. Microsoft Corporation, 1985.
19. Morris, J., et atl. "Andrew: A Distributed Personal Computing Environment".
_Communications of the ACM 29_, 3 (March 1986).
21. Nowicki, W. _Partitioning of Function in a Distributed Graphics System_.
Ph.D. Th., Stanford University, Stanford, CA, 1985.
23. Postel, J. Transmission Control Protocol. RFC 793, USC/Information
Sciences Institute, Sept. 1981.
27. Stallman, R., Moon, D., and Weinreb, D. Lisp Machine Window System
Manual. MIT Artificial Intelligence Laboratory, Aug., 1983.
30. _Programmer's Reference Manual for SunWindows_. Sun Microsystems, Inc.,
1985.
31. Sweet, R. "Mesa Programming Environment". _ACM SIGPLAN Notices 20_, 7
(July 1985).
32. Sweetman, D. A Modular Window System for Unix. In _Methodology of
Window-Managers_, F.R.A. Hopgood et al, Eds., Springer-Verlag, 1986.
33. _Programming the User Interface_. Symbolics, Inc., 1986.
34. Teitelman, W. The Cedar Programming Environment: A Midterm Report and
Examination. CSL-83-11, Xerox PARC, June, 1984.
35. Trammel, R.D. A Capability Based Hierarchic Architecture for Unix Window
Management. Summer Conference Proceedings, Portland, USENIX Association, 1985.
two other references, not mentioned in the above text, that are worth noting:
11. _Information Processing: Graphical Kernel System (GKS) - Functional
Description_. DIS 7942, International Standards Organization, 1982.
22. Pike, R. "The Blit: A Multiplexed Graphics Terminal". _AT&T Bell
Laboratories Technical Journal 63_, 8 (Oct. 1984).