OK, so you’re savvy to hard disks. You know what interfaces they have, you know whether one will work in your computer or not, you even know the difference between a Gigabyte and a Gibibyte, but what are filesystems about?
This HEXUS.help guide explains a little (but not so much as to confuse you) about what a filesystem is, how they’ve changed over the course of time, and what choices (if any) you have with respect to them.
Disks, partitions, filesystems
While closely linked, partitions and filesystems are not the same. Partitions break the disk down into sections that are independent of each other. Each partition can have its own filesystem, its own purpose, even its own Operating System. In fact, some partitions might be hidden from view under normal use, accessed only by a recovery utility to restore the PC should the should it run into problems. Some Operating Systems don’t show certain partitions simply because they cannot understand the filesystem being used. So, in some situations, where multiple Operating Systems are being used, and files need to be shared between them, filesystem choice need to be done carefully.
Many disks have just one partition, even large disks like hard disks. This isn’t usually a problem, but sometimes it’s useful to partition a disk further, for purposes such as installing a second Operating System, or reducing disk fragmentation – issues beyond the scope of this HEXUS.help guide.
So, you have your partition(s), now what about the filesystems that can be used?
Any filesystem has to provide a number of features. It needs to be able to keep track of files, it needs to provide some sort of structure for storing them and ideally it needs to ensure integrity of the data, along with providing additional features like compression and encryption. Different filesystems provide differing numbers of features, implemented in different ways. Fortunately for Windows users, there aren’t many to choose from, but the story is different for other Operating Systems.
Don’t be offended, we’re not accusing you or your computer of being overweight. FAT stands for File Allocation Table. It was developed by Microsoft and first released in 1977. FAT is still used today, although it’s been updated somewhat since its initial creation.
FAT, unsurprisingly, uses a table to keep track of files and directories. Directories, or folders, are a means of structuring the data on a disk. The idea of storing files in folders and subfolders has been in use for a long time, and continues to be used with great success due to the fact that it’s great for grouping files together.
In the past, FAT had limited file sizes and partition sizes. However, the latest version – FAT32 - which came to be in 1996, supports files up to 4GiB in size, with partitions up to 2TiB. 4GiB seems like a lot, but it’s not always enough for recording video.
Even though FAT32 is 10 years old, it’s still widely used because it’s a relatively simple filesystem for use on portable devices like cameras, audio players and flash disks. However, for hard disks running on new versions of Microsoft Windows, there is a better solution.
That better solution is called NTFS, or New Technology File System. NTFS shares part of its name with the Operating System it was designed for: Windows NT. NT was Microsoft’s workstation and server OS, for use in the workplace and datacenter. As such, requirements were a little different.
NTFS is supposed to provide better performance than FAT, along with being more robust and adding features like file permissions and encryption. All of these features are, of course, used widely in IT networks in the current day. NTFS, in its current form, supports over 4.2 billion files and partitions up to 16TiB.
While NTFS started life in servers and workstations, that changed when Windows XP came along. XP was based on NT (NT 5.1 - Windows 2000 was NT 5) and so for the first time NTFS appeared on home PCs.
Now that we have home networks, multiple users, massive disks and files to match, NTFS is the wise choice of filesystem if you’re running Windows XP.
To avoid this HEXUS.help guide getting incredibly lengthy, we’ll stick to Windows filesystem technologies, but it’d be rude not to mention at least a few others, for example those used on Linux. Linux and some of its Unix relatives can use a range of filesystems. These include ext2, ext3, ReiserFS, XFS and more. Some are great for storing large sequential files, while others deal best with huge numbers of tiny files.
Windows cannot natively support any of these filesystems, however, so they won’t be of much use to most of you reading this.
We’ve left this until last for two reasons. Firstly, it’s not available yet. Secondly, it’s not actually a filesystem, despite the name.
WinFS stands for Windows Future Storage (not File System.) It will be released some time after Microsoft’s new OS, Windows Vista. It is actually a data storage system, rather than a filesystem, and it runs on top of NTFS.
It’s important to know the difference between data and files when trying to understand WinFS’s role. A filesystem knows only about files; their size, their name, their location. A filesystem knows absolutely nothing about what’s in that file; what the data is. As such, a file system cannot relate a file to anything else, apart from the files sharing the same directory.
With WinFS, the idea is to add a layer on top of the filesystem that creates releationships between the data being stored. So, instead of sorting files into folders all the time, you’ll be able to pull up details on a project your working on, and have access to any other data that might be relevant to that project, like photos, e-mails, contacts… practically anything.
So now you know a little about filesystems, but in reality this article only scratches the surface. Filesystems are key to storing files; they keep your data safe (hopefully) and enable you to access it quickly and easily. However, different situations require different filesystems. Portable devices tend to use FAT these days, but the vast majority of hard disks for Windows machines should be NTFS formatted.