Introduction to file systems


File systems

Overview
Files and directories

Abstraction: files and directories

Overview
Abstraction: files and directories

File operations

create
read
write
Non-sequential read/write: lseek

Implementations of file systems

Overview
How to implement a simple file system?

Mental model of a file system

By working on and improving your mental model, you develop an abstract understanding of what is going on, instead of just trying to understand the specifics of some file-system code (though that is also useful, of course!).

Unformatted raw disk
Overall organization
Data region
Metadata: inode table
Allocation structure
Superblock
Example implementations
Reading a file with inode number 32
Data structure: the inode

6 Multi-level index with indirect pointers

Overview
Reasoning
Another approach: extent-based
Yet anther approach: linked-based