About This Route
Central question: How does an operating system support a program while it is running?
This route explains the operating-system support layer around running programs. A running program is not just machine instructions executing on a CPU. It is an operating-system-managed process with memory, CPU scheduling state, open resources, permissions, threads, communication channels, and observable lifetime.
The practical vocabulary uses Unix/Linux concepts where they expose the model clearly, but the core idea is broader: the operating system manages the shared machine resources and privileged operations around running programs.
Contents
- What Does an Operating System Support When a Program Runs?
- Processes as OS-Managed Running Instances
- Virtual Memory and Process Address Spaces
- Pages, Protection, and Memory Mapping
- System Calls as the Boundary Between Program and Kernel
- Files, File Descriptors, and Open Resources
- Input and Output: From Program Calls to Devices
- Scheduling: How Programs Share the CPU
- Threads Inside a Process
- Synchronization and Waiting
- Process Creation and Program Replacement
- Signals, Exit Status, and Process Lifetime
- Pipes, Sockets, and Interprocess Communication
- Networking as OS-Managed Input and Output
- Permissions, Users, and Isolation
- Diagnosing Running Programs Through OS State
- Final Mental Model: Program, Process, Kernel, and Machine
Reading Path
Read the notes in order. The path starts with the operating system’s support role, then separates executable files, processes, address spaces, memory mappings, system calls, files, I/O, scheduling, threads, synchronization, process lifetime, communication, networking, permissions, and diagnostics.
What You Will Understand
- A process is a running instance managed by the operating system, not the executable file itself.
- User code can execute ordinary CPU instructions, but protected operations require operating-system support.
- Virtual memory, file descriptors, scheduling, blocking, permissions, and signals are part of the runtime model.
- Diagnostic tools become useful when their output is connected back to process and operating-system state.