You are here

Notes on File Systems

This is a collection of notes intended to introduce the fundamentals of file systems. This section summarizes the challenges of using hard drives and the general objectives of file systems. Subsections introduce simple file systems that are for the most part obsolete today.

Hard Drive Challenges and File System Objectives

 

Three Challenges

When faced with a large expanse of hard drive space, one has three problems:

  • How to store distinct groups of data in a unified manner - these are usually called files
  • How to find files - this usually leads to directories, or folders as they are called in graphical interfaces
  • How to manage the free space on the hard drive - avoid losing space to fragmentation or errors

Five Objectives

Over the decades, different file systems have produced different solutions to these problems. Usually the differences can be traced back to the following, sometimes mutually exclusive, objectives:

  • Easy to implement
  • FAST, FAST, FAST
  • Direct access versus sequential access of data in files
  • Support for hard drives of a particular maximum size
  • Robustness

As hard drives have grown in capacity, file systems have grown in complexity. Still, the systems' weird features usually trace their origins back to the problems being solved or the particular objectives being pursued.

If we look back into ancient history, when semi-trailor-sized behemoths were being out-evolved by refrigerator-sized creatures in university computer labs, we find many comprehensible file systems.

 

Creative Commons License
This work (which includes its subsections) by Dr. Rick Smith is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer