Process

A process is an instance of a program currently running on a computer. It represents the active execution of a program by the CPU and can range from a small background task to a comprehensive application, like a word processor or web browser. Each process consists of one or more threads and contains the instructions found in the program's code and any resources it needs in its current state (like input, output, and intermediate data).

Many applications split their tasks into child processes. For example, a web browser may start a separate process for each tab you open and each extension or plugin you install. Independent processes from different applications are generally not allowed to communicate directly in order to prevent conflicts and ensure data security. However, interprocess communication (IPC) techniques like sockets and message queues provide ways for processes to exchange information in a safe and controlled manner.

Modern operating systems support multitasking, which allows multiple processes to run concurrently. Each CPU core can run one process at a time, allowing several to run in parallel. Since there are always more active processes than available cores, the operating system's task scheduler divides CPU time between processes based on priority, rapidly switching between them to keep them running almost simultaneously. Interactive processes tend to have the highest priority, so user input like keystrokes and mouse clicks are given resources immediately while background processes wait their turn.

Each operating system also provides utilities that let the user see what processes are running on their computer and manually terminate one that is no longer responding. Windows users can invoke the Task Manager using a keyboard shortcut (Control + Alt + Delete). The macOS equivalent is the Activity Monitor app (found in the Applications / Utilities folder). Unix and Linux include a variety of system monitor utilities depending on the distribution, like the top and htop utilities or the GNOME System Monitor application.

Updated December 28, 2023 by Brian P.

quizTest Your Knowledge

Creating a new branch in a version control system is also called what?

A
Streaming
0%
B
Siphoning
0%
C
Bridging
0%
D
Forking
0%
Correct! Incorrect!     View the Fork definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Process on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.