(Latest Revision: 09/09/2001)  
Week 02 Notes for CS 3750 -- Fall 2001 
-  Take Roll.
 -  Check to see if there are any computer account problems
 -  Announcement(s)
     
 -  Look over salient areas of course description
 -  check out the schedule -- next few assignments
 -  review directions for homework
 - 
 -  Chapter One Lecture Topics 
     
     -  For some operating systems EFFICIENCY (mainframes and
          mini's) is the primary goal.
     
 -  In other cases the primary goal is CONVENIENCE to the user
         (Personal Computers).
     
 -  STABILITY is a goal to think about too.
     
 -  In still other cases a delicate balance between CONVENIENCE
          and EFFICIENCY is pretty important (workstations).
     
 -  OS as GOVERNMENT
     
 -  OS as RESOURCE ALLOCATOR
     
 -  OS as CONTROL PROGRAM
     
 -  It is not feasible to use computer hardware directly.
          Software is required to act as an intermediary between user
          and hardware.  The OS can be viewed as a collection of
          services that are needed in common by all or most programs.
     
 -  It's important to realize that by learning about the history
          of operating systems, you get better at understanding
          current operating systems and the future of operatings
          systems.  In other words, it's (probably) relevant to you
          the student to know about the history of operating systems.
     
 -  Two important themes in OS development:
          
          -  Interrelationship of hardware development with OS
               development
          
 -  The manner in which the quest for greater CPU
               utilization drove the development of operating systems.
          
 
      -  Multiprogramming was development pushed into existence by
          the need for greater CPU utilization.  A "QUANTUM LEAP" in
          sophistication of the OS was required -- e.g. context
          switching, memory management, scheduling, concurrency
          management.
     
 -  Time-sharing was a "natural" follow-on to multiprogramming
          that allowed a return to "interactive" computing.
     
 -  Time-sharing tends to make greater demands for swapping and
          virtual memory.
     
 -  Traditional time-sharing requires implementing a file system
          -- not the same as just the ability to write and read disk
          sectors.
     
 -  Discuss how worms and viruses are rendered less powerful in
          environments where there is good file protection and secure
          separation of user privileges.
     
 -  Discuss how worms and viruses are rendered less powerful in
          environments where there is good file protection and secure
          separation of user privileges.
     
 - 
     
 
    
 -  Chapter Two Lecture Topics 
     
     -  What does it mean to say that a modern operating system is
          "interrupt driven?"
     
 -  How do interrupts work?
     
 -  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?
     
 -  Memory access is slow compared to CPU speed.  Caching helps.  
     
 -  Storage Hierarchies -- cost per bit versus speed, volatility
     
 -  Memory Coherency problems -- between levels -- in parallel
          systems.
     
 -  Hardware Protection mechanisms -- dual mode -- memory
          protection -- privileged instructions -- timers -- traps.
     
 -  Does the monitor *need* to access user memory?
     
 -