.. _p_contents: Process Contents ================= * An address space * A program * A execution engine (program counter, ...) * Data * Resources * Process control block (PCB) with process identifier (PID) A Classic Process (one thread) --------------------------------------- .. figure:: process.png :align: center A process is not an executable program, but rather a running instance of a program. The Address Space ------------------ .. figure:: address_space.png :align: center 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. .. _pcb: Process Control Block (PCB) ---------------------------- The :term:`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.