Short Description

These notes are derived from Chapter 3 of the course material based on the textbook Operating Systems Concepts. This chapter introduces the concept of processes, process control blocks (PCBs), process states, and inter-process communication (IPC). It also covers process creation, termination, and the use of system calls such as fork() and exec() for process management.


Process

A process is a program in execution. While a program is a passive entity stored on a disk (e.g., an executable file), a process is an active entity once it is loaded into memory and executed.

Key Properties of a Process:

Process Control Block (PCB)

The Process Control Block (PCB) stores all information associated with a process:

  1. Process State: Running, waiting, etc.
  2. Process ID (PID): A unique identifier for the process.
  3. Program Counter: Contains the address of the next instruction to be executed.
  4. CPU Registers: All register information used by the process.
  5. Memory Management Information: Information about the memory allocated to the process.
  6. Scheduling Information: Priorities, pointers to scheduling queues.
  7. Accounting Information: Time spent executing, time limits.