[TUHS] Quick Question: Early Filesystems and Name/Metadata Separation?

Dan Cross via TUHS tuhs at tuhs.org
Tue Sep 16 12:44:39 AEST 2025


On Mon, Sep 15, 2025 at 8:19 PM Warren Toomey via TUHS <tuhs at tuhs.org> wrote:
> Hi all, a quick question. Was Unix the first to separate
> a file's name from the other file metadata (thus allowing
> hard links where no filename is "better" than the others)?

I wondered if perhaps Multics had the concept, but it appears that it
does not, if I am ready section 2.1 of
https://multicians.org/fjcc4.html correctly.  It does have symbolic
links, but those seem to be of the conventional variety we are
familiar with from Unix, and the names associated with a link are
distinguished from the "primary name", which is special.  Multics
directory entries of the "branch" variety carry a file's metadata in
addition to the primary name; entries of the "link" variety point to
other entries.  Note that, unlike Unix, where inodes contain physical
disk addresses for the file's data (and indirect/doubly-indirect
blocks), Multics directory entries include a VTOC index,

However, it appears that the Berkeley Timesharing System for the
SDS-930 may have had something like hard links.  Section 12.9 of
https://bitsavers.org/pdf/sds/9xx/940/ucbProjectGenie/R-21_Time-Sharing_System_Reference_Oct68.pdf
describes the directory structure for that system, and notes that what
we'd call a directory entry is a 3-word record in a hash table
(presumably indexed by file name), with the first two words containing
"string pointers to the file name" and the 4th word containing "a
pointer to a 4-word 'description block'".  The "description block" is
described as something containing metadata and sounds an awful lot
like an inode.  That document goes on to say, "notice that several
entries in the hash table may point to a single description block; the
associated names are then synonyms for the same object, which can be
referenced by any of them."

The next paragraph continues: "The command DEFINE NAME creates a new
name to point to an existing description block; conversely DELETE NAME
detaches the name from its description block, the description block
itself is lost only if this was the only name pointing to it."

So the Project GENIE OS at least separated file names and metadata,
though it appears that each user had a single directory level.
Regardless, I'd say that meets the requested criteria.  I wonder what
DTSS did in this area, if anything.

        - Dan C.


More information about the TUHS mailing list