Understanding File System

Prerequisite – File Systems in Operating System

Files and folders are the non-detachable part of human life. We daily go through these two name and use them unknowingly. These files do have different types, that has been evolved as the requirement of the user and developers changed. Some tech giants build their own file system to increase the market of their products, they also did changes and enhanced the technology of storing file on any kind of storage.

Some of the most popular file storage systems are: –

(i). FAT
(i). NTFS
(i). HFS
(i). EXT 

These are explained as following below.


Figure – Popular File System



  • (i). FAT (File Allocation Table):
    FAT stands for File Allocation Table and this is called so because it allocates different file and folders using tables. This was originally designed to handle small file systems and disks. This system majorly has three variant FAT12, FAT16 and FAT32 which were introduced in 1980, 1984 and 1996 respectively.

    These variant have their own pros and cons, like FAT32 (mostly used in pen drive and micro SD). It could store or copy a file with max size of 4GB (size of a single file to be stored) if the size of file exceeds 4GB it won’t copy on storage media, but its partition size was up to 8TB(size of partition on which FAT could be applied).


    Figure – FAT File System

    This file system was used by windows in its initial time, now windows has switched to NTFS which is also a file system of its own kind, we will learn about it.


  • (ii). NTFS (New Technology File System):
    Windows NT has come with a new file system called NTFS in 1993. This stands for New Technology File System. This was an enhanced and more advanced version of FAT systems. All Windows installation is done on NTFS, it first formats the storage in NFTS format and then install on it. Mostly NTFS is done on internal drives.

    This has no file size limits and no partition or volume limits. Theoretically up to 16 EiB size of a single file.


    Figure – NTFS File System



    • Journaling – This technique records the metadata and its changes in the volume or partition.
    • Transactions – This function enable files and folders to be recreated, renamed, deleted and many more without affecting others.

  • (iii). HFS (Hierarchical File System):
    HFS stands for Hierarchical File System, as the name suggests us this is a hierarchy of files and folders. This is especially designed for mac OS by Apple. The higher version which is in market is AHFS Apple Hierarchical File System. This was originally and initially designed for medial like floppy and HDD, at some extent use on CD – Rom as read only.


    Figure – HFS File System

    Max file size = 2GB
    Max volume size = 2TB 

  • (iv). EXT (Extended File System):
    Originally developed for UNIX and LINUX like Operating Systems. Its first variant came into market in 1992.Variant by variant this has overcome the limitations like size of single file, size of volume, number of files in a folder or directory. We have many software which could help in developing ext2 environment on Windows OS.


    Figure – ext File System

    Max file size EXT4 = 16TB
    Max volume size EXT4 = 50TB 


Which is the best File System ?
Quality depends on its use cases, as we know in computer science world there is no best programming language similarly there is no best file system but has different implementations. Linux is most compatible with ext, Windows is with NTFS and FAT and Mac OS with HFS, AHFS.

How to change File System of storage devices like pen drive and micro SD ?
There are two ways:

  1. Formatting the drive, choose file system – you would lost all your data.
  2. Using some software – you won’t lose any data but have to install some software which could be paid or free.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.