How to Password-Protect a Folder & Zip File
Data security and privacy is important. Find out how to password protect a folder or file and prevent others from seeing your private data with our article.
Read moreA computer file system is a way of organizing binary information (1s and 0s) on your computer hard disk drive or SSD so it can be read. Without a file system, there wouldn’t be a way for the operating system (OS) to know where one data block ends and another begins.
Almost all computer file systems organize data using a hierarchical tree structure where files and folders (or directories) can be nested inside each other. Imagine paper is placed in a folder, that folder is inserted into a binder, and then the binder is placed on a shelf.
Note that a file system, like NTFS, is different from a file format, like .jpg or .mp3. The file system used by an OS provides the overall structure and organization of files on the device. A file format determines how the data inside a single file is arranged.
For example, an image, a document, a song and a movie are fundamentally all collections of bits on your computer. How bits are organized within the file will determine whether you see an image (.jpg) or hear a song (.mp3).
Different operating systems tend to have their own file system implementations. These differences make interoperability between different computer OS challenging, although compatibility has increased over time.
For example, if you want to format your Mac external drive with HFS+, it cannot be read by Windows and your Mac will be able to read a Windows drive formatted with NTFS, but won’t write to it. If you need to move files between different OS, you’ll need to format your external drive in a format that can be read and written to by both.
In 1977, Microsoft introduced the File Allocation Table (FAT) file system for their version of stand-alone disk. The FAT file system has received several upgrades over the years: FAT12, FAT16 introduced 16-bit support, and FAT32 brought 32-bit support.
In 1993, Microsoft released Windows NT with its New Technology File System (NTFS), which saw significant improvements in security and performance over FAT. Although released over 30 years ago, NTFS is still used by the latest versions of Windows 10 and 11. NTFS has seen significant development and updates since its inception.
In 1984, Apple released the Macintosh File System (MFS) alongside the original Apple Mac. MFS was a flat file system, meaning there are no subdirectories, and all files are stored in one directory.
In 1985, Apple released the Hierarchical File System (HFS, which supported nested files and folders for the first time. It was released alongside the first Macintosh hard drive.
In 1998, HFS Plus was released and included significant upgrades such as support for large files up to 8 exabytes and journaling. To give you an idea of how large 8 exabytes are, it would take one million Crucial 1TB SSDs to fully store it all.
In 2017, Apple released the Apple File System (APFS) alongside macOS High Sierra. APFS introduced support for cloned files, snapshots, and full-disk encryption. APFS was optimized for SSDs as file metadata is stored alongside the file data, a process which would lead to serious data fragmentation on an HDD.
Unix is the operating system that underpins most of the internet’s servers. The first Unix file system dates to 1969.
In April 1992, the first file system created specifically for the Linux kernel was the extended file system (ext). This was quickly updated to ext2 in 1993, ext3 in 2001 that added journaling support, and ext4 in 2006 included support for unlimited subdirectories subject to the size of your storage hardware and additional checksum support for journals and metadata.
In 2001, Sun Microsystems released the Zettabyte File System (ZFS) as part of the Solaris operating system, a proprietary OS by Oracle for Unix.
In 2007, developer Chris Mason released Btrfs for Linux. Unlike most file systems whose names are acronyms, Btrfs simply means “better filesystem”. Mason designed Btrfs to address proper storage scaling and user readability regarding interfaces.
When the OS first saves a file to a drive, the file contents are broken down into blocks or clusters that represent the smallest unit of storage the file system can manage. For example, if your file is 25KB and your block size is 16KB, the file system will allocate two 16KB blocks to store it; the extra 7KB of left over space will then be wasted. Smaller block sizes mean space can be allocated more efficiently, but larger block sizes mean it can be read and written more efficiently; there’s always a tradeoff between the two. It’s very common nowadays to work with files much larger than 16KB, so the wasted space is minimal.
Depending on available space, the data might be stored in one chunk (contiguous allocation) or allocated in a way that tracks how the data is stored in different parts of the drive. This was a common cause of fragmentation on spinning HDDs, an event where file systems store files non-continuously and therefore decrease performance with increased seek time.
The file system also maintains a directory structure, so it knows exactly where all parts of a file are located on your drive. A File Allocation Table (FAT) or similar file system acts like an index and stores the addresses of all the data making up the file.
File systems also store important metadata. Metadata is data about data, including information like the file owner, creation date, file size, and file type.
Modern file systems also include a feature called Journaling, a technique that protects against data loss. The file system records a plan of what is going to happen (e.g. moving a file), performs the task, and then logs the change. If something happens before the operation is complete, the file system can refer to the journal, roll back to before the error, or repeat the operation. An event like power loss or system failure during a file transfer could make the file unreadable without journaling.
File systems often include checksums, small data blocks used to maintain data integrity. All files are stored as 1s and 0s, so checking the sum of these numbers and monitoring changes means corrupt files can be identified and repaired automatically.
In summary, a file system is responsible for allocating and organizing data on your disk, tracking its location, status and integrity, and then ensuring data can be stored and accessed efficiently.
Name |
Year of Release |
Manufacturer |
Original OS |
Hardware Target |
Filename Limits |
Structure |
Notes |
|---|---|---|---|---|---|---|---|
CP/M |
1974 |
Digital Research |
CP/M |
Floppy disks |
8.3 |
Flat |
Early OS file system; limited functionality |
FAT |
1977 |
Microsoft |
MS-DOS |
Floppy disks |
8.3 (8 characters + 3 ext.) |
Flat |
Original File Allocation Table; very simple, no support for hierarchy |
FAT12 |
1980 |
Microsoft |
MS-DOS 2.0 |
Floppy disks |
8.3 |
Hierarchical |
First to support subdirectories; used primarily on floppies |
FAT16 |
1984 |
Microsoft |
MS-DOS 3.x |
Hard disks (≤2GB) |
8.3 |
Hierarchical |
Larger partition support than FAT12 |
MFS |
1984 |
Apple |
System 1 |
400K floppy disk |
255 (limited by UI) |
Flat |
No directory structure; precursor to HFS |
HFS |
1985 |
Apple |
Mac System 2.1 |
Macintosh + hard disk |
31 characters |
Hierarchical |
Replaced MFS; added folder support |
OS/2 HPFS |
1989 |
IBM / Microsoft |
OS/2 |
PC hard drives |
255 |
Hierarchical |
Replaced FAT in OS/2; supports long filenames and metadata |
ext |
1992 |
Rémy Card (Linux) |
Linux Kernel |
General purpose |
255 |
Hierarchical |
First filesystem for Linux; quickly replaced by ext2 |
NTFS |
1993 |
Microsoft |
Windows NT |
Hard disks |
255 |
Hierarchical |
Includes journaling, security ACLs, compression, encryption |
ext2 |
1993 |
Linux community |
Linux |
General purpose |
255 |
Hierarchical |
Faster, removed journaling; widely used before ext3 |
FAT32 |
1996 |
Microsoft |
Windows 95 OSR2 |
Hard disks, flash media |
255 (with VFAT extensions) |
Hierarchical |
Supports partitions up to 2TB; lacks journaling |
HFS+ |
1998 |
Apple |
Mac OS 8.1 |
Hard disks, SSDs |
255 (Unicode) |
Hierarchical |
Journaling added in later macOS versions |
ext3 |
2001 |
Linux community |
Linux |
General purpose |
255 |
Hierarchical |
ext2 + journaling |
ZFS |
2001 |
Sun Microsystems |
Solaris |
Enterprise storage |
255 |
Hierarchical |
Copy-on-write, snapshots, data checksum |
ext4 |
2006 |
Linux community |
Linux |
General purpose |
255 |
Hierarchical |
Supports extents, huge file/volume sizes, and more metadata integrity |
exFAT |
2006 |
Microsoft |
Windows CE, Windows XP Embedded |
Flash storage, SD cards, USB drives |
255 (Unicode) |
Hierarchical |
Designed for portable storage; no journaling; cross-platform (Windows/macOS/Linux) support |
Btrfs |
2007 |
Oracle |
Linux |
General purpose |
255 |
Hierarchical |
ZFS-like features: snapshots, compression, checksums |
APFS |
2017 |
Apple |
macOS High Sierra 10.13 |
SSDs |
255 (Unicode) |
Hierarchical |
Snapshots, cloning, encryption; optimized for flash storage |
Computer file systems are highly complicated software that is essential to managing all your data and files on a computer. Developments in security and data integrity mean your data is safer than ever. Speed and size optimizations mean you can store larger files and access them faster, if you have an SSD up to par of course.
Check out the Crucial System Scanner to guarantee your new SSD will be compatible with your hardware or use the Upgrade Selector to browse all options available for your device.
A file system is the structure your computer uses to organize and store files on a storage device. The file system determines how data is physically stored in blocks, how files and directories are named, and how metadata is tracked.
A file format, like .jpg or .mp3, defines how the data inside an individual file is arranged so an operating system can interpret it. For example, both an image and a song file are both sequences of binary data, but the file format directs the computer whether to show an image or play audio.
Different OS use different file systems by default. For example:
A more universally compatible file system, like exFAT, ensures both systems can read and write to the same external drive.
Journaling is a feature that attempts to prevent data corruption. It works by recording intended changes in a log (or journal) before applying them to the main file system. The journal helps recover the data to a safe state if your computer crashes or loses power during a transfer.
File systems, like NTFS, HFS+, and ext3/ext4, with journaling capabilities are more resilient on laptops and other devices prone to sudden shutdowns.
For Windows: Use NTFS, the default and most efficient file system for Windows, supporting large files, file permissions, encryption, and journaling.
For Mac: Use APFS for SSDs and newer macOS versions. HFS+ may still be used for older Macs or mechanical drives.
For drives shared between Windows and Mac: Use ExFAT since it’s compatible with both operating systems. exFAT supports large files and doesn’t have the limitations of FAT32. It’s ideal for USB drives and external hard drives that need to work on both platforms.
Data security and privacy is important. Find out how to password protect a folder or file and prevent others from seeing your private data with our article.
Read moreIs your Mac out of space? Find out why it's low and how to free up more with Crucial’s guide on how to clear space on a Mac.
Read more