A file system provides some essential functionality, including the following:
Maintaining data integrity while meeting user needs in terms of providing functionality to create, delete, read, and write files.
Providing high throughput and performance while showing resiliency to system and disk failures.
Providing support for a wide variety of devices, such as fixed disks and removable disks, and each of these with a wide range of size and performance.
Providing an abstraction for applications such that they need not bother about the physical characteristics of the underlying storage device or where exactly within that device the data of interest to the application for a given I/O resides. Applications simply treat a file ...