Types of Computer File Systems

Types of Computer File SystemsFile system types can be classified into disk file systems, network file systems and special purpose file systems.

1. Disk File Systems:

a) Disk file systems
A disk file system is a file system designed for the storage of files on a data storage device, most commonly a disk drive, which might be directly or indirectly connected to the computer. Examples of disk file systems include FAT (FAT12, FAT16, FAT32, exFAT), NTFS, HFS and HFS+, HPFS, UFS, ext2, ext3, ext4, btrfs, ISO 9660, ODS-5, Veritas File System, VMFS, ZFS, ReiserFS and UDF. Some disk file systems are journaling file systems or versioning file systems.

b) Optical discs
ISO 9660 and Universal Disk Format (UDF) are the two most common formats that target Compact Discs, DVDs and Blu-ray discs. Mount Rainier is a newer extension to UDF supported by Linux 2.6 series and Windows Vista that facilitates rewriting to DVDs in the same fashion as has been possible with floppy disks.

c) Flash file systems
A flash file system is a file system designed for storing files on flash memory devices. These are becoming more prevalent as the number of mobile devices is increasing, and the capacity of flash memories increase.

While a disk file system can be used on a flash device, this is suboptimal for several reasons:

a) Erasing blocks: Flash memory blocks have to be explicitly erased before they can be rewritten. The time taken to erase blocks can be significant, thus it is beneficial to erase unused blocks while the device is idle.
b) Random access: Disk file systems are optimized to avoid disk seeks whenever possible, due to the high cost of seeking. Flash memory devices impose no seek latency.
c) Wear levelling: Flash memory devices tend to wear out when a single block is repeatedly overwritten; flash file systems are designed to spread out writes evenly.

d) Tape file systems
A tape file system is a file system and tape format designed to store files on tape in a self-describing form. Magnetic tapes are sequential storage media with significantly longer random data access times than disks, posing challenges to the creation and efficient management of a general-purpose file system.

In a disk file system there is typically a master file directory, and a map of used and free data regions. Any file additions, changes, or removals require updating the directory and the used/free maps. Random access to data regions is measured in milliseconds so this system works well for disks.

However, tape requires linear motion to wind and unwind potentially very long reels of media, and this tape motion may take several seconds to several minutes to move the read/write head from one end of the tape to the other.

Consequently, a master file directory and usage map can extremely slow and inefficient with tape. Writing typically involves reading the block usage map to find free blocks for writing, updating the usage map and directory to add the data, and then advancing the tape to write the data in the correct spot. Each additional file write requires updating the map and directory and writing the data, which may take several seconds to occur for each file.

Tape file systems instead typically allow for the file directory to be spread across the tape intermixed with the data, referred to as streaming, so that time-consuming and repeated tape motions are not required to write new data.

However a side effect of this design is that reading the file directory of a tape usually requires scanning the entire tape to read all the scattered directory entries. Most data archiving software that works with tape storage will store a local copy of the tape catalog on a disk file system, so that adding files to a tape can be done quickly without having to rescan the tape media. The local tape catalog copy is usually discarded if not used for a specified period of time, at which point the tape must be re-scanned if it is to be used in the future.

IBM has developed a file system for tape called the Linear Tape File System. The IBM implementation of this file system has been released as the open-source IBM Linear Tape File System — Single Drive Edition (LTFS—SDE) product. The Linear Tape File System uses a separate partition on the tape to record the index meta-data thereby avoiding the problems associated with scattering directory entries across the entire tape.
Tape formatting

Writing data to a tape is often a significantly time-consuming process that may take several hours. Similarly, completely erasing or formatting a tape can also take several hours. With many data tape technologies it is not necessary to format the tape before over-writing new data to the tape. This is due to the inherently destructive nature of overwriting data on sequential media.

Because of the time it can take to format a tape, typically tapes are pre-formatted so that the tape user does not need to spend time preparing each new tape for use. All that is usually necessary is to write an identifying media label to the tape before use, and even this can be automatically written by software when a new tape is used for the first time.

e) Database file systems

A recent concept for file management is the idea of a database-based file system. Instead of, or in addition to, hierarchical structured management, files are identified by their characteristics, like type of file, topic, author, or similar metadata.

