Root directory

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In a computer file systems, the root directory is the first or top-most directory in a hierarchy. It can be likened to the trunk of a tree, as the starting point where all branches originate.

The root file system is the filesystem that is contained on the same disk partition on which the root directory is located and it is the filesystem on which all the other file systems are mounted as the system is booted up.

Metaphor[edit]

To use the example of a physical file cabinet, if the separate drawers in the file cabinet are represented as the highest level of sub-directories in the file system or system prompt, then the room the file cabinet is in may be represented as the root directory. That is, the other directories may be inside it, but the root directory cannot go in any other directories, at least in that file system. In most operating systems, files can be placed inside the root directory, as well as in its sub-directories. One may envision this as placing paper files anywhere in the room, or into any file cabinet within the room.

Multiple root directories[edit]

Unix abstracts the nature of this tree hierarchy entirely and in Unix and Unix-like systems the root directory is denoted by / sign. Though the root directory is conventionally referred to as /, the directory entry itself has no name—its name is the "empty" part before the initial directory separator character (/). All filesystem entries, including mounted filesystems are "branches" of this root.

Under DOS, OS/2, and Microsoft Windows, each partition has a drive letter assignment (labeled C:\ for a particular partition C) and there is no common root directory above that. DOS, OS/2, and Windows do support more abstract hierarchies, with partitions mountable within a directory of another drive, though this is rarely seen. This has been possible in DOS through the command JOIN since it first was added to DOS, and can be achieved in all Windows versions as well. In some contexts, it is also possible to refer to a root directory containing all mounted drives, although it cannot contain files directly as it does not exist on any file system. For instance, when linking to a local file using the "file:" URI scheme, the syntax is of the form "file:///C:/...", where "file://" is the standard prefix, and the third '/' represents the root of the local system.

In UNIX-like operating systems, each process has its own idea of what the root directory is. For most processes this is the same as the system's actual root directory, but it can be changed by calling the chroot system call. This is typically done to create secluded environment to run software that requires legacy libraries and sometimes to simplify software installation and debugging. Chroot is not meant to be used for enhanced security as the processes inside can break out.[1] FreeBSD offers a stronger jail() system call that enables operating system level virtualization and also serves security purposes to restrict which files a process may access to just a subset of the file hierarchy.

/root[edit]

On many Unixes, there is also a directory which is named /root. Confusingly, it is not a root directory in the sense of this article, but rather the home directory of the superuser (conventionally known as "root"). It is sometimes referred to as "slash root".[2]

VMS[edit]

In the VMS operating system, the term "root directory" is used to refer to the directory in which all the user's files are stored, which is what Unix calls the "home directory". The equivalent of a MS-DOS per-disk "root directory" in VMS is referred to as a "Master File Directory" and is specified as [000000]

See also[edit]

References[edit]

  1. ^ "What chroot() is really for". Lwn.net. Retrieved 2014-02-12. 
  2. ^ root Definition. The Linux Information Project.

External links[edit]