CSC 315
Professor Stearns
Hardware needed to support concurrent programs

Once the decision is taken to run N programs at the same time, the hardware must support a number of new features.

  1. A program is not allowed to do its own input/output
    Needed: kernel/user state, privileged instructions, instruction to request input/output, an operating system.

  2. A program can't crash other programs
    Needed: A memory protection system and an exception system.

  3. A fast method for switching control between programs is needed.
    Needed: exception system

  4. I/O devices need a way to signal I/O completion
    Needed: interrupt system

  5. Loaders need a way to allocate memory between programs
    Needed: A fast, foolproof allocation system that doesn't waste memory.


Last updated on 8/9/99