Introduction to File Systems

Submitted by stylesen on Sun, 2006-10-08 00:46.

All file systems consist of structures necessary for storing and managing data. These structures typically include an operating system boot record, directories, and files.

Functions of a File System:

  1. Tracking allocated and free space
  2. Maintaining directories and file names
  3. Tracking where each file is physically stored on the disk

Different file systems are used by different operating systems. Some operating systems can recognize only one file system, while other operating systems can recognize several. Some of the most common file systems are the following:

FAT(File Allocation Table)
The FAT file system is used by DOS, Windows 3.x, and Windows 95. The FAT file system is also accessible by Windows 98/Me/NT/2000, and by OS/2.
The FAT file system is characterized by the use of a file allocation table (FAT) and clusters. The FAT is the heart of the file system; for safety, the FAT is duplicated to protect its data from accidental deletion or corruption. Clusters are the FAT system’s smallest unit of data storage; one cluster consists of a fixed number of disk sectors. The FAT records which clusters are used, which are unused, and where files are located within the clusters.
The FAT file system supports disk or partition sizes up to 2 GB, but only allows a
maximum of 65,525 clusters. Therefore, whatever the size of the hard disk or partition,
the number of sectors in one cluster must be large enough so that all available space can
be included within 65,525 clusters. The larger the available space, the larger the cluster
size must be.

FAT32 (File Allocation Table 32)
FAT32 is a file system that can be used by Windows 95 OEM Service Release 2 (version 4.00.950B), Windows 98, Windows Me, and Windows 2000. However, DOS, Windows 3.x, Windows NT 3.51/4.0, earlier versions of Windows 95, and OS/2 do not recognize FAT32 and cannot boot from or use files on a FAT32 disk or partition.
FAT32 is an enhancement of the FAT file system and is based on 32-bit file allocation
table entries, rather than the 16-bit entries used by the FAT system. As a result, FAT32
supports much larger disk or partition sizes (up to 2 terabytes).
The FAT32 file system uses smaller clusters than the FAT file system, has duplicate boot records, and features a root directory that can be any size and can be located anywhere on the disk or partition.

NTFS (New Technology File System)
The NTFS (New Technology File System) is accessible only by Windows NT/2000. NTFS is not recommended for use on disks less than 400 MB because it uses a great deal of space for system structures.
The central system structure of the NTFS file system is the MFT (Master File Table). NTFS keeps multiple copies of the critical portion of the master file table to protect against corruption and data loss.
Like FAT and FAT32, NTFS uses clusters to store data files; however, the size of the clusters is not dependent on the size of the disk or partition. A cluster size as small as 512 bytes can be specified, regardless of whether a partition is 500 MB or 5 GB. Using small clusters not only reduces the amount of wasted disk space, but also reduces file
fragmentation, a condition where files are broken up over many noncontiguous clusters,
resulting in slower file access. Because of its ability to use small clusters, NTFS provides
good performance on large drives.
Finally, the NTFS file system supports hot fixing, a process through which bad sectors are automatically detected and marked so that they will not be used.

HPFS (High Performance File System)
The HPFS is the preferred file system for OS/2 and is also supported by older versions of Windows NT. Unlike the FAT file systems, HPFS sorts its directory based on file names. HPFS also uses a more efficient structure to organize the directory. As a result, file access is often faster and space used more efficiently than with the FAT file system.
HPFS allocates file data in sectors instead of clusters. To keep track of which sectors have or have not been used, HPFS organizes a disk or partition into 8 MB bands, with 2 KB allocation bitmaps between the bands. This banding improves performance because the read/write heads don’t have to return to track zero each time the OS needs to access information about available space or a needed file’s location.

NetWare File System
The Novell NetWare operating system uses the NetWare File System, which was developed specifically for use by NetWare servers.

Linux Ext2,Ext3 and Linux Swap
The Linux Ext2 and Linux Swap file systems were developed for the GNU/Linux OS (a freeware version of UNIX). The Linux Ext2 file system supports a maximum disk or partition size of 4 terabytes. Apart from Linux Ext2 file system the latest version is the Linux Ext3 which uses the concept of journals.

add new comment
Submitted by Padmashree (not verified) on Tue, 2006-11-14 01:54.

Cool one.. keep going!

Submitted by Balachandran S (not verified) on Tue, 2006-12-19 23:07.

Saw this article just now. It is really useful.Will be more useful if some good resources like sites and books are also listed