Courses/Computer Science/CPSC 457.F2014/Lecture Notes/SysArch

Jump to: navigation, search

System Architecture

This session will briefly consider a typical hardware environment that an OS is responsible for managing, with a focus on the x86 platform.


USB memory sticks will be available starting on Tuesday at the CPSC helpdesk.

Previous picture of "What is an OS" is a bit misleading because it takes both the processes and the kernel "outside" of memory.

We also note that, as the textbook says, OSs started out by replacing the human operator: which is one reason we emphasize part of the definition of an OS as something that loads and prepares software for execution. Main issue: how can the OS simultaneously time-multiplex the CPU(s) for all those processes? But there is another aspect, since sharing the CPU does not imply protection / isolation: space multiplexing memory and the isolation / protection implied.

Focus Questions

  • How do low-level hardware primitives enable the higher-level resource management and isolation guarantees of an Operating System kernel?


  • Hardware support for protection
    • x86 CPU core architecture, data path, assembly language
    • DPL bits in segment descriptors help label memory pages as belonging to a particular privilege "ring"
  • System Architecture Environment and assembly programming (x86 legacy)
  • examine process creation via fork(2)

Scribe Notes


  • None - catch up on previous reading or svn tutorial material.

Background / Reference