Sun Sep 8 19:51:00 PDT 2002
Chapter Two -- Computer-System Structures -- Lecture Topics
- What is the typical configuration of the modern computing system?
How do the controllers and memory manager fit in the model?
- What does it mean to say that a modern operating system is
- How do interrupts work?
- What are system calls? How are they implemented?
- What roles do the OS and controllers play to implement I/O in a
multiprogramming operating system? How does the OS communicate with
an I/O controller? How does a controller communicate with the OS?
- How does an OS keep track of which processes are waiting for I/O to
complete on which devices? How does the OS keep track of which
processes are waiting their turn to use which I/O devices? What is
the typical interaction of the OS with the device table during the
servicing of an interrupt?
- How do synchronous and asynchronous I/O work?
- How does DMA differ from ordinary I/O?
- The CPU may be slowed down while DMA is in progress. Why?
- Access (read or write) to primary memory takes a lot of time compared
to CPU speed. Caching helps. Because of "locality" the system
performs almost as well with a small amount of cache as it would with
a much larger amount. That's fortunate because cache is expensive.
- Storage Hierarchies -- cost per bit versus speed, volatility,
- Memory Coherency problems -- between levels -- in parallel systems.
Consider a multiprocessor with a data cache for each CPU when several
caches contain a copy of the same word of primary memory. (This
particular cache coherency problem is typically handled by hardware.)
A similar problem arises when there are many copies of a file in
existence in a distributed file system. This situation has to be
handled by software.
- Hardware Protection mechanisms: The hardware and OS should prevent
processes from harming the system and each other. The OS must be
protected. We must be concerned about illegal I/O, illegal memory
access, and "hogging" of the CPU. Tools: traps -- dual mode operation
-- memory protection -- base and limit registers -- privileged
instructions -- timers.
- Check your understanding. Is monitor mode the same as superuser
status in Unix? No! Superuser is a user -- it does not run in
- Important to distinguish between the operating system and the
hardware: What entity checks every address against the base and limit
- Does the monitor *need* to access user memory?