The Pyramid OS used “conditional symlinks” if I recalled to implement switching the bin directories.
The UCLA LOCUS/IBM Transparent Computing Facility switched versions of executables by using a “magic” directory that was conditional on the cpu type.
From: TUHS <tuhs-bounces@minnie.tuhs.org> On Behalf Of Richard Salz
Sent: Wednesday, September 11, 2019 1:49 PM
To: Clem Cole <clemc@ccc.com>
Cc: The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: Re: [TUHS] PWB vs Unix/TS
> course, this caused a new set of problems of trying to do bug fixes in the two command streams [BTW: Pyramid would try the Universe trick also as did a couple of other folks; but I don't know how they implemented it - as I say, I did it with CDSL].
Yes, /bin was a CDSL to /.attbin or /.ucbbin depending on a flag in the proc structure. The "universe" command queried/set the bit. The Pyramid kernel was a BSD kernel with the missing ATT syscalls added. The boot mechanism, at least at first, was BSD. I did things like "rm -rf" /.attbin, /usr/.attinclude, etc., and the system was fine. :)