Difference between revisions of "Directory"

From Computer History Wiki
Jump to: navigation, search
m (clarify)
(Cover directories in data networking systems)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
A '''directory''' is an element of the organization of the data in a [[mass storage]] system, which records which [[file]]s are stored in that system, along with some information about them. They exist primarily in [[file system]]s, where they typically contain collections of related files, but they are to be found in other mass storage systems as well, such as on [[magnetic tape]]s.  
+
A '''directory''' is a key element of the organization of a [[mass storage]] system or (more recently) a [[data network]]ing system.
 +
 
 +
In the former, they record which [[file]]s are stored in that system, along with some information about them (such as where they are stored). In the latter, they indicate ''where'' in the network various classes of elements (data, [[host]]s, etc) may be found.
 +
 
 +
==Mass storage systems==
 +
 
 +
In a mass storage system, directories exist primarily in [[file system]]s, where they typically contain collections of related files, and allow those files (and their contents) to be found, so that they can be used. They are also to be found in other mass storage systems, such as on [[magnetic tape]]s.
  
 
Originally, along with the information as to which blocks were part of a file, directories contained other meta-information about the file (date last modified, etc); this approach was used in early operating systems such as [[Compatible Time-Sharing System|CTSS]] and [[TOPS-10]], as well as later ones like [[Multics]] and [[Windows]].
 
Originally, along with the information as to which blocks were part of a file, directories contained other meta-information about the file (date last modified, etc); this approach was used in early operating systems such as [[Compatible Time-Sharing System|CTSS]] and [[TOPS-10]], as well as later ones like [[Multics]] and [[Windows]].
Line 5: Line 11:
 
[[UNIX]] started a new approach, in which most information about a file (particularly, which blocks were used to hold it) was kept in a separate structure (called an [[inode]] in UNIX); directories (usually implemented as an abstraction on top of that file layer) only held mappings from file-names (visible to users) to inode numbers.
 
[[UNIX]] started a new approach, in which most information about a file (particularly, which blocks were used to hold it) was kept in a separate structure (called an [[inode]] in UNIX); directories (usually implemented as an abstraction on top of that file layer) only held mappings from file-names (visible to users) to inode numbers.
  
 +
==Data networking systems==
 +
 +
In a data network, some means must be provided for users of the network to find the various resources provided through (which seems like ''by'', to the users) the network. One or more (many more, in very large data networks like the modern [[Internet]]) directory ''systems'' perform this function.
 +
 +
In the earliest stages - for example, on the [[ARPANET]] - a means was needed to translate between the ''names'' of hosts (which were in a form suited for use by humans), and their [[address]]es (which were suited for use by the various [[software]] elements which implemented the network's services). There, these were initially provided by files, the [[host table]]s, which contained [[mapping]]s from the human-suited names to the addresses. The host tables were updated as things changed, and periodically, updated ones were distributed to all the users.
 +
 +
As the network grew, this was no longer feasible; changes were happening too often, and the amount of data also grew too large. The [[Domain Name System]] was devised as a distributed [[database]], which could contain those mappings; it was, in effect, a directory of the hosts on the Internet.
 +
 +
[[Category: Basics]]
 
[[Category: OS Basics]]
 
[[Category: OS Basics]]
 +
[[Category: Networking Basics]]
 +
[[Category: File Systems]]

Latest revision as of 16:19, 1 May 2024

A directory is a key element of the organization of a mass storage system or (more recently) a data networking system.

In the former, they record which files are stored in that system, along with some information about them (such as where they are stored). In the latter, they indicate where in the network various classes of elements (data, hosts, etc) may be found.

Mass storage systems

In a mass storage system, directories exist primarily in file systems, where they typically contain collections of related files, and allow those files (and their contents) to be found, so that they can be used. They are also to be found in other mass storage systems, such as on magnetic tapes.

Originally, along with the information as to which blocks were part of a file, directories contained other meta-information about the file (date last modified, etc); this approach was used in early operating systems such as CTSS and TOPS-10, as well as later ones like Multics and Windows.

UNIX started a new approach, in which most information about a file (particularly, which blocks were used to hold it) was kept in a separate structure (called an inode in UNIX); directories (usually implemented as an abstraction on top of that file layer) only held mappings from file-names (visible to users) to inode numbers.

Data networking systems

In a data network, some means must be provided for users of the network to find the various resources provided through (which seems like by, to the users) the network. One or more (many more, in very large data networks like the modern Internet) directory systems perform this function.

In the earliest stages - for example, on the ARPANET - a means was needed to translate between the names of hosts (which were in a form suited for use by humans), and their addresses (which were suited for use by the various software elements which implemented the network's services). There, these were initially provided by files, the host tables, which contained mappings from the human-suited names to the addresses. The host tables were updated as things changed, and periodically, updated ones were distributed to all the users.

As the network grew, this was no longer feasible; changes were happening too often, and the amount of data also grew too large. The Domain Name System was devised as a distributed database, which could contain those mappings; it was, in effect, a directory of the hosts on the Internet.