Section 1.6. Communication


[Page 6 (continued)]

1.6. Communication

The components of a computer system cannot achieve very much when they work in isolation:

  • A process may need to talk to a graphics card to display output.

  • A process may need to talk to a keyboard to get input.

  • A network mail system needs to talk to other computers to send and receive mail.

  • Two processes need to talk to each other in order to collaborate on a single problem.

Linux provides several different ways for processes and peripherals to talk to each other, depending on the type and speed of the communication. For example, one way that a process can talk to another process is via an interprocess communication mechanism called a "pipe." A pipe is a one-way medium-speed data channel that allows two processes on the same machine to talk. If the processes are on different machines connected by a network, then a mechanism called a "socket" may be used instead. A socket is a two-way high-speed data channel.


[Page 7]

It is becoming quite common nowadays for different pieces of a problem to be tackled by different processes on different machines. For example, there is a graphics system called the X Window System that works by using something termed a "client-server" model. One computer (the X "server") is used to control a graphics terminal and to draw the various lines, circles, and windows, while another computer (the X "client") generates the data that is to be displayed. Arrangements like this are examples of distributed processing, where the burden of computation is spread among many computers. In fact, a single X server may service many X clients. Figure 1-3 is an illustration of an X-based system.

Figure 1-3. An X server with X clients.


We will discuss the X Window System further in Chapter 10, "The Linux Desktop."




Linux for Programmers and Users
Linux for Programmers and Users
ISBN: 0131857487
EAN: 2147483647
Year: 2007
Pages: 339

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net