[comp.sys.apollo] DOMAIN/OS

mishkin@apollo.uucp (Nathaniel Mishkin) (03/21/88)

In article <1772@ssc-vax.UUCP> benoni@ssc-vax.UUCP (Charles L Ditzel) writes:
>On another subject :
>	1) Will SR10 require a choice of which OS to use?  Calls to
>	   Aegis from Unix will break?
>	2) If so, will you still be able to bring up multiple
>	   shells (Aegis, BSD4.3, Sys5)?

It's really a lot simpler than the marketing stuff might lead you to
believe.  DOMAIN/OS exports system calls.  These include the standard
Unix system calls (e.g. "open", "fork") and Apollo-defined system calls
(e.g. "gpr_$init", "pfm_$cleanup").  All these system calls are available
all the time from all processes no matter what installation options you
use to install DOMAIN/OS.

The behavior of some system calls (e.g. "stat") is different between
BSD and System V.  (This isn't something we made up.)  To support both
behaviors, every process is marked as either "BSD" or "System V".  (The
marking is a function of [among other things] an analogous marking on
the object file that was the first to be loaded into the process's address
space.) A process marked "BSD" gets BSD behavior for the ambigious systems
calls; a process marked "System V" gets System V behavior for the ambiguous
system calls.

All of the above has been true since sr9.5 (or even before).

When you *install* DOMAIN/OS, you will be asked various questions about
which "environments" you want installed on the local disk and which you
want installed via links to other nodes, etc.  The "environments" are
"Aegis", "BSD" and "System V".  Environments really have to do with what
upper level software (e.g. shells, command directories, etc.) are to
be installed and how they're to be installed.  Some things (e.g. "/etc")
will be installed on all nodes.  For other things (e.g. "/com", "/bsd4.3",
"/sys5.3"), you will have a choice of whether you want them locally,
as links, or not at all.  However, even if you (say) chose to not install
a "/sys5.3" tree locally (but assuming you've linked to it somewhere
on the network), you can still run a process marked "System V" and that
process will get System V behavior.  (If you chose not to install [say]
"/sys5.3" anywhere on your network, most System V things will still work,
but System V programs that expect to find things like "/usr/lib/terminfo"
won't work.)


-- 
                    -- Nat Mishkin
                       Apollo Computer Inc.
                       Chelmsford, MA
                       {decvax,mit-eddie,umix}!apollo!mishkin