04.01 · Concept
Processes and Scheduling
Say what a process is to the operating system, and how isolation and scheduling decide what your code gets.
No video curated for this lesson yet
This lesson is written, ordered and part of the path - the video slot is the only thing still open. We are working through Deployment lesson by lesson; 29 of 56 have their video so far.
The written notes below cover this idea in full - you lose nothing by reading instead of watching.
A process is the operating system’s unit for running code, isolating memory, tracking resources, and deciding CPU access. Your program does not simply run because it exists; it competes with other runnable work, can be paused, throttled, or deprioritised, and may be constrained further by containers, cgroups, and platform limits.
What this lesson answers
- what does the operating system call a process
- why is my process not getting CPU time
- how do containers affect process scheduling
Notes
Processes and Scheduling — Processes exist so the operating system can run many programs safely on the same machine; without process isolation and scheduling, one program could overwrite another’s memory or monopolize the CPU.
Key Concepts: - A process is an OS-managed running program with its own virtual address space, file descriptors, registers, and metadata such as PID; on Linux, `ps -p 1234` shows process ID `1234`. - Process isolation means process A cannot directly read process B’s memory because each process gets separate virtual memory mappings, e.g.
References
Common questions
- What is a process from the operating system’s point of view?
- A process is a running program represented by operating system state: its memory mappings, open file handles, register state, identifier, permissions, and other bookkeeping. The operating system uses that structure to isolate it from other programs, resume it after pauses, account for its resource use, and decide when it can execute.
- Why can my service be slow when the machine still has CPU?
- Your service may be runnable but not currently scheduled, or it may be restricted by a CPU quota, container limit, or lower priority. CPU availability at the host level does not guarantee your process can use it freely. The scheduler, cgroups, and competing work all affect how much execution time it actually receives.
- Does process isolation mean other processes cannot affect mine?
- Process isolation mainly protects direct access to memory and process state. It does not remove contention for shared resources. Other processes can still affect yours through CPU competition, disk activity, network saturation, cache effects, temporary files, quotas, and platform scheduling policies, especially inside containerised environments.
Short definition: what is Processes and Scheduling?