f) Shared disk file systems
A shared disk file system is one in which a number of machines (usually servers) all have access to the same external disk subsystem (usually a SAN). The file system arbitrates access to that subsystem, preventing write collisions. Examples include GFS from Red Hat, GPFS from IBM, and SFS from DataPlow.

2. Network file systems

A network file system is a file system that acts as a client for a remote file access protocol, providing access to files on a server. Examples of network file systems include clients for the NFS, AFS, SMB protocols, and file-system-like clients for FTP and WebDAV.

3. Special purpose file systems

A special purpose file system is basically any file system that is not a disk file system or network file system. This includes systems where the files are arranged dynamically by software, intended for such purposes as communication between computer processes or temporary file space.

Special purpose file systems are most commonly used by file-centric operating systems such as Unix. Examples include the procfs (/proc) file system used by some Unix variants, which grants access to information about processes and other operating system features.

Deep space science exploration craft, like Voyager I and II used digital tape-based special file systems. Most modern space exploration craft like Cassini-Huygens used Real-time operating system file systems or RTOS influenced file systems. The Mars Rovers are one such example of an RTOS file system, important in this case because they are implemented in flash memory.

Read More

How NTFS File System Works: NTFS Architecture

NTFS File System A file system is a required part of the operating system that determines how files are named, stored, and organized on a volume. A file system manages files and folders, and the information needed to locate and access these items by local and remote users.

During the format of a volume you can choose the type of file system for the volume. When you choose the NTFS file system, the formatting process places the key NTFS file data structures on the volume, regardless of whether it is a basic volume or dynamic volume.

During format and setup of a volume file system on a hard disk, a master boot record (MBR) is created. The MBR contains a small amount of executable code called the master boot code as well as a partition table for the disk. When a volume is mounted, the MBR executes the master boot code and transfers control to the boot sector on the disk, allowing the server to boot the operating system on the file system of that specific volume.

Note: The partition table contains a number of fields used to describe the partition. One of these fields is the System ID field, which defines the file system, such as NTFS, on the partition. For NTFS volumes, the system ID is 0x07.

The figure NTFS Architecture shows the architecture of this process.

NTFS Architecture

NTFS File System

The following table describes the components of an NTFS file system.

NTFS Architecture Components on an x86-based System

ComponentComponent Description
Hard diskContains one or more partitions.
Boot sectorBootable partition that stores information about the layout of the volume and the file system structures, as well as the boot code that loads Ntdlr.
Master Boot RecordContains executable code that the system BIOS loads into memory. The code scans the MBR to find the partition table to determine which partition is the active, or bootable, partition.
Ntldlr.dllSwitches the CPU to protected mode, starts the file system, and then reads the contents of the Boot.ini file. This information determines the startup options and initial boot menu selections.
Ntfs.sysSystem file driver for NTFS.
Ntoskrnl.exeExtracts information about which system device drivers to load and the load order.
Kernel modeThe processing mode that allows code to have direct access to all hardware and memory in the system.
User modeThe processing mode in which applications run.
Read More

Identifying FAT16, FAT32, and NTFS File Systems and partitions

File systems How can I tell what type of file system (FAT16, FAT32, NTFS) my drive is formatted in?

To identify what type of file system the drive is formatted in:

  1. Click on the Start button and select Computer if using Windows Vista, My Computer if using Windows XP or 2000, or Windows Explorer if using Windows Me or 98.
  2. Right-click on the drive letter you want to check.
  3. Click on the Properties option from the pull down menu. A window will appear with the type of file system you have. If you do not see any information regarding FAT16, FAT32, or NTFS in the window that means the drive is formatted in FAT16.

Notes:

  1. Partitions created with the FAT16 file system have a size limitation of 2,048 MB (2.1 GB).
  2. Microsoft first started supporting the FAT32 file system with the release of Windows 95B (a.k.a. OSR2), circa 1997.
  3. When booting from Windows 95A, a Windows 95A startup disk, or any version of MS-DOS, a FAT32 partition will appear as a NON-DOS partition in FDISK.
  4. FAT32 partitions have a theoretical partition size limitation of 2 terabytes (TB). However, new partitions created by either Windows Vista, Windows XP, or Windows 2000 will limit their size to 32 gigabytes (GB). To create partitions greater than 32 GB under Windows Vista, XP, or 2000, you will need to format them using the NTFS file system (or create multiple FAT 32 partitions for drives greater than 32GB).
  5. Windows Vista, Windows XP, Windows 2000, and Windows NT all support the NTFS file system. Windows 2000, XP, and Vista can both support the FAT32 and NTFS file systems, however Windows Vista cannot be installed on a FAT32 partition. Windows NT cannot support FAT32 partitions.
  6. MaxBlast and DiscWizard allow FAT32 partitioning of a drive larger than 32GB.
