openskills.info
Course Preview

File Systems Fundamentals

A file system gives stored data names, directories, metadata, and rules for access. It maps the files applications use to storage while preserving a consistent namespace across devices and file system implementations.

itOperating systems

File Systems Fundamentals

A file system organizes stored data as named objects and defines how software finds, reads, changes, and protects them. Applications work with paths and open files. The operating system translates those requests through a common interface to a specific file system implementation and its backing storage.

A disk or solid-state drive supplies addressable storage blocks. It does not supply filenames, directories, ownership, or crash recovery. A file system adds those structures. Some file systems use local block devices. Others obtain data from a remote server, distributed cluster, memory, or a kernel-generated view such as /proc.

The path from a name to data

Consider an application opening /srv/reports/q2.csv on Linux. An absolute path starts at the process root. The kernel resolves each component in order: srv, then reports, then q2.csv. Every intermediate component must identify a searchable directory. A relative path starts at the process working directory, or at a directory file descriptor for interfaces that accept one.

Linux sends the request through the Virtual File System, or VFS. VFS provides one system-call interface while ext4, XFS, Btrfs, network file systems, and pseudo file systems implement different storage behavior. The directory-entry cache helps pathname lookup. A directory entry connects a name to an inode, and an inode represents the file object and its metadata. Opening the result creates a kernel file object and places a file descriptor in the process table. Later reads and writes use that descriptor instead of resolving the original path again.

This distinction explains several behaviors that otherwise appear surprising. Renaming an open file does not invalidate its descriptor. Removing one directory entry does not necessarily destroy the file because another hard link or an open file description can still refer to the same object. A symbolic link stores a pathname and usually triggers another round of path resolution.

Continue the course

This section is part of the paid course.

See pricing to subscribe, or log in if you already have access.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources