460 Course Plan


                CPTS 460 COURSE PLAN
                     Spring, 2008

TITLE : Operating Systems and Computer Architecture

TEXT  : Operating Systems, Design and Implementation, 
        Andrew S. Tanenbaum, Prentice-Hall, 2nd Edition, 1997.

NOTES : This website.

INSTRUCTOR: 
        K. C. Wang, Professor of EECS, Sloan 321; kwang@eecs.wsu.edu
                                       Office Hours: MW 9:00-10:00 AM
        TA : To Be posted  

                    TOPICS COVERED:

1. Introduction to Operating Systems:
    Unix, Minix, MTX. computer system and operations, system development 
    software, PC emulators, link C and assembly programs.

2. Booting: Develop booters for Linux and MTX.
     
3. Processes:
    Concept and implementation of processes; process states,
    context switching, process scheduling.  

4. Process management in Unix: 
      fork, wait, exit, exec, signals, pipes. 
   Processes in Minix:
      Tasks, servers and user processes in Minix; 

5. Process Synchronization:  
    The process model; mutual exclusion and critical regions, 
    Implementation of low-level mutual exclusion primitives.
    Synchronization primitives; events, event queues, semaphores.

6. Process Communication:    
    High-level process synchronization constructs; messages.

7. Process Control:      
    Scheduling algorithms. Dead lock and starvation problems.

8. Memory Management:
    Memory management schemes  
    Virtual memory and demand-paging

9. I/O drivers:         
    Serial and parallel ports, interrupt handlers.
    Interraction between interrupt handler and process.
    Design and implementation of I/O drivers;
    I/O routines approach, I/O task approach. 
    I/O tasks in Minix;

10. File Systems: 
    Review of EXT2 file system.
    NFS and RFS based on UDP and TCP/IP


LAB and Computer Systems:
    Linux in Sloan 327


                   ASSIGNMENTS and REQUIREMENTS 

1.  2 Exams:                  40%

2.  Programming assignments : 60%
-------------------------------------------------------------

**************************************************************
*                                                            *
*                  Grading POLICY :                          *
*                                                            *
**************************************************************

1. All Assignments are INDEPENDENT WORK !!  Absosulely no COPYING!!

2. Oral Quizz will be given during demo of your work.



                  SYSTEM SOFTWARE:

1. Website: http://www.eecs.wsu.edu/~cs460/samples Directory:
            Sample Lab Assignments Solutions

2. Linux machines in Sloan 327:

   Boot (1-8) : 1 for Wihdows, 2 for Linux, 3 for Minix
   Hostnames: cs360-01 - cs360-18
   login as root (no password), MUST BE responsible as superuser!!!

         ========================================================
            DO NOT delete system files!!!
            WORK in your own directories.
            SAVE your personal files; user files will be deleted.
         =========================================================

   Network: Use  ssh  to access other EECS Unix machines.
                 scp  to copy files from/to your Unix account.

3. Development Software:
   www.eecs.wsu.edu/~cs460/BCC/ contains 
 
       Dev86bin-0.16.17.tgz : 16-bit development package
       dosemu-1.2.2.bin.tgz : PC emulator DOSEMU

   Download to your Linux / directory.

   Run      zcat FILENAME.tgz | tar xvf -     to install
   
   Read man pages of bcc, as86 and ld86 to see how to use them.
   See README of dosemu.