File system is an important part of Linux world. We collect 10 useful file system concepts below to help you understand what file system is.
Important File system Concepts
- File system: An organization of data as files and directories, with a file-based interface for accessing them, and file permissions to control access. Additional content may include special file types for devices, sockets, and pipes, and metadata including file access timestamps.
- File system cache: An area of main memory (usually DRAM) used to cache file system contents, which may include different caches for various data and metadata types.
- Operations: File system operations are requests of the file system, including read(2), write(2), open(2), close(2), stat(2), mkdir(2), and other operations.
- I/O: Input/output. File system I/O can be defined in several ways; here it is used to mean only operations that directly read and write (performing I/O), including read(2), write(2), stat(2) (read statistics), and mkdir(2) (write a new directory entry). I/O does not include open(2) and close(2) (although those calls update metadata and can cause indirect disk I/O).
- Logical I/O: I/O issued by the application to the file system.
- Block size: Also known as record size, is the size of file system on-disk data groups.
- inode: An index node (inode) is a data structure containing metadata for a file system object, including permissions, timestamps, and data pointers.
- VFS: Virtual file system, a kernel interface to abstract and support different file system types.
- Volume: An instance of storage providing more flexibility than using a whole storage device. A volume may be a portion of a device, or multiple devices.
- Volume manager: Software for managing physical storage devices in a flexible way, creating virtual volumes for use by the OS.