A module on distributed systems for the operating systems course

Author(s):  
Steven K. Andrianoff

Since the earliest days of proving the correctness of programs, predicates on the program’s state space have played a central role. This role became essential when non-deterministic systems were considered. The first (and still best known) source of non-determinacy was provided by operating systems, which had to regulate the cooperation between components that had speed ratios that were beyond our control. Distributed systems have revived our interest in such configurations. I know of only one satisfactory way of reasoning about such systems: to prove that none of the atomic actions falsifies a special predicate, the so-called ‘global invariant’. Once initialized, the global invariant will then be maintained by any interleaving of the atomic actions. That solves the problem in principle; in each particular case, however, we have to choose how to write down the global invariant. The choice of notation influences the ease with which we can show that, indeed, none of the atomic actions falsifies the global invariant. An example will be given and discussed.


Author(s):  
Kenneth J. MacGregor

Middleware is not a new concept in distributed computing. It was first accepted as a term used to describe distributed software architecture during the 1990s and has evolved significantly since then with the increase in computer networking and the resulting use of distributed systems. The following is aA definition of middleware that was proposed by Emmerich (2000) and embodies the concepts of middleware: “Middleware is a layer between network operating systems and application components which facilitates communication and coordination of distributed components” (p.120).


Interprocess Communication (IPC) is used by the cooperating processes for communication and synchronization. With the advent of Distributed Systems and Microkernel Operating systems, IPC has been used for designing the system for cooperation. This raised the requirements for improving the communication and synchronization for the better performance of the system. Here, a mechanism of synchronization between the processes to reduce the waiting time of process using POSIX (Portable Operating System Interface) threads has been proposed to perform and synchronize the given task.


Sign in / Sign up

Export Citation Format

Share Document