The universes:
ucb
": 4.2BSD-like, and for administration only
sie
" (like siemens): SystemIII-like , or SINIX-V2.1-like
- probably the most interesting universe nowadays
xopen
", aka "att
": SVR3-like, allegedly conforming to XPG3
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.