A Systematic Approach to Present “Files and File Systems” in Theoretical Courses of Computer Science.
The chapter considers a systematic approach to present “Files and file systems” in theoretical courses. The approach is based on different levels of abstraction for the concept introduced. We consider abstract files as mathematical objects, logical files as an implementation of abstract files in programming, and physical files as a mapping of logical files to the address space of storage media. Different levels of abstraction for file systems are introduced in the same way: logical file systems as collections of logical files, physical file systems as a mapping of logical file systems to storage media, and file systems as software tools that serve physical file systems. The abstraction hierarchy allows one to naturally introduce a hierarchy of operations on files and file systems and explain the functions performed by the file subsystems of operating systems. Logical structuring of the topic material facilitates the listeners’ perception of the topic, distinguishing essential general ideas from a set of secondary details.