You are expected to understand this. CS 111 Operating Systems Principles, Fall 2006
You are here: CS111: [[2006fall:midtermtopics]]
 
 
 

Midterm Topics

  • The systems perspective
    • System: A set of interconnected components that has a specified behavior observed at the interface with its environment
    • System characteristics
      • Emergent properties
      • Propagation of effects
      • Incommensurate scaling
      • Trade-offs
    • Coping with complexity: Modularity
    • Modularity goals
      • Performance
      • Robustness/fault-tolerance
      • Neutrality
      • Simplicity
    • An OS is software that provides programs with access to an abstract machine
    • Protection and sharing
  • Interface design
    • readc: from one line at a time, through one character at a time, to one buffer at a time
    • Layering to improve interface usability while keeping performance
    • Optimization strategies: Caching and prefetching
  • Virtual computer
    • Three fundamental abstractions: link, interpreter, memory
    • Von Neumann computer characteristics
    • Virtual I/O, virtual processor, virtual memory
    • Hard modularity through client/service interaction
  • The process abstraction
    • Memory layout
    • Isolation properties
    • System calls & implementation
    • Protection levels & protected control transfer
    • File descriptors
    • Unix process and file system calls
    • Bounded buffers and pipes
    • Process hierarchy & zombie processes
    • Context switches
  • Threads
    • Process vs. thread
    • pthread_create, pthread_join, pthread_exit
    • Threads, stacks, and shared state (How does pthread_create differ from fork and why?)
  • Interrupts & signals
    • Unix signal system calls
    • Race conditions
  • Synchronization
    • One-writer principle
    • Indivisibility & atomicity
      • Isolation atomicity: Two sequences of steps are isolated if their effect from the point of view of the invokers (observers) is the same as if the sequences occurred either completely before or completely after one another.
      • What is an observer?
    • Critical section
    • Minimal critical section
    • Bounded buffer
    • Enforcing critical sections
    • Read/write coherence
    • Atomic instructions
    • Mutual exclusion locks
    • Lock contention
      • Coarse-grained vs. fine-grained locking
    • Deadlock
      • Waits-for graph
      • Lock ordering
    • Read/write locks
    • Blocking wait
      • Sleep-wakeup race
    • Semaphores
    • Condition variables
    • Utilization
  • Virtual memory
    • Domains and isolation
      • Processor support
      • And protection levels
    • Fragmentation, external and internal
    • Paged virtual memory
    • Isolation
      • Swapping
      • Thrashing
    • Performance
      • Demand paging
 
2006fall/midtermtopics.txt · Last modified: 2006/11/04 10:04 (external edit)
 
Recent changes RSS feed Driven by DokuWiki