> > Is this intended to be something like the > conditional symbolic links that have > > been in Apollo Domain system 23 years ago? > > > > I'm not familiar with that proposal. Can you provide > details? > > Thanks, > > Alan
As I recall, Apollo Domain OS implicitly made environment variables available to "system calls" (the quotation marks being because the OS was different enough that traditional system calls might often have been implemented more in user space than is typical on the historical Unix code-base). Therefore, symlinks on Domain OS could contain environment variable references; I think these looked like $(name); so they might have symlinks like /usr -> /$(SYSTYPE)/usr where SYSTYPE could be sys5.3 or bsd4.3. (give or take details, I recall that as an actual example) Of course, Apollo also did some other odd things with path names: //nodename referred to the / direcctory of node nodename, as seen by other nodes (similar to AFS /afs/node, or automounter /net/node) `node_data referred to the per-node private data directory (/sys/node_data on a diskful node, something like /sys/node_data.nodeid on the diskful partner of diskless node nodeid) And Apollo had a "typed" filesystem, where types for device files, symlinks, FIFOs, Unix-domain sockets, and unstructured files were only _some_ of the types; others could be for record-oriented files, windowing system entities (scrolling back through a transcript pad with mixed text and graphics would replay the graphics! - a "terminal" based on such a transcript pad was effectively seekable, but append-only for writing), files that incorporated revision history (the ancestor of Rational Rose), etc. In some cases, something that was not a directory could be other than the last level of a path name, in which case it would be up to the object at that level to interpret the "residue" of the pathname. (They also had a form of ACLs long before those were commonplace on other Unix-like OSs.) So while the Apollo was IMO a _brilliant_ example of what's possible, some of what it could do exceeds what would readily fit the Unix model (although it could present a very credible approximation of that model as a subset of what it could do). And thus, examples from an Apollo may be useful in terms of thinking about a problem, but could often not be reasonably implemented to look similar on a more traditional Unix-like OS. (way OT: ISTR one limitation on the Apollo: anything that was executable was effectively also readable, due to some architectural constraint) -- This message posted from opensolaris.org