Annotation of 43BSDTahoe/new/X/doc/Usenix/startup.t, revision 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.