Windows-X in GUI and Client Server model in Windows-X
The X-Windows system is based on a client-server model where clients make requests to the server for the display and input events. The client and server communicate through the X protocol, which is a network protocol that allows applications running on different computers to interact with each other.
The X-Windows server is responsible for managing the display and input devices, such as the keyboard and mouse. The clients are the applications that run on top of the server, and they request the server to display graphics and receive input events. The clients can be running on the same computer as the server or on a remote machine.
In this model, the clients are lightweight and have minimal responsibilities, while the server is responsible for performing the majority of the work. This allows the clients to be easily portable and run on a wide range of hardware and operating systems, while the server can be optimized for performance on specific hardware platforms.
Overall, the client-server model in X-Windows provides a flexible and scalable architecture for delivering graphical user interfaces, allowing applications to run on a variety of devices and systems.
Summarizing in short points
1] X is based on a client–server model.
2] An X server program runs on a computer with a graphical display and communicates
4] In X Window, the server runs on the user’s computer, while the clients may run on a different machine.
5] This is the reverse of the common configuration of client–server systems, where the client runs on the user’s computer and the server runs on a remote computer.
Design Principles of X:
1) Do not add new functionality unless an implementor cannot complete a real application without it.
2) It is as important to decide what a system is not as to decide what it is.
3) Isolate complexity as much as possible.
4) Provide mechanism rather than policy.
X window core protocol:
1] Communication between server and clients is done by exchanging packets
over a network channel.
2] The connection is established by the client, which sends the first packet. The
server answers by sending back a packet are acceptance or not.
After connection is established, four types of packets are exchanged by the client and
server: 1] Request 2] Reply 3] Event 4] Error