Portability and Network Window Protocols

A Networked Windows system is portable because of one thing: The display functionality is separated from the application functionality. This can be done by constructing a standard protocol, that allows application programs to talk to the display process. The display process (of which there is one per physical display per machine) is called the Server, while the application programs are Clients. In other words, the role of client and server is reversed from that of CPU or file serving. There can be lots of application programs. Each application program can have 0, 1 or more Windows, which may or may not be visible at once on the screen. One consequence of this design is that a client can talk to a display server on a different machine (or indeed several machines!). The most common client program is a terminal emulation window - application, which usually is running a command interpreter, but can run anything else that does terminal I/O.

Figure: Servers, Clients (reverse of File case)