# Directory structure

In computing, a directory structure is the way an operating system arranges files that are accessible to the user. Files are typically displayed in a hierarchical tree structure.

## File names and extensions

A filename is a string used to uniquely identify a file stored on this structure. Before the advent of 32-bit operating systems, file names were typically limited to short names (6 to 14 characters in size). Modern operating systems now typically allow much longer filenames (more than 250 characters per pathname element).

## Windows, DOS and OS/2

In CP/M, DOS, Windows, and OS/2, the root directory is "drive:\", for example on modern systems, the root directory is usually "C:\". The directory separator is usually a "\", but many operating systems also internally recognize a "/". Physical and virtual drives are named by a drive letter, as opposed to being combined as one. This means that there is no "formal" root directory, but rather that there are independent root directories on each drive. However, it is possible to combine two drives into one virtual drive letter, by setting a hard drive into a RAID setting of 0.

### Windows 10

The following folders may appear in the root of a boot partition.
| Folder | Description |
| \PerfLogs | May hold Windows performance logs, but on a default configuration, it is empty. |
| \Program Files | 32-bit architecture: All programs (both 16-bit and 32-bit) are installed in this folder. 64-bit architecture: 64-bit programs are installed in this folder. |
| \Program Files (x86) | Appears on 64-bit editions of Windows. 32-bit and 16-bit programs are by default installed in this folder, even though 16-bit programs do not run on 64-bit Windows. |
| \ProgramData (hidden) | Contains program data that is expected to be accessed by computer programs regardless of the user account in the context of which they run. For example, a program may store specific information needed to operate DVD recorders or image scanners connected to a computer, because all users use them. Windows itself uses this folder. For example, Windows Defender stores its virus definitions in \ProgramData\Microsoft\Windows Defender. Programs do not have permission to store files in this folder, but have permission to create subfolders and store files in them. The organization of the files is at the discretion of the developer. |
| \Users | User profile folders. This folder contains one subfolder for each user that has logged onto the system at least once. In addition, it has two other folders: "Public" and "Default" (hidden). It also has two folder like-items called "Default User" (an NTFS junction point to "Default" folder) and "All Users" (a NTFS symbolic link to "C:\ProgramData"). |
| \Public | This folder serves as a buffer for users of a computer to share files. By default this folder is accessible to all users that can log on to the computer. Also, by default, this folder is shared over the network, although anonymous access (i.e. without a valid password-protected user account) to it is denied. This folder contains user data, not program data, meaning that users are expected to be sole decider of what is in this folder and how it is organized. It is unethical for a program to store its proprietary data here. (There are other folders dedicated to program data.) |
| [username]\AppData (hidden) | This folder stores per-user application data and settings. The folder contains three subfolders: Roaming, Local, and LocalLow. Roaming is for networked based logins for roaming profiles. Data saved in Roaming will synchronize to the computer when the user logs into that. Local and LocalLow does not sync up with networked computers. |
| \Windows | Windows itself is installed into this folder. |
| \System \System32 \SysWOW64 | These folders store dynamic-link library (DLL) files that implement the core features of Windows and Windows API. Any time a program asks Windows to load a DLL file and do not specify a path, these folders are searched after program's own folder is searched. "System" stores 16-bit DLLs and is normally empty on 64-bit editions of Windows. "System32" stores either 32-bit or 64-bit DLL files, depending on whether the Windows edition is 32-bit or 64-bit. "SysWOW64" only appears on 64-bit editions of Windows and stores 32-bit DLLs. |
| \WinSxS | This folder is officially called "Windows component store" and constitutes the majority of Windows. A copy of all Windows components, as well as all Windows updates and service packs is stored in this folder. Starting with Windows 7 and Windows Server 2008 R2, Windows automatically scavenges this folder to keep its size in check. For security reasons and to avoid the DLL Hell issue, Windows enforces very stringent requirements on how the files in this folder are organized. |

## Unix

Although Unix does not have a single standard for directory structures, in most implementations, files and directories appear under the root directory "/", even if they are stored on different physical devices.