Annotation of 43BSD/contrib/X/doc/Usenix/startup.t, revision 1.1.1.1

1.1       root        1: .SH
                      2: Window System Initialization
                      3: .PP
                      4: Most displays capable of running  a window system bear
                      5: little resemblance to 
                      6: .UX \'s 
                      7: model of a terminal connected by
                      8: a serial line.
                      9: Current display hardware may require involved initialization before it
                     10: is usable as a terminal, and may have an interface that looks nothing like
                     11: the conventional view of a serial device.
                     12: As soon as the window system is running, however, it is easy to
                     13: provide a terminal emulator to a user.
                     14: .PP
                     15: Unix currently realizes someone has logged out
                     16: by the eventual termination of the process started by \fIinit\fP(8).
                     17: \fIInit\fP is also the only process which can detect when an orphan process
                     18: terminates,
                     19: so the restart of a terminal line (or window system)
                     20: after logout can only be performed by
                     21: \fIinit\fP.
                     22: .PP
                     23: The solution taken to support X (or Andrew, which has a similar structure)
                     24: was to generalize \fIinit\fP.
                     25: \fIGetty\fP(8) or (in X's case, \fIxterm\fP) now opens and revokes access to
                     26: a terminal or pty rather than \fIinit\fP.
                     27: The format of the /etc/ttys file, already extended at Berkeley, was further
                     28: extended to allow the specification of an arbitrary command to be
                     29: run as \fIgetty\fP.
                     30: For X, this would normally be the terminal emulator.
                     31: \fIInit\fP will also restart an optional window system server
                     32: process associated with the pty.
                     33: \fIInit\fP must start this process,
                     34: since \fIinit\fP is the only process
                     35: in 
                     36: .UX
                     37: that can detect its exit.
                     38: The initial \fIxterm\fP can not be started from a window system server,
                     39: since the server must exist all the time, and \fIinit\fP has to know the
                     40: process id in order for it to detect the \fIlogin\fP process has terminated.
                     41: The X server process itself opens the display device and performs
                     42: whatever initialization may be required (for example, the Vs100 requires
                     43: loading with firmware stored in a file).
                     44: .PP
                     45: Once \fIxterm\fP starts execution, it exec's \fIgetty\fP on the slave side of the
                     46: pty, and a user can log in normally.
                     47: When the user's shell exits, \fIxterm\fP exits, and \fIinit\fP can then
                     48: detect the user has logged out normally.
                     49: .PP
                     50: \fIInit\fP can now be used to guarantee that a process will be kept running
                     51: despite failures as long as the system is multi-user.
                     52: Another approach not seriously examined would have made it possible for
                     53: an orphan process to have a parent other than \fIinit\fP.
                     54: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.