A group with associated group membership, whereby processes may join or leave the group. Processes can then send a message to this group and have it propagated to all members of the group with certain guarantees in terms of reliability and ordering.
Types:
Closed group: A group is said to be closed if only members of the group may multicast to it
Open group: a group is open if processes outside the group may send to it.
Processes and threads:
Threads can be created and destroyed dynamically, as needed. The central aim of having multiple threads of execution is to maximize the degree of concurrent execution between operations.
Operating system architecture
There are two key examples of kernel design: the so-called monolithic and microkernel approaches:
Monolithic: It is massive – it performs all basic operating system functions and takes up in the order of megabytes of code and data – and that it is undifferentiated
Microkernel: The kernel provides only the most basic abstractions, principally address spaces, threads and local interprocess communication.
Comparison: The chief advantages of a microkernel-based operating system are its:Extensibility and its ability to enforce modularity behind memory protection boundaries. In addition, a relatively small kernel is more likely to be free of bugs. | The relative efficiency with which operations can be invoked. |
Multicast:
A multicast operation is an operation that sends a single message from one process to each of the members of a group of processes, usually in such a way that the membership of the group is transparent to the sender.
E.g. Sending an e-mail message to a mailing list, teleconferencing and videoconferencing.
Multicast messages provide a useful infrastructure for constructing distributed systems with the following characteristics:
1. Fault tolerance based on replicated services: client requests are multicast to all the members of the group, each of which