Windows File System Comparison
By: Tommy • Research Paper • 1,305 Words • February 11, 2010 • 1,174 Views
Join now to read essay Windows File System Comparison
Introduction
Microsoft’s famed Windows platforms are operating systems that are used on personal computers, servers, and varied media devices. There are several platforms that serve each of these environments. Windows XP is an operating systems oriented for desktop computers. Windows Server 2003 is a platform for hosting enterprise-wide server systems. Windows Mobile is the operating system of choice for Pocket PC enabled devices. With such a diverse portfolio, Microsoft has captured a majority of the personal computer market.
FAT
The FAT (File Allocation Table) file system has its origins in the late 1970s and early1980s and was the file system supported by the Microsoft MS-DOS operating system (Wikipedia-1). It was originally developed as a simple file system suitable for floppy disk drives less than 500K in size. Over time it has been enhanced to support larger and larger media. Currently there are three FAT file system types: FAT12, FAT16 and FAT32. The basic difference in these FAT sub types, and the reason for the names, is the size, in bits, of the entries in the actual FAT structure on the disk. There are 12 bits in a FAT12 FAT entry, 16 bits in a FAT16 FAT entry and 32 bits in a FAT32 FAT entry.
The first important data structure on a FAT volume is called the BPB (BIOS Parameter Block), which is located in the first sector of the volume in the Reserved Region (Pollard, 2006). This sector is sometimes called the "boot sector" or the "reserved sector" or the "0th sector," but the important fact is simply that it is the first sector of the volume. The BPB in the boot sector defined for MS-DOS 2.x only allowed for a FAT volume with strictly less than 65,536 sectors (32 MB worth of 512-byte sectors). This limitation was due to the fact that the "total sectors" field was only a 16-bit field. This limitation was addressed by MS-DOS 3.x, where the BPB was modified to include a new 32-bit field for the total sectors value. The next BPB change occurred with the Microsoft Windows 95 operating system, where the FAT32 type was introduced. FAT16 was limited by the maximum size of the FAT and the maximum valid cluster size to no more than a 2 GB volume if the disk had 512-byte sectors. FAT32 addressed this limitation on the amount of disk space that one FAT volume could occupy so that disks larger than 2 GB only had to have one partition defined.
The next data structure that is important is the FAT itself. What this data structure does is define a singly linked list of the "extents" (clusters) of a file. There are usually two identical FATs. FAT number 2 is simply a spare copy of number 1, since FAT is essential for the function of the disk. A FAT directory or file container is nothing but a regular file that has a special attribute indicating it is a directory. In all other respects, a directory is just like a file. In FAT, whenever a file has to be read, its location is read in the table. Every time a file has to be written to a disk, vacant clusters must be found for it, and the information is stored in FAT, to facilitate retrieval. A FAT directory is nothing but a "file" composed of a linear list of 32-byte structures. The only special directory, which must always be present, is the root directory. For FAT12 and FAT16 media, the root directory is located in a fixed location on the disk immediately following the last FAT and is of a fixed size in sectors computed from the BPB. For FAT12 and FAT16 media, the first sector of the root directory is sector number relative to the first sector of the FAT volume:
For FAT32, the root directory can be of variable size and is a cluster chain, just like any other directory. The first cluster of the root directory on a FAT32 volume is stored in BPB. Unlike other directories, the root directory itself on any FAT type does not have any date or time stamps, does not have a file name (other than the implied file name "), and does not contain "." The 32 bytes are grouped in sections. This holds true for all entries, whether they point towards files or directories. This holds true for the root directory as well as all sub directories. The start cluster number is read in the directory entry for the file. Next FAT reads the numbers of cluster number two and so on, if the file is spread over additional clusters.
NTFS
NTFS was developed by Microsoft in early 1990s to use in their Windows NT operating systems. NTFS is designed to quickly perform standard file operations such as read, write, and search -- and even advanced operations such as file-system recovery -- on very large hard disks. The NTFS file system has a simple, yet very powerful design. Basically, everything on the volume is a file and everything