<aside> 💡

Summary of Section 3.1 - The Process Concept (C191: Operating Systems for Programmers | zyBooks)

</aside>

1. Definition of a Process

A process is an instance of a program being executed by an operating system (OS). When a user opens an application (e.g., a web browser), the OS creates a new process. The OS itself consists of multiple processes.

2. Process Control Block (PCB)

The OS manages processes using a Process Control Block (PCB), which is a data structure containing key information about a process, such as:

The PCB serves as the concrete representation of a process and is created for each new process.

3. Process Analogy

4. Process States and Transitions

A process can exist in multiple states, transitioning based on system conditions:

  1. Ready → Running: The OS schedules the process for execution.
  2. Running → Blocked: The process requests a resource and waits.
  3. Running → Ready: The OS preempts the process to allow others to execute.
  4. Blocked → Ready: The required resource becomes available.

Additional states include: