Bourne | find |  #!  | ARG_MAX | Shells | Ash | portability | permissions | UUOC | - | Various | HOME
"$@" | echo | tty defs | tty chars | $() vs ) | IFS | using siginfo | nanosleep | line charset | locale


SINIX V5.20 Universes


The Unix variant SINIX offers three socalled universes. (Vendor was SIEMENS and it's a predecessor to ReliantUnix.) Each universe is simulating a separate environment with commands, headers and libraries. There's certainly only one Kernel, though.

The universes:

System III ('81) is the direct succesor to Version 7 ('79) and thus this universe is historically interesting, because the original implementation only ran on special hardware. Until the time of this writing, there's no appropriate emulator to run an original System III on. Other unix variants with a similar universe are hard to find at least in Europe.

How to enter a universe

You get into each universe (via a new login shell) with a command named like the according universe. You can also launch a single process in a universe by giving the program name as argument. Each process (and all its children if they don't switch again themselves) runs in its universe, that is, you don't switch universes system wide.

Implementation

The mechanism to emulate three environments at the same time is as follows: Important directory hierarchies (like /bin) are available in three variations, one for each universe. The original directory is a symbolic link to the actual destinations. It is a socalled conditional link and consist of three components, separated by blanks. It literally reads:

"/bin -> ucb=/.bin sie=/usr/sie_root/bin att=/usr/att/bin"

Depending on the universe you're in, such a link is resolving transparently to one of the destinations.

Conditional links can be created only in the ucb universe, with the "-c" flag of ln(1). In fact, the ucb universe solely exists for administrational purposes. Both symbolic and conditional symbolic links, as well as such long filenames are only visible and to be maintained from here. (Until SVR3, the maximum length for filenames was 14 characters).

According to Usenet postings, a similar universe mechanism can be found on Sequent and Pyramid systems.

Why several universes?

According to the documentation, Sinix V2.1 was a System III derivative and in Sinix V5 the sie universe exists just for backwards compatibility.

I haven't found the tape with the manpages yet, which are unfortunately not installed on my machine. Thus i won't add more about the interaction of system calls and environment for now.

Being able to see a running variant of the System III shell was the main motivation for me to get busy with this Unix.

Thanks to Marcus Oettinger for providing the machine.


22-05-2002,14-09-2007