An
inter-process communication facility usually
provided by vendors of graphical user interfaces for
concurrent operating systems, such as
Microsoft, The
X Consortium and
Apple.
The system software translates hardware
interrupts from
various input devices into messages according to the current
input context (e.g. the active
window of the frontmost
application). Each message is a short piece of information.
A message's format depends on its type, which is usually
encoded in its first field. The message is sent to the
client application using some communication
protocol
(e.g.
shared memory, internal
socket, network socket).
The client application dispatches the message and performs any
actions required. The messages can also be sent by client
applications. This provides convenient and flexible
inter-process communication.