Annotation of 43BSD/contrib/X/doc/Usenix/pty.t, revision 1.1

1.1     ! root        1: .SH
        !             2: Terminal Emulation
        !             3: .PP
        !             4: The current terminal emulator for X (\fIxterm\fP) is a client application,
        !             5: in principle similar to any other application.
        !             6: In practice, \fIxterm\fP is
        !             7: probably the most complex and least graceful part of the package.
        !             8: Pseudo teletypes (hereafter called pty's) are used to
        !             9: implement this in 4.2BSD.
        !            10: As currently implemented, ptys consist of a device driver which presents
        !            11: a terminal on one side and a master controlling device on the other side.
        !            12: Data is looped back from one side to the other, with full terminal
        !            13: processing occurring (tab expansion, cooked/raw mode, etc.)
        !            14: .PP
        !            15: These present a number of problems:
        !            16: 1) pty's are a limited resource.  
        !            17: Typical systems have 16 or 32 ptys.
        !            18: On a single user machine,
        !            19: this limit is seldom reached,
        !            20: but on a timesharing machine it can be inconvenient.
        !            21: 2) Since they appear statically in the file system, protection
        !            22: on the tty/pty pairs can be a problem.
        !            23: A previous process that terminates unexpectedly can leave the pty
        !            24: in an incorrect state.
        !            25: \fIXterm\fP is the only application that must  run set user id to root 
        !            26: to guarantee it can make the
        !            27: tty/pty pair properly accessible
        !            28: and to set ownership on the slave to the user.
        !            29: .PP
        !            30: The net result is that \fIxterm\fP is the most 
        !            31: .UX
        !            32: dependent
        !            33: (and least likely to
        !            34: port between 
        !            35: .UX
        !            36: implementations) of any of the X clients currently existing.
        !            37: Dennis Richie's [3] stream mechanism appears to eliminate
        !            38: most of these problems by allowing stacking of terminal processing on
        !            39: IPC.

unix.superglobalmegacorp.com

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