Most Common FAT (File
System's) Explained:
FAT = File Allocation Table
The file system that is used/Or ordinarily
designed for floppies and used by DOS, W 3.x, W95, Windows NT
and OS/2. In technical terms refered as FAT12 and FAT16 in which
12 and 16 standing for bits. A FAT directory holds info such
as name, file size, date & time stamp, the starting cluster
number and the file attributes like (archive, hidden, system
etc.). It's file system can support up to 65,525 clusters and
is limited to 2 GB. Works best on small 500mb drives because
of the cluster size. It seems to be about 2% faster than FAT32
and NTFS but windows is faster if confined to a small area. FAT
performance drops off after 400mb's on up.
FAT32 = File Allocation Table 32 such as W-95b
FAT32 will not recognize FAT or NTFS volumes
of other operating systems--so you can't use them. It supports
drives up to 2 terabytes. It uses smaller clusters (e.g. 4k clusters
up to 8 gigs).
So--What's the Difference (FAT12/16 or FAT32)
Remember that DOS 6.x or even versions
of Windows prior to SR2 won't recognize the front end of a FAT32
partition. So if you must run the occasional old DOS app, move
it into a FAT16 drive partition and then restart from an old
DOS boot diskette. FAT16 does not support partitions larger than
2GB. FAT32 is an improvement, as it supports drives up to 2 Terabytes
in size, and cluster sizes are 4K for partitions smaller than
8GB. So, if you can get FAT32 on the drive, it will work.
Fat12/16 and Fat32 is a Partition size/cluster
size issue. FAT32 solves this problem by reducing to 4KB the
default file cluster size for partitions between 260MB and 8GB.
(Drives or partitions under 260MB use .5KB clusters.) Up to 16GB,
FAT32's cluster size is 8KB; to 32GB, it's 16KB; and for partitions
of 32GB and greater, the cluster size holds steady at 32KB. FAT32
adds a few other improvements. The root directory on a FAT32
drive is now an ordinary cluster chain, so it can be located
anywhere on the drive. This removes FAT16's previous limitation
of 512 root directory entries. In addition, the boot record on
FAT32 drives has been expanded to allow a backup of critical
data structures. This makes FAT32 drives less susceptible to
failure. FAT32 partitions are also invisible to other operating
systems, including other versions of Windows. To access a FAT32
partition from a boot floppy, you must create an SR2 start-up
disk. You won't see your C: drive if you boot from an older Win95
or DOS start-up disk. If you start out with SR2 on a FAT32 partition
and subsequently install Windows NT or OS/2, neither OS will
be able to access the FAT32 partition. In addition, you can't
run disk-compression software (such as Microsoft's DriveSpace)
on a FAT32 partition. But it is possible to include both FAT32
and FAT16 partitions on a single hard disk and use DriveSpace
compression on FAT16 partitions. (So SR2 includes the same DriveSpace
3 compression Microsoft ships with its Plus pack.)
FAT32/FAT32x
In the beginning, DOS and Windows systems
used FAT12/FAT16. But when drives got larger, (meaning over 2
gigb) along came FAT32 and now FAT32x.
FAT16 was limited to 32 MB drives (hi hi
hi) and it was updated over the years (by manipulated sector
translation) until it became necessary to increase its basic
structure from 16 to 32. FAT32 can safely handle drives up to
2 Terabytes--Err, they say--but it has this problem over 8.4
GB.
The ("x") refers to eXtensions
to the FAT32 specification, because with the advent of drives
exceeding 8.4 Gig, a new limitation was reached. Prior to this,
all drives used some form of CHS (Cylinder Head Sector) translation.
Under this scheme every sector was given three numbers. In anticipation
of this limitation being exceeded, manufacturers developed Logical
Block Addressing (LBA). With LBA, each sector is given a unique
number depending on the BIOS.
To expand you knowledge base, let's talk
about scenarios. Windows 95 and 98 comes with an enhanced 32-bit
driver that is LBA compliant (OK) but a certain BIOS limitation
can blow out Windows, but run ok in DOS. Why??, DOS does not
use the Windows enhanced driver -- that's all. Conclusion, if
you try playing with the DOS command FDISK in DOS Mode and then
use it from inside a Windows Dos Prompt and funny stuff happens
THEN you know to beware of DOS mode, even though there's 4 different
versions of FDISK.
FAT32X is a form of FAT32 created by the
Windows Fdisk utility when partitions over 8 GB in size are created,
and the 1024 cylinder threshold of the disk is passed. The File
Allocation Table is moved to the end of the disk in these cases.
As many of users have found, there seems
to be a "mystical" limit to how big a hard drive can
be used by DOS. At first glance this limit seems arbitrary and
can be frustrating, especially with the sudden glut of 8GB+ drives
on the market. There is, however, a valid reason behind it.
On most standard IDE drives (SCSI are different
but similar rules apply) it is normal to have 16 heads and 63
sectors per track. Cylinders increase as drive size increases.
We are seeing drives with as high as 24000 cylinders or as low
as 50. To figure the drive's capacity, multiply the cylinder,
head, and sector numbers together. Divide the product by 2048.
As a formula it looks like this:
(cylinders * heads * sectors) / 2048 =
megabytes
This will give you a number in megabytes
that are equal to the size of the drive. The system uses these
numbers to help it when reading and writing to the disk.
The first limit comes directly from how
these numbers relate to the system. The system BIOS's INT13h
interface allows for a maximum of 1024 cylinders, 255 heads,
and 63 sectors per track. The standard IDE interface allows for
a maximum of 65,536 cylinders, 16 heads, and 63 sectors. In order
to satisfy the limits of both of these numbers, the minimum highest
common number for each is used. This produces a maximum number
of 1024 cylinders, 16 heads, and 63 sectors (504 MB per the calculation
above).
That limit quickly became too restrictive
and a work around method was developed. It is now possible to
"translate" a drive by multiplying the number of heads
to reduce the number of cylinders. For instance, if I had a drive
that was 2046 cylinders, 16 heads, and 63 sectors, I could translate
it by halving the number of cylinders and doubling the number
of heads. This results in a drive that has 1023 cylinders, 32
heads, and 63 sectors.
By using a translator between the IDE interface
and the BIOS INT13h interface, we can accomplish this translation
and satisfy both limits. My IDE drive will still have the same
physical number of cylinders, heads, and sectors that fit within
its limits, but the numbers reported to the BIOS INT13h interface
will be translated. This changes our limit to 1024 cylinders,
255 heads, and 63 sectors (8GB per the calculation above) or
simply the limits BIOS have in the first place. We are now capable
of working with anything up to 8GB.
There is another place that this limit
can be found. Every partition table in a PC is set up with the
same parameters. An entry for a single partition is 16 bytes
long. Of those 16 bytes, three re dedicated to holding the beginning
cylinder, head, and sector of a partition and three are dedicated
to holding the end cylinder, head, and sector of a partition.
A single byte can hold a number up to 255. If this number where
strictly adhered to this would leave a limit of 255 cylinders,
255 heads, and 255 sectors. Of the heads byte, this is true.
The other two bytes are manipulated slightly to allow for different
numbers. The sector number is held in a six digit binary number
and the cylinders in a 10 digit binary number. To fit this into
the byte structure (remember 8 bits to a byte), the first two
digits of the cylinder number are chopped off and put on the
front of the sector number. Learning to interpret the numbers
can be interesting, but it effectively gives us a limit of 1023
cylinders, 255 heads, and 63 sectors. Once again 8GB. Now, if
these limits look so built in, why are we seeing people breaking
them? The answer is logical addressing. All of these limits are
related to the number of cylinders, heads, and sectors that can
be handled. When you start addressing a drive with logical numbers
(start counting at the first sector and keep counting until you
get to the end), much larger numbers are possible. For instance,
the total number of sectors for a partition is stored in four
bytes in the partition table. Four bytes allow partition sizes
up to two terabytes. If we were to always use this number, then
the 8GB limit would be non-existent.
But the limit persists. This is because
all logical addressing is done by operating systems. Windows
95, Windows NT 4.0, and OS/2 Warp have systems that allow them
to address the drive in a logical manner. By doing this, all
of these operating systems can break the 8GB barrier. DOS and
Windows 3.x don't have this ability. They still rely on the traditional
cylinder, head, and sector addressing. For this reason any program
that runs under these operating systems is also limited to 8GB
unless it has its own system for using logical addressing.
Working in FAT32x partitions is essentially
the same as working in FAT32 partitions. However, when attempting
to manipulate a FAT32x partition, problems may occur. Procedures
such as copying, imaging, resizing, and moving FAT32x partitions
require different methods than those used for FAT32 partitions.
Many new computers have pre-installed FAT32x
partitions. This has created numerous problems for individuals
wishing to modify their partitions on their new systems. FAT32x
partitions have a different file system flag in the partition
table. Sometimes a FAT32x partition is erroneously created entirely
within 1024 cylinders. This can be corrected, in some cases,
by using a disk editing utility.
VFAT (Virtual File
Allocation Table)
A protected-mode version of the FAT file
system, used by Windows 95. It is compatible with the FAT system,
the main difference being support for long filenames.
NTFS (New Technology File System)
This systems structure is the (MFT) or
master file table. It uses too much space to use on a (e.g. 400mb)
hard-drive because it keeps multiple copies of files in the MFT
to protect against data loss. It also uses clusters to store
data in small noncontiguous clusters and isn't broken up resulting
in good performance on large hard-drives. It also supports Hot
Fixing where bad sectors are automatically detected and marked.
HPFS (High Performance File System)
This system sorts the directory based on
names and is better organized, is faster and is a better space
saver. It allocates data to sectors instead of clusters, organized
into 8mb bands. This banding improves performance because the
read/write heads don't have to return to track zero each time
for access. NetWare File System: This is quick because
Novell developed it for NetWare servers being NetWare 3.x and
4.x partitions. Linux Ext2: This is also quick because
it is a developed version of UNIX. The Linux Ex12 volume supports
up to 2 terabytes.
Return to Menu