A process is a resource boundary for a running program; a thread is a path of execution inside that process. Threads in one process share an address space and other resources, while separate processes need a way to communicate, such as IPC. Read scheduling terms together with the execution unit and resource boundary they describe.
Key terms
The scheduler chooses runnable threads; threads in the same process share the process's resource boundary.
| Term | Meaning |
|---|---|
core | A CPU processing unit that can execute instructions. More cores do not automatically speed up a program; parallelism and workload determine the benefit. |
Operating system(OS) | System software that manages hardware resources and provides common services for processes, memory, files, devices, security, and interaction. |
IPC | Inter-process communication: mechanisms such as pipes, sockets, messages, or shared memory that let separate processes exchange information. |
shared memory | A region accessible to more than one process, allowing direct data exchange after it is set up. Processes still need synchronization and access controls; faster communication is not automatic. |
VM | Virtual machine: a software-defined computer environment running on physical hardware, with virtualized resources such as CPU and memory. |
Terms to distinguish
| Term | Meaning |
|---|---|
Thread | A schedulable execution path within a process. Threads in one process share its address space and some resources. |
process | A running-program instance managed by the operating system with resources such as memory, open files, and permissions. One program can start multiple processes. |
Kernel | The core part of an operating system that manages resources such as processors and memory and mediates access to hardware. |
PnP | Plug and Play: detection and configuration of compatible devices so they can be used with little or no manual setup. |
Multitasking | An operating system's ability to manage progress for multiple tasks, whether by interleaving their execution or running them in parallel on multiple cores. |
Terms in code
| Term | Meaning |
|---|---|
OLE | Object Linking and Embedding, a legacy Windows technology for linking or embedding content from one application in another, such as a chart in a document. |
Single-user system | A system designed for one user to use at a given time, as distinct from concurrent multi-user access. |
foreground program | A program interacting directly with the user or controlling the current terminal session. “Foreground” does not automatically mean higher scheduler priority. |
background program | A program or job running without continuously waiting for direct user input. “Background” does not automatically mean lower scheduler priority. |
Reading a technical document
A process defines a resource boundary; a thread runs within it. Do not treat the two as interchangeable names for a task.
Identify what is being scheduled, which resources are shared, and which communication mechanism crosses a process boundary. A context switch between threads of one process and a switch between processes can have different resource implications; the terms above help you locate that distinction.
Key takeaways
Separate operating-system layers, execution units, and communication boundaries.
- core — A CPU processing unit; additional cores help only when the workload can use them.
- Kernel — Manages core operating-system resources and hardware access.
- background program — Runs without continuous direct interaction; the label does not determine priority.

