SYLLABUS
 
COP 4600 Operating Systems, Summer 2000 

OBJECTIVE:  To study the structure and fundamental design concepts of  
            modern operating systems, and to gain practical system
            implementation experience through the use of Minix
            operating system.

INSTRUCTOR: Dr. Randy Chow, CSE 348, 392-1487, chow@cise.ufl.edu
            office hours: 10:00am - 12:00pm, M,W,F, and 
            whenever he is available in his office.

PREREQUISITE: computer organization, data structure, Unix and C.

TEXTBOOK:   "Operating Systems Design and Implementation" 2nd Ed.,
            by Tanenbaum and Woodhull, Prentice Hall 1997.

TA:         Mark Connor (mconnor): Room 430, office hours: TBA .
                                   Discussion session: TBA. 
            Yasuhiro Shinozaki (yshinoza):   Room 430, office hours: TBA.
                                   Discussion session: TBA. 

CONTENTS:   Introduction (Chapter 1)
              - structure of an operating system
              - extended machine and resource manager
              - processes and files
              - basic system calls
            Process Management (Chapter 2)
              - concurrent processes
              - interprocess communication and synchronization
              - process scheduling
            Device Management (Chapter 3)
              - interrupt handling and device drivers
              - I/O devices
              - deadlock handling
            Memory Mangement (Chapter 4)
              - memory allocation and deallocation
              - memory protection
              - paging and segmentation
              - virtual memory
            Data Management (Chapter 5)
              - files and directories
              - file systems
              - security and protection
            Case Study
              - Minix implementation
              - Solaris
            Advanced Topics
              - computer network
              - distributed system

GRADING:    homeworks (4)                  - 10%  
            programming assignments (4)    - 30%
            mid-term exam (June 23, Friday) - 25%
            final exam (August 11, Friday) - 35%

Academic honesty is strongly required.