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

1.1       root        1: .SH
                      2: File Descriptors
                      3: .PP
                      4: Andrew, the window system developed at the ITC at CMU [1]
                      5: uses one connection (file descriptor)
                      6: per window.
                      7: While simple from a conceptual level,
                      8: also allowing naive applications to do output to a window,
                      9: it ties an expensive resource (file descriptor and connection) to
                     10: what should be a cheap resource (a window or sub-window).
                     11: It requires more kernel resources
                     12: in the form of socket buffers for each file descriptor.
                     13: In addition, the handshaking required for opening a connection is
                     14: expensive in terms of time and will become more so once connections
                     15: become authenticated.
                     16: The attraction of having a simple stream interface to a window
                     17: can be had by other means [2].
                     18: In addition, if a window is tied to a file descriptor, the
                     19: application loses the
                     20: implicit time sequencing provided by the event stream coming over a single
                     21: connection.
                     22: .PP
                     23: One X application uses more than 120 subwindows,
                     24: all multiplexed over a single connection.
                     25: One could postulate a single connection per client for input,
                     26: and a single connection
                     27: per window for output; with the limited number of file descriptors in 4.2BSD
                     28: and other current versions of 
                     29: .UX , 
                     30: this was eliminated as a possibility.
                     31: Sixteen client programs seems to be sufficient for most people,
                     32: (this is limited by 20 file descriptors on standard 
                     33: .UX ,
                     34: with four file descriptors needed
                     35: for X; one for the display, keyboard and mouse, two to listen for
                     36: incoming connections, and one for reading fonts).
                     37: Sixteen is not a tolerable limit on the total number of (sub)windows,
                     38: however.
                     39: .PP
                     40: 4.3BSD lifts this limit to sixty four.
                     41: (It can be configured to any size.)
                     42: While this increase in the number of file descriptors is beneficial,
                     43: it is still too expensive a resource to use one per window.
                     44: 

unix.superglobalmegacorp.com

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