Track 05 of 12 · What the OS manages

Processes & Filesystems

Understand how Unix-like systems identify running programs and connect names, metadata, permissions, and open files. These concepts explain what common process and filesystem commands are actually inspecting or changing.

Ten concepts, in learning order

Each lesson assumes the ideas above it and prepares you for the ones below.

  1. 01Process and PIDA process is an operating-system execution context for a running program, including its memory, credentials, and open resources. A process ID (PID) is the number the OS uses to identify that process within a PID namespace for its current lifetime.
  2. 02Parent and child processesA child process is created by an existing parent process and records that relationship through a parent process ID (PPID). On Unix-like systems, creation commonly begins with fork-like semantics, after which the child may execute another program.
  3. 03Filesystem hierarchyA Unix filesystem hierarchy is a single tree of pathnames rooted at /. Mounted filesystems attach additional filesystem trees at directories within that namespace.
  4. 04Inode and file metadataIn an inode-based Unix filesystem, an inode represents a filesystem object and stores metadata such as its type, permissions, ownership, timestamps, link count, size, and data-location information. Filenames live in directory entries that map names to inode numbers.
  5. 05Hard linkA hard link is a directory entry that maps an additional pathname to an existing inode. All hard-linked names are peers for the same filesystem object; removing one name does not remove the object while another link or open reference remains. Ordinary hard links target non-directory objects because directory hard links are normally prohibited or tightly restricted to preserve filesystem structure.
  6. 06Symbolic linkA symbolic link is a filesystem object whose content is a pathname used during path resolution to locate another object. Because it stores a path rather than an inode reference, its target can move, disappear, or reside on another filesystem.
  7. 07Unix file permissionsTraditional Unix permissions store read, write, and execute bits for three classes: the file's owner, its group class, and others. The meaning of each bit depends on whether the object is a regular file or a directory.
  8. 08Ownership and groupsA Unix filesystem object records an owning user ID and group ID. A process's effective user and group credentials determine which traditional permission class and other authorization rules apply to its access request.
  9. 09umaskA process's file mode creation mask, or umask, clears selected permission bits from the mode requested when a new filesystem object is created. It supplies a default restriction, not the final mode for every creation.
  10. 10File descriptorA file descriptor is a non-negative integer that indexes an entry in one process's descriptor table. That entry refers to a kernel-managed open resource such as a file, pipe, socket, terminal, or device.

Continue the curriculum

Next: Networking from the Terminal

Trace network communication from local interfaces and addresses through DNS, transport protocols, URLs, HTTP, and encrypted remote access. The final lessons turn that model into practical curl and SSH diagnostics.

Open track 6