CSE 221 - Operating Systems - Notes on "The Nucleus of a Multiprogramming System"

Question to answer:

How does synchronization in the RC 4000 system compare with synchronization in the THE system?

Answer:

Synchronization is achieved via send/wait message/answer calls. Processes are cooperative, meaning they control their CPU scheduling. Dijkstra uses semaphores which swaps processes on/off the CPU in a “fair” way so that it can be shared by more users.

Abstract

Thus, the aim of building the “nucleus” is to make something extensible which is capable of adding functionality.

The designers wanted to

Processes

Coordination between internal and external processes is handled by the “nucleus” which is an interrupt response program with complete control of IO, storage, and interrupts.

Process Communication

Communication is vital, and processes should go undisturbed in the event of errors of malicious or undebugged programs.

One issue, is that because the pool of buffers is finite, a process may consume all available buffers - preventing other processes from sending messages.

External Processes

Communication primitives designed for exchange of messages between internal processes, but later decided to use for communication between internal and external processes too.

Synchronization is obtained by sending messages to a clock

Internal Processes

Process Hierarchy

Arrange processes in a hierarchy where parents have complete control over children in order to maintain operations. All child processes must fit within the parent.

Implementation

CSE 221 - Operating Systems - Notes on "The Nucleus of a Multiprogramming System" - zac blanco