Lecture Notes for Operating Systems Concepts

30 May 2002 - Process Management


  1. processes and resources - a process holds the resources need to compute; process manager creates the process abstraction

    1. implementing processes

      1. a process descriptor (task control block) - home to the allocated resources; associated with an id that names the process

      2. resources - memory (code and data), cpu (process state), others

      3. creation - allocating resources to the process descriptor

      4. scheduling - allocating the cpu

      5. protection and sharing

    2. implementing resources

      1. the resource managers create resource abstractions for processes

      2. not all resources can be allocated at process create time

      3. resource managers coordinate with other resource managers and the process manager - files use disk and memory; not enough memory suspends the process

  2. os initialization

    1. system boot-time - why's it take so long

    2. power-up reads and executes a small block of code from rom or disk

    3. the boot code reads and executes another block of code (usually) - can go on several more times

  3. process address spaces - where process resources are stored; only the address space is accessible; code and data reside in the address space

    1. creation - compilation (.o) to linking (.o and .a) to loading (a.out)

    2. process loading - reading in the executable, starting execution

    3. address space consistency

      1. there are many memories - registers, cache, primary, secondary

      2. to improve performance, parts process state may be copied

      3. changing state while keeping all copies the same - the consistency problem

  4. the process abstraction - resource accounting; who's got what, who needs what.

    1. process descriptors - information and resources about a process

    2. process state - describes the process's behavior

      1. states - running, waiting, blocked

      2. state diagram - indicates the transitions between states, and how

  5. the resource abstraction - resource managers implement resource abstractions

    1. resource types and finite counts

    2. absence of a particular resource blocks the requesting process

    3. consumable or reusable resources

    4. resource blocking is unpredictable, both in occurrence and duration

  6. process hierarchy - how one process relates to others; parent-child hierarchy

    1. new process states - a more complicated process state diagram

      1. processes directly affecting one another - suspend, continue, kill

      2. a process may affect itself - sleeping or yielding

      3. the different possible states grows rapidly

    2. where do resource manages live - efficiency vs convenience

      1. the os provides mechanism, the process provides policy

      2. threads are an example - process implemented schedulers

      3. vm and microkernel operating systems, real-time os


This page last modified on 25 June 2002.