CS311 - Introduction to Operating Systems: Design and Implementation (Fall 2008)

Book - Silberschatz, Galvin and Gagne - Operating System Concepts, 8th edition

        First exam- 10/3 (F)              15%

        Second exam - 11/7 (F)            15%

        Final exam (Mon.,Dec.15th,9-12)   20%

        Quizzes, homework and labs        20%

        Current literature critique       10%

        Programming projects              20%

     Rough Schedule of Chapters and Topics

     Week #1 Chapter 1, sections 13.2, 13.3.4, 13.4.6, 1.1-21.4, 3.3, 4.4.1-4.4.3

              chapter 2, and chapter 22 (stop at 22.3.2.2)

        - The history of operating systems

        - Roles of the O/S to different applications

        - O/S's from mainframes to PC's: O/S design strategies

        - Interrupts, system calls and basic shell process

     Weeks #2-3 Sections 12.1, 12.2, 13.3.1, 13.4, 13.5, 10.1, 10.2, Chapter 11, 21.7, 21.8, 22.5

               rest of Chapter 10, 12.4-12.7

        - Characteristics of physical I/O devices

        - Maintaining a file system, with directories, etc.

     Weeks 4-5 Chapters 3.1-3.3, 4.1, all of 5, 21.5, 22.7.3

        - What is a (heavy-weight) process

        - The process view: scheduling of who uses the CPU

        - Threads (or light-weight processes)

     Weeks 6-7 Chapters 8-9, 21.6, 22.7.5

        - Memory management: from contiguous, to paged, then segmented

        - Virtual memory and demand paging

        - Working Sets

     Week 8 Finish chapter 9 and then begin Chap 7

        - Deadly embrace of resources (i.e. deadlock)

     Weeks 9-11 3.4, 3.6, 21.9, Chapter 6

        - Inter-process communication (IPC)

        - Sharing of information and concurrency operations

        - Semaphores, critical sections, and events

        - Software monitors

     Weeks 12-14 material from Chapters 14-17, and all of 18, (as time permits)

        - Some security issues, Protection schemes and capabilities/access lists

        - Current trends in distributed systems

This course will cover different operating systems, but the UNIX & Linux Operating Systems (OS) will be highlighted in greater detail and will be studied more closely. VMS, the DEC OS that was used primarily on the VAX mini-supercomputers, will also be studied in detail along with Windows. Taking advantage of multi-core processors, via concurrency techniques, will be heavily emphasized in the second half of the course.

      Professor John A. Trono: JeanMarie 267, Phone - X2432
      Office hours: MW 2:00-3:30pm, T 9-11am, Th 1-2pm, and by appt.