Operating System Design/File Systems/Abstraction

One of the main points and features of a filesystem is abstraction. With a filesystem, we can organize our data into files, directories, and other constructs, and manipulate them in various ways. To open a file, you need only its path; it's not necessary to figure out the exact location on disk and instruct the hard drive controller to move the read head to that position.

This data abstraction is important for several reasons:

  • Portability; it's not necessary to port every program for all hardware, only the device drivers need to be changed.
  • Security; the user is not relied on ‒ or even allowed ‒ to access the drive directly.
  • Convenience; files don't actually exist as separate entities on disk, but it sure makes it easier for people to use computers.