18

Windows, Macintosh, Unix/Linux: today, they all support a hierarchical directory structure. The differences are in the details (mount points vs drive letters), but all use a hierarchical directory structure.

The accepted answer to question Is there a reason why MS-DOS didn't use more English words for commands? says DOS 2.0 added hierarchical directory structure, so I believe Unix had it before DOS.

But was the hierarchical directory structure invented for Unix? Or was there something before Unix that supported a similar hierarchical directory structure?

5
  • 4
    Wikipedia claims it was Multics: en.m.wikipedia.org/wiki/Multics "Multics was the first Operating System to provide a hierarchical file system" Commented Sep 23, 2018 at 19:34
  • 6
    One point of note is necessity. When a medium could only hold 11 files, a hierarchy would not have been necessary and might even have gotten in the way. But as storage mediums got bigger, a hierarchical structure was going to be inevitable.
    – RichF
    Commented Sep 23, 2018 at 22:06
  • There aren't many good alternative designs to a hierarchical file system - CP/M Plus tried to address the problem of confusingly large amount of files on large media by the addition of user areas which wasn't really practical, but rather, well, confusing.
    – tofro
    Commented Sep 24, 2018 at 10:42
  • @tofro what's confusing about user areas? It's basically unhierarchical directories which are numbered, not named. Commented Sep 25, 2018 at 11:47
  • 5
    @wilson: You do a DIR, find there's (apparently) no files on the disk, format it - After formatting, you hear your colleague (with another user number) had stored the crown jewels of files on that disk. I think that matches confusion.
    – tofro
    Commented Sep 25, 2018 at 12:08

1 Answer 1

32

The first hierarchical system capable of supporting arbitrary directory structures was designed for Multics, which pre-dates Unix. It is described in A General-Purpose File System For Secondary Storage, although it should be noted that that paper is a design document and doesn’t quite reflect the file system actually implemented a few years later in Multics.

Earlier systems had hierarchical file systems, but not capable of storing arbitrary layouts. CTSS (1961) had the concept of directories to some extent, or at least separate storage within the same file system for different users and projects (Dennis M. Ritchie wrote more generally that “a good case can be made that [Unix] is in essence a modern implementation of MIT’s CTSS system”).

1
  • 3
    To add some words: "non-hierarchical" systems often had at least 2 levels of directories: for each user, a directory of files, and one master directory of user directories.
    – dave
    Commented Sep 4, 2020 at 17:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .