3.1.1. Process Contents

  • An address space
  • A program
  • A execution engine (program counter, ...)
  • Data
  • Resources
  • Process control block (PCB) with process identifier (PID)

3.1.1.1. A Classic Process (one thread)

../_images/process.png

A process is not an executable program, but rather a running instance of a program.

3.1.1.2. The Address Space

../_images/address_space.png

Each process views its memory as a contiguous set of logical memory addresses. The operating system manages the translation of logical addresses to the physical memory addresses of the computer.

3.1.1.3. Process Control Block (PCB)

The process control block is a data structure for each process holding:

  • Register values
  • Logical state
  • Page map table mapping logical addresses to physical addresses
  • Type & location of resources it holds
  • List of resources it needs
  • Parent process identification
  • Security keys
  • etc.