work continuously, the new version (Version) is constantly generated (when the software is incompatible, the new version is generated). In 1985. Once anyone can use the license of X as long as the copyright fee is paid. The following is some of the nearest notes:

10th edition: At the end of 1985. Until at this time, people and organizations other than MIT have begun to have substantial contributions to X.

The first set of commercial X products DEC in January 1986 introduced VaxStation-II / GPX.

10th Edition 3rd release: February 1986. From this time, X began to circulate the world, and people ported it to many new systems.

10th Edition Issue 4 Issue: November 1986.

In January 1987, the first X technical conference was held in MIT.

In 1986, the 10th edition X could not meet all demands. MIT and DEC are engaged in the redesign of full agreement (Protocol). This is the X 11th edition (this is the so-called X11).

The 11th edition of the first release: September 1987.

X Association Established: The purpose of the MIT X Association is to study development and control standards.

Second X Technical Conference: January 1988.

The 11th edition of the second release: March 1988.

Item 11 3rd release: October 1988.

Strictly speaking, the X Window system is not a software, but a protocol (Protocal), which defines the function necessary to have a system finished product (just like TCP / IP, DECNET, or IBM SNA These are also the agreement, define the functionality that the software should have). Any system can meet this agreement and other specifications that meet the X Association, it can be called X.

2. X The basic component

x system is unlike the early window system, it is combined with a bunch of similar software, but is combined by three associated portions.

(1) Server (server)

Server is software that controls the display and input devices (keyboards, and mouse). Server can create a window, draw graphics and text in the window, respond to the "Requests" of the Client program, but it will not move itself, only after the Client program is requested to complete the action.

Each set of display devices can only correspond to a unique server, and Server is generally provided by the system vendor, usually cannot be modified by the user. For operating systems, Server is just a normal user program, so it is easy to replace new versions, or even the original program provided by third parties.

(2) Client (User)

Client is some applications using the system window feature. The application under x is called a client because it is a Server customer, requiring Server to respond to its needs to complete a specific action.

Client cannot directly affect the window or display, which can only be sent to Server, complete their request by Server. Typical requests are usually "written in a windows", or draw a straight line from A to B.

Client can be roughly divided into two parts: "Demand" to Server is just part of its function, and other functions are prepared for the user. For example, enter text information, mapping, calculation, and more. Typically, this part of the client program is independent of X, it is hard to know about what X. Typically, applications (especially large standard drawing software, statistical software, etc.) have output capabilities for many output devices, while displayed in the X window is just one of the number of output formats in the Client program, so the client program X Related parts are only a very small part of the entire program.

Users can use the Client program through different ways: Use the program provided by the system; use the software from third parties; or the user writes its own client program for a particular application.

Users who contact X WINDOW system easily confuse the concept of client / server in the X Window system, they will think of the concept of client / server under X WINDOW and customers in ordinary networks The concept of aircraft / server is not too different. In the usual concept, the user uses the customer workstation, using the file provided by the remote server or the display service, and under X Window, the user uses the X server to operate, while the client can run on a local or remote computer.

If it is further understood, it will be understood that the concept of the client / server refers to the specific running process, not a computer or user. It is not that the user contacts the client is customer, but first, you must first clarify the resource, then distinguish between resource providers and resource occupants. In a general customer / server approach, it is usually the customer's interaction directly with the user, so it is easy to cause the error concept, and the client and server are distinguished by the user.

But under X WINDOW, the service resource is the display of the X server provides processing power. The X client wants to display graphic images, but it cannot directly control the display hardware, only the X server in front of the user can only be provided. Display resources. Also, it cannot accept user input, and can only accept keyboards or mouse resources controlled by X servers. Here, the X server is the controller of the hardware, and the X customer is just a simple execution program, and can only use the service provided by the X server to input and output.

x Server (X Server) is a process of managing display, which must be run on a computer with graphic display capabilities. In theory, a computer can run multiple X servers at the same time, each of which manages multiple display devices connected to it.

x Customer (X Client) is a program that displays its information using the X server, which can run on a computer different from the X server.

x protocol (X protocol) is a set of protocols for communication, X protocol support network, can implement this protocol in the local system and network, supported network protocols have TCP / IP , Decnet, etc.


x This task division has several advantages:

1. The client can perform a computing task on a remote computer, while the X The server is only responsible for complex graphics, which gives full play to the advantage that the X server is displayed.

2. Only X servers are dealing with hardware, all customer programs are independent of hardware, which is easy to transplant on different platforms.

3. The client can run on a different computer, from the giant machine to a personal computer, thus giving full play to the superiority of the network calculation.

Although each X client can display the entire screen range, the standard practice is to create a display window, and all the display of the client program is operated relative to this window. This can simultaneously display multiple independent clients at the same screen, switching between different programs through management of the window. Each window should be located in the screen, when to display, when hidden, and the title of the window, how to display it around, etc., these should not be controlled and maintained by the customer program that generates this window, otherwise it will not achieve simplified design. the goal of. X WINDOW does not implement these tasks, in the design principle of X, these representative GUI style tasks are still the task of the client, so X will give the task of the management window to a special client-window manager, use different The window manager will make X window look very different.

x system is only responsible for displaying graphics, and does not limit the style of display and operation, so different X Window's style is not the same, and users can choose according to their own preferences.

On X WINDOW, all windows form a tree structure. X Window's Window Manager runs on a root window, all other windows are the sub-window of the root window, while other windows, there are corresponding buttons, dialogs, and other components, which are its sub-window. As shown in Figure 1.

Since the X WINDOW system only provides the most basic system call, the specific window has a lot of common, so we want to develop X applications, you should first use the development kit, no need to use the most basic X WINDOW system call to simplify the workload of writing programs. Different companies or organizations have developed a variety of toolkits to provide components that create and manage specific windows, such as MotiF kits, Openlook kits, and more. Each kit provides a standard component of a graphical interface such as a menu, buttons, dialog, and a basic window manager. Using different kits development procedures, their display style is also different, so there is a different GUI style between different programs. Motif and Openlook are two different graphical interface style. Current Motif has become a standard for commercial X WINDOW, and many commercial software is based on Motif, while OpenLook has not obtained more common support.

(3) Communication channel

With Server and Client, there is some information between them, this transmission information is the third of the X we want to introduce the X Composition part: Communication channel. With this channel, Client transmits "demand" to Server. The Server Recycling State (Status) and some other information give to the client.

Client is a communication channel through a library. Supporting communication morphological needs on the system or network is the basic X Window Digital Library built in the system. As long as the Client program utilizes a library, it naturally has the ability to use all available communication methods. At this time, the channel itself is no longer important, but it is just a concept.

3. Communication between Server and Client

Server and Client communication approctorate two categories, corresponding to two basic operating modes of the X system.

The first class, Server and Client are performed on the same machine, which can use any available communication methods on the machine to do interactive information processing. In this mode, X can work as efficient as other traditional window systems.

Sequence 2, the client runs on a machine, while the display and server run on another machine. Therefore, the exchange of information must be performed by a network protocol complied with each other, and the most common protocol is TCP / IP. This communication method is generally referred to as network transparency, which is almost a unique characteristic.

4. One of the user interface

x design objectives is to create many different forms of user interfaces. Other window systems provide specific interaction methods, while X only provides a general architecture that allows system creators to build the desired interactive style. This feature enables developers to build a new interface on the basis of X and can choose the appropriate interface at any time according to your own needs.

In general, the user interface can be divided into two parts. The management interface is also the window manager. It is the highest layer of command. It is responsible for constructing or rebuilding the window on the screen, changing the size, location of the window, or changing the window into an illustration. The

application interface determines how the user and application interacts, that is, how the user uses the device program of the window system to control the application and enter the information to it. For example, how to use a mouse to select an option.

5. X is independent of the operating system

x is not built into the operating system, it is just a slight higher than the user level. It is also a relatively independent component in the system. This has the following advantages:

1. Easy to install and revise, even removal. This job does not need to restart the system, nor does it cause interference to other applications.

2. Third Party is easy to support and strengthen its functions. For example, your manufacturer is not good enough, you can buy better or faster versions to others.

3.x does not formulate an operating system, so it is a standard, which is also the power of third-party development software.

4. For the developer. When working on Server, if the program is abnormal, it will only affect the window system, which will not cause damage to the machine or the damage of the operating system kernel.

Related Articles