Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!mcvax!inria!dupont From: dupont@inria.UUCP (Francis Dupont) Newsgroups: comp.unix.wizards Subject: Re: multiple-machine executables ? Message-ID: <502@inria.UUCP> Date: Wed, 5-Aug-87 06:03:45 EDT Article-I.D.: inria.502 Posted: Wed Aug 5 06:03:45 1987 Date-Received: Sat, 8-Aug-87 08:52:36 EDT References: <1853@megaron.arizona.edu> <24830@sun.uucp> Organization: INRIA, Rocquencourt. France Lines: 30 Summary: Conditional symbolic links LOCUS provides a good solution for multiple-machine executables : conditional symbolic links. For example : /bin/cat is a conditional link to a binary for Vaxen and to an other binary for 680x0. If you are in the vax universe, you follow the Vax branch, and in the 68k universe, the 68k branch. This feature is named hidden directory in LOCUS, and is used in dual port Unix (Pyramid, Sequent, ...) implementations. You need a new field (universe) in the proc structure, some system calls (csymlink (makes a conditional symbolic link), setuniverse (sets the universe of the current process), ...). You can use conditional symbolic links for multiple-machine executables, libraries, binary data files, ... or for environments (for example, Pyramids have two universes : att (SVR2V2) and ucb (BSD 4.2/4.3)). Conditional symbolic links are very simple to implement, and are a better solution for multiple-machine executable than a new object format. But they can't save disk space ... Good references on conditional symbolic links are : The LOCUS Distributed System Architecture, by Gerald J. Popek & Bruce J. Walker. MIT Press 1985 (Chapter 6.4 : Hidden directories) OSx 3.x Release Overview, Pyramid Technology Corporation Balance Technical Summary, Dynix System V User's Guide, Sequent Computer Systems Inc. [Francis Dupont] dupont@inria.inria.fr or ..!seismo!mcvax!inria!dupont