Bourne | Ash |  #!  | find | ARG_MAX | Shells | whatshell | portability | permissions | UUOC | ancient | - | ../Various | HOME
"$@" | echo/printf | set -e | test | tty defs | tty chars | $() vs ) | IFS | using siginfo | nanosleep | line charset | locale


DYNIX 3.2.0 and SINIX V5.20 Universes

2011-01-01 (see recent changes)


Several (meanwhile historical) Unix variants offer universes.

Each universe is simulating a separate environment with commands, headers and libraries. There's (certainly) only one Kernel, though.

Sequent DYNIX 3.2.0 offers two universes:

Siemens SINIX V5.2 (predecessor to ReliantUnix) offers three universes:

How to enter a universe

$ att command
$ ucb command

You launch a single process in a universe by calling a command named like the according universe.
Each process, and all its children if they don't switch again themselves, run in this universe. You don't switch universes system wide.

If you call the command without any arguments, it behaves as if you spawn a new login shell.

Implementation

The mechanism to emulate several environments at the same time is as follows:

Important directory hierarchies (like /bin) are available in several variations, one for each universe.
The original directory is a symbolic link to the actual destinations.
The link is a socalled conditional link and consist of several components, separated by blanks.

Such a link resolves transparently to one of the destinations, depending on which universe you're in.

Conditional links are created with the "-c" flag of ln(1). Example for the link to /bin:

    ln  -c ucb=.bin  att=/usr/att/bin   /bin

DYNIX:

SINIX


<http://www.in-ulm.de/~mascheck/various/universes/>

Sven Mascheck