Skip to content
TaeyoungKim.dev

Operating System Terms: Kernel, Process, Thread, and IPC

CSWritten 3 min readTaeyoungKim
LinkedInX

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.

TermMeaning
coreA 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.
IPCInter-process communication: mechanisms such as pipes, sockets, messages, or shared memory that let separate processes exchange information.
shared memoryA 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.
VMVirtual machine: a software-defined computer environment running on physical hardware, with virtualized resources such as CPU and memory.

Terms to distinguish

TermMeaning
ThreadA schedulable execution path within a process. Threads in one process share its address space and some resources.
processA running-program instance managed by the operating system with resources such as memory, open files, and permissions. One program can start multiple processes.
KernelThe core part of an operating system that manages resources such as processors and memory and mediates access to hardware.
PnPPlug and Play: detection and configuration of compatible devices so they can be used with little or no manual setup.
MultitaskingAn 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

TermMeaning
OLEObject 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 systemA system designed for one user to use at a given time, as distinct from concurrent multi-user access.
foreground programA program interacting directly with the user or controlling the current terminal session. “Foreground” does not automatically mean higher scheduler priority.
background programA 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.

Author

TaeyoungKim

Connecting technical foundations with implementation, verification, and production decisions.

#developer terminology#operating systems#process#thread#vocabulary series 19

Read next