Read More

Windows file systems and Mac File Systems

Windows file Systems And Mac File Systems This article provides a brief history and description of Windows file systems and Mac file systems.

File Systems
A file system organizes large numbers of files on some sort of recording medium (most commonly a disk drive or cd-rom). Mac and PC computers use different primary file systems which is why a program like TransMac is necessary.

The two common versions of Mac file systems (or volume formats) are standard HFS and Mac OS Extended (or HFS+). HFS came about early on in the life of the Macintosh line when disks had relatively small capacities. Limitations appeared in this format when disk drives grew very large in size. Mac OS Extended (or HFS+ as it was originally called) is similar to HFS but some of its internal structures were changed to accommodate the changing needs of modern personal computing. The major differences between the two are outlined below. HFS is best for small volumes or those that may be used on older systems (before OS 8.1). Mac OS Extended is best for larger volumes as long as they will not be used on older systems.

Standard HFS:

  • Compatible with all Mac OS versions
  • File names limited to 31 characters
  • File sizes limited to 2GB
  • Large volumes with small files waste a lot of space.

Mac OS Extended (HFS+):

  • Compatible with Mac OS 8.1 and later
  • 255 character Unicode file names
  • No file size limit
  • Less wasted space

Windows uses two primary types of file systems FAT (File Allocation Table) and NTFS (New Technology File System).

FAT:
There are three variations of the FAT file system: FAT12, FAT16 and FAT32. FAT12 and FAT16 originated in the DOS days. They had the same sort of problems HFS had due to growing  disk sizes. FAT32 was created to alleviate some of these problems, but it still has limitations like a maximum file size of 4GB.

NTFS:
NTFS was created for Windows NT. It does not have as many limitations as the FAT systems and also includes much needed security and reliability features. Recent versions of Windows (NT, 2000, XP, etc.) support both file system types, but older versions of Windows (95, 98, Me) do not natively support NTFS.

Read More

Primary Partition VS Extended Partition

Primary Partition VS Extended Partition A hard drive can be divided into primary partition and extended partitions. Partitions function as physically separate storage units. This allows you to separate different types of information, such as user data on one partition and applications on another. A hard drive can contain up to four primary partitions, or up to three primary partitions and one extended partition, for a maximum of four partitions.

There can be only one extended partition on a hard disk, so you should include all remaining free space in the extended partition. Unlike primary partitions, you don’t format extended partitions or assign drive letters to them. You divide extended partitions into segments. Each segment is a logical drive. You assign a drive letter to each logical drive and format it with a file system.

Read More

Volume Size Too Big Error During Windows XP Installation

Volume Size Too Big Error Why do I get a “Volume size too big” error message during the installation of Windows XP?

You cannot format a volume larger than 32 GBytes in size using the FAT32 file system during the Windows XP installation process. Windows XP can mount and support FAT32 volumes larger than 32 GB (subject to the other limits), but you cannot create a FAT32 volume larger than 32 GB by using the Format tool during Setup. If you need to format a volume that is larger than 32 GB, use the NTFS file system to format it. Another option is to start from a Microsoft Windows 98 or Microsoft Windows Me Startup disk and use the Format tool included on the disk.

Read More

File Systems

Different operating systems use different file systems. Some are designed specifically to work with more than one, for compatibility reasons; others work only with their own file system. This section takes brief look at the most common operating systems in use on the PC and the file systems that they use. This enables you to know what parts of the rest of the discussion on file systems is most relevant to your situation.

