• Ex: problem of producers and consumers, where a process writes to a shared buffer and anotherprocess reads from it.
In a distributed system there is no shared memoryand thus the whole nature of communicationbetween processes must be rethought. Processes to communicate, they must adhere to rules known as protocols. For distributed systems over a wide area, these protocols often take the form of several layers and each layer has its own goals and rules. Messages are exchanged in various ways, thereare many design options in this regard, an important option is the "remote procedure call." It is also important to consider the possibilities of communication between groups of processes, not only between two processes. In distributed systems, the absence of physical connection between the different memories of the teams, communication is performed by message transfer.
The standard ISO OSI
To send messages using the standard ISO OSI (Open Systems Interconnection), a layered model for communication of open systems. The layers provide multiple interfaces with different levels of detail, the last being the most general. The OSI standard defines the following seven layers: physical, data link, network, transport, session, presentation and application. The OSI model distinguishes two types of protocols, connection oriented and connectionless protocols. In the first, before any data transmission requires a virtual connection, which must end after sending. Connectionless protocols do not require this step, and messages are sent as datagrams.
The client-server model of communication based on a simplification of the OSI model. The seven layers that provides produce a waste of the transfer speed of the network, which will be used only three layers: physical, data link and request / reply. Transfers are based on the protocol request / response and eliminates the need for connection.
We can also categorize groups of processestaking into account the role played by the membersthat compose them: peer groups and hierarchical groups. If in a group there is nodistinction between the processes that formed anddecisions are taken collectively, is said to be apeer group. However, if relations are establishedhierarchy in a group, where some processes have a greater say than others, we speak of hierarchical groups. Each of these organizations group has its advantages and disadvantages. In hierarchical groups, if they fail the processes that make decisions, can produce a mismatch of the other members for as long as this situation remains. Inthe peer group does not produce this effect, if it fails one of its members can continue working (witha smaller group).