File Systems: FAT12, FAT16, FAT32, HPFS, NTFS
Every computer we use today almost always has a hard drive. Hard Drives store information on platters, which are made of metal and coated with a magnetic substance. Data is organised on those platters using a file system. File systems are mostly operating system dependent. This means that almost every operating system has a different type of file system. Windows is the most widely used operating so Windows-compatible file systems are pretty much the standard that most other operating systems can at least read from.
The Dos/Windows file system is called File Allocation Table, or just FAT for short. There are 3 types of this FAT file system:
Whether a partition is going to use FAT12 or FAT16 is based mainly on its size and version of DOS you are using. If the partition or disk is 16MB or less in size, it is going to use FAT12. If the partition is between the size of 17MB and 2048MB, it will use the FAT16 file system.
FAT uses clusters to store files in. Each cluster is a group of sectors. The computer gives each cluster it's own address. The operating system then keeps track of which files are stored in which clusters. The cluster size is determined by the partition size as well as the type of FAT system being used. The cluster size is important because only one file can be stored in a cluster at a time. If you have a cluster that is 32KB, and you are storing a file in it that is only 1KB, you are wasting 31KB of space on your hard drive. That's not very big when you look at it in terms of a 2GB hard drive that has 2,097,152KB on the drive, but when you take a look and realize that there are no files that are perfectly going to fill up 32KB, you are wasting space with every file you have on your hard drive. How can this be avoided? The smaller the partition you have, the smaller the clusters you will have, and the less wasted space you will have. Below is a table showing the exact cluster sizes you will get with partition sizes.
There is a slight problem with the FAT16 file system. What would you do if you had a hard drive larger than 2GB and wanted only 1 partition? FAT32 solved that. It now supports drives up to 2048GB. 2048GB = 2 terabytes. FAT32 also solved the problem of large cluster sizes. Below is another table, but this compares the size of a FAT32 with its cluster sizes.
Unfortunately, the ability to make a 260MB FAT32 partition is limited due to the fact that the major program that makes partitions limits FAT32 drives to 512MB. The improved nature of FAT32 has caused this file system to be the most common type used. All later versions of Windows either work primarily with this file system or at least support it (like Windows 2000 and XP, which both allow FAT32 as an option over NTFS).
NTFS (NT File system) is the major file system used by Microsoft's Windows NT, 2000 and XP. (Each of these also supports the FAT file system). NTFS has features to improve reliability, such as transaction logs to help recover from disk failures. To control access to files, you can set permissions for directories and/or individual files. NTFS files are not accessible from other operating sysytems such as DOS
For large applications, NTFS supports spanning partitions or volumes which means files and directories can be spread out across several physical disks.
High Performance File system is basically a mix between NTFS and FAT. While FAT offers the 8.3 file naming system (8 characters, then a dot, then 3 more characters) HPFS will support up to 256 characters in a file name.
This file system is mainly used by IBM OS/2. With HPFS, the disk is divided up into bands, 16 megabytes across, with the directory structures and allocation bitmaps for each band located in the centre. This means that the content of a file is located at most 8 MB distant on the disk surface from the structures which control access to it. And the root directory is located in the central band, further helping to reduce head movement. Because of its design HPFS is less likely to suffer fragmented files than the FAT file systems.
Ext2 is a file system used by Linux. The main people that use it are those that run the many versions of the Linux Operating system.