Rainbow (operating system)

from Wikipedia, the free encyclopedia

Rainbow (also Rainbow-OS) is a distributed operating system that was developed at Ulm University .

It enables a PC cluster to be set up with standard PC hardware. Individual computers remain transparently hidden from the user and only the view of a single "large" computer appears ( single system image ).

Rainbow is the advancement to 64-bit of the original Plurix distributed operating system.

The entire Rainbow operating system is written in the Java programming language - including the hardware drivers - and is completely object-oriented. In order to enable direct access to the hardware, Rainbow is not translated into an interpretable byte code, as is usual with normal Java programs , but translated into native machine code for various architectures using a compiler developed in parallel with Rainbow .

functionality

Rainbow uses the further developed concept of a shared memory to implement a uniform address space for all computers in the cluster in which objects are stored. For the application, it is transparent on which cluster computer these objects are physically located. It can access a desired object from any computer via the uniform address. If the object is physically located in the memory of a remote computer, Rainbow automatically and transparently ensures transmission and local provision on the processing computer.

Rainbow works on a transaction basis, i. H. Calculations carried out are encapsulated in transactions , which are either carried out completely or not at all. A transaction can be aborted if two (or more) computers want to change (i.e. write) the same object simultaneously. To avoid inconsistencies, one transaction is completed successfully and the other is canceled. The aborted transaction is then automatically restarted so that it can make its changes, but with the data from the first transaction that has been updated in the meantime.

Web links