File Cabinet (File System Analogy)A computer, contrary to popular opinion, does not actually have a mind of its own.

It is an entity devoted entirely to following the instructions that it is given, whether they be perfect or flawed. (Hint: It’s usually the flawed instructions — or faulty hardware — that lead us to believe that computers are sentient and out to get us.)

As you may imagine, it takes quite a few instructions, all put together, for a computer to function. The more functions it can perform, the more instructions are necessary. By the time you have an operating system installed with a few programs running on it — well, that’s quite a few instructions right there already.

Have you ever wondered how your computer knows where to find all of the instructions that it needs to be able to function? Maybe stop and think about that the next time it takes an extra millisecond for a program to load. It could be much worse!

All of that instructional data is stored somewhere, otherwise it would be lost from memory the first time the computer is turned off.

How is all of that data saved, so that it can be quickly found again when it’s needed?

A file system is the method of organization, or structure, that a computer uses to name, store and retrieve data.

There are various types of file systems available; most are designed for a specific use. Many operating systems, for example, are only supported by specific file systems.

For the sake of being somewhat familiar with the most common file systems available, let’s run through them briefly.

Windows File Systems

Generally you will only hear about two file system options for Windows: NTFS and FAT

1. NTFS (New Technology File System) is the currently recommended file system option for Windows due to its performance and reliability advancements.

2. FAT (File Allocation Table) is an older file system option that is still widely used, especially on smaller storage devices such as USB flash drives and SD cards. Most commonly you will run across either the FAT32 or FAT16 variations.

Linux File Systems

Linux mostly commonly uses the ext file system (extended filesystem), of which there are versions ext2, ext3 and ext4.

The ext4 file system is the latest version, but it is backwards compatible with both ext2 and ext3, meaning that devices with previous ext versions can be mounted on an ext4 file system.

Other Linux file system options include XFS, JFS, ReiserFS and btrfs.

Other File Systems

There are file systems for all types of media devices, such as (but not limited to) audio-cassettes, databases, disks, networks, etc.

Cross-Compatibility

Since there is not a truly universal file system for operating systems, sharing data between them can get tricky.

Trying to use a ext4-formatted storage device on a FAT32 or NTFS file system, for example, won’t work.

And while it may work to use a NTFS storage device on an ext file system, FAT32 is a more reliable option.

The only problem with FAT32-formatted devices are their inability to store files larger than 4GB.

If you regularly work with files >4GB, you might prefer to format your transfer/storage device with a NTFS file system.

Or, since you should have multiple backups anyway, just store your files on as many different storage devices as possible, each with a different type of file system!

Summary

The file system determines where data is stored, and thus knows where to retrieve it from when it is needed.

File systems can be confusing, but the good news is, you don’t really need to know much about them!