Process
In computing, a process is an instance of a program that is currently being executed. It is the fundamental unit of work for an operating system, representing a program in action that has been loaded into memory and is assigned system resources like CPU time and memory. When you open an application, the operating system creates a new process for it, giving it a unique identifier (Process ID or PID).
Key aspects of a process
A program in execution: A program is a static set of instructions, but a process is the dynamic, active execution of those instructions.
Resource allocation: When a process is created, the operating system allocates it the necessary resources, such as a memory space, files, and network connections.
Unique identifier: Each process is assigned a unique Process ID (PID) that the operating system uses to manage it.
Process Control Block (PCB): The operating system uses a data structure called a process control block (PCB) to keep track of information about a process, including its ID, state (e.g., running, waiting), priority, and memory pointers.
Relationship with threads: A single process can be made up of one or more threads of execution, which are the parts of the program that actually run.
Lifecycle: A process is created when a program is launched and terminates when it is closed, at which point the operating system reclaims its resources.
Inter-process communication (IPC): Processes can communicate with each other to exchange data or synchronize their operations, though a process cannot normally access the memory of another process.