The most common name of the file system, “FAT”, is problematic, even though it is still often used. The first FAT file system used 12-bit file allocation tables; this was later expanded to 16 bits, and became the most common file system implementation for hard disks from the late 1980s to the late 1990s. To distinguish these versions of FAT from the 32-bit successor called FAT32, the older FAT variants are now sometimes called FAT12 or FAT16. However, you will still hear just “FAT” used a lot; if so, you need to find out what specifically is being referred to, if it matters in that particular context. For more elaboration on the differences between FAT12, FAT16 and FAT32.

Throughout my discussion of file systems, I have referred to the FAT family of file systems. This includes several different FAT-related file systems, as described here. The file allocation table or FAT stores information about the clusters on the disk in a table. There are three different varieties of this file allocation table, which vary based on the maximize size of the table. The system utility that you use to partition the disk will normally choose the correct type of FAT for the volume you are using, but sometimes you will be given a choice of which you want to use.

Since each cluster has one entry in the FAT, and these entries are used to hold the cluster number of the next cluster used by the file, the size of the FAT is the limiting factor on how many clusters any disk volume can contain. The following are the three different FAT versions now in use:

  • FAT12: The oldest type of FAT uses a 12-bit binary number to hold the cluster number. A volume formatted using FAT12 can hold a maximum of 4,086 clusters, which is 2^12 minus a few values (to allow for reserved values to be used in the FAT). FAT12 is therefore most suitable for very small volumes, and is used on floppy disks and hard disk partitions smaller than about 16 MB (the latter being rare today.)
  • FAT16: The FAT used for most older systems, and for small partitions on modern systems, uses a 16-bit binary number to hold cluster numbers. When you see someone refer to a “FAT” volume generically, they are usually referring to FAT16, because it is the de facto standard for hard disks, even with FAT32 now more popular than FAT16. A volume using FAT16 can hold a maximum of 65,526 clusters, which is 2^16 less a few values (again for reserved values in the FAT). FAT16 is used for hard disk volumes ranging in size from 16 MB to 2,048 MB. VFAT is a variant of FAT16.
  • FAT32: The newest FAT type, FAT32 is supported by newer versions of Windows, including Windows 95’s OEM SR2 release, as well as Windows 98, Windows ME and Windows 2000. FAT32 uses a 28-bit binary cluster number–not 32, because 4 of the 32 bits are “reserved”. 28 bits is still enough to permit ridiculously huge volumes–FAT32 can theoretically handle volumes with over 268 million clusters, and will support (theoretically) drives up to 2 TB in size. However to do this the size of the FAT grows very large; see here for details on FAT32’s limitations.
  • Here’s a summary table showing how the three types of FAT compare:

     

    Virtual FAT (VFAT)
    Microsoft incorporated several enhancements into the disk management capabilities of Windows 95. Access to the file system can be done using high-speed, protected-mode, 32-bit drivers, or for compatibility, the older DOS 16-bit routines. Support was added for long file names and also for better control over such matters as disk locking, so utilities could access the disk in “exclusive mode” without fear of other programs using it in the meantime.

    Despite the new name and new capabilities, VFAT as a file system is basically the same as FAT is. Most of the new capabilities relate to how the file system is used, and not the actual structures on the disk. VFAT handles standard FAT16 partitions, and under Windows 95 OSR2 or later, FAT32 partitions as well. The only significant change in terms of actual structures is the addition of long file names. Even here, VFAT supports these using what is basically a hack, as opposed to anything really revolutionary.

    With the exception of the long file names, Windows 95, using VFAT, shares the same logical disk structures as DOS or Windows 3.x using FAT.

    NTFS
    The NTFS file system used by Windows NT is completely different from, and incompatible with, the FAT file system that is used by DOS and the other Windows varieties. NTFS can only be used by Windows NT–other operating systems do not have the ability to use a disk formatted with NTFS.
    NTFS is in virtually every way, far superior to FAT. It is a robust, full-featured system that includes file-by-file compression, full permissions control and attribute settings, transaction-based operation, and many more features. It also does not have the problems with cluster sizes and hard disk size limitations that FAT does, and has other performance-enhancing features such as RAID support.

    The only way that NTFS is not superior to FAT is in compatibility with older software. NTFS is not nearly as widely-used as FAT, for this reason. For now I am not including a full examination of NTFS on the site, but I may add this at a later time if it seems warranted.

    Read More