CS440 Operating Systems Spring'08


  • Syllabus  
  • Course Policies
  • lecture notes
  • Slides: Chapter 1; Chapter 4; Chapter 2; Chapter 3; Chapter 5; Chapter 6Chapter 7; Chapter 8; Chapter 10; Chapter 11; Chapter 12; Chapter 13; Chapter 14; Chapter 15
  • Code in classroom
  • Assignments (hand in the hard copy of the doc or code file, and send me the doc or code file through E-mail as an attachment)
    • Assignment 1 (Due: Monday, Feb. 11, 2008): textbook page 39, #1; page 40, #5, 7-9. Click here for the questions. Type both questions and answers (download the doc template here). 
    • Assignment 2 (Due: Monday, Feb. 18, 2008): write a C++ program named mcp to implement the UNIX shell command cp.
    • Reading assignment: chapter 1-4.
    • Assignment 3 (Due: Monday, March 3, 2008): textbook page 74, #3
    • Assignment 4 (Due: Monday, March 10, 2008): Device management. Textbook page 189, #11. Type both questions and answers (download the doc template here). 
      • Raichel's answer here
    • Assignment 5 (Due: Monday, March 31, 2008):  Processes. Textbook page 230, #7, .Type both questions and answers. 
      • Raichel's answer here
    • Assignment 6 (Due: Monday, April 7, 2008): Scheduling. Chapter 7 Exercises  #3-#6. Type both questions and answers.
      • Raichel's answer here
    • Assignment 7 (Due: Monday, April 14, 2008): Process synchronizations. Chapter 8 Exercises  #1, and #7. Type both questions and answers.
    • Exercises: Deadlock. Chapter 10 , Exercises  #1(b), #7, and #11.
    • Exercises: Memory management. Chapter 11 and 12. P451, #4. P.506-507, #11a/c and #12a/c 
  • Topics Covered
    • Intro to OS. Linux commands
    • More on UNIX commands. Space and time-multiplex sharing; batch systems
    • Implementing cat (click here for mcat.cpp). Computer organizations: CU/ALU, device controller, interrupt, race condition
    • Processor mode, multuprocessors, address space, process descriptor
    • Worksheet. Device management: I/O-CPU overlap, polling/interrupt-driven I/O, buffering
    • Rotating storage. Optimizing seek time.  Test I (covering textbook page 1-174) and UNIX commands
    • Test I (answer key)
    • Processes and resources: abstraction, address space, state diagrams. Schedulers (Chapter 7)
    • Non-preemptive and preemptive scheduling: FCFS, SJN, deadline, priority, and RR (with overhead)
    • Synchronization of processes: lock, disableInterrupts(), semaphore, and binary semaphore with TS
    • Deadlock. Banker's algorithm. Graph reduction for reusable resources
    • Memory management and virtual memory. FIFO and Belady's optimal algorithm 
    •  

 

 

 


© Since 2000, Dr. John Wang, Virginia Wesleyan College, 1584 Wesleyan Drive, Norfolk/Virginia Beach, VA 23502 
Updated on Monday, May 05, 2008by
zwang@vwc.edu
 
http://www.vwc.edu/~zwang/cs440