Introduction to Operating Systems: Design and Implementation

 

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

 

        First exam - 9/30 (M)                            15%

        Second exam - 11/4 (M)                       15%

        Final exam - 12/12 (TH)11:30-2:30pm   20%

        Quizzes, homework and labs                20%

        Current literature critique                      10%

        Programming projects                          20%

 

 

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 (Virtual Memory System), the DEC (Digital Equipment Corporation) OS that was used primarily on the VAX (Virtual Address eXtension) mini-supercomputers, will also be studied in detail along with several different versions of Microsoft’s system software. How to take advantage of multi-core processors, via concurrency techniques, will be heavily emphasized in the second half of the course.

 

Course Objectives:

 

          Learn how the operating system integrates all of the following “systems”:

                   File System

                   Process/thread management

                   Primary/Virtual Memory

                   Resource Allocation Techniques

                   Concurrent programming structures (like semaphores)

 

  

Professor John A. Trono

JeanMarie 267, Phone - x2432

Office hours: MW 3-4PM,T 9-10:30AM, Th 1:30-2:30PM, and by appointment.


 

 

    Rough Schedule of Chapters and Topics

 

    Week #1 Chap. 1, sections 20.1-20.3, 13.1, 13.2, 13.3.4, 13.4.6, 18.1-18.4, 3.3 (by F),

                    4.4.1-4.4.3, chapter 2, and chapter 19 (stop at 19.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 10.1, 10.2, 13.3-13.5, 11.1, 11.2, chapter 12,

                         18.7, 18.8, 19.5, rest of Chapter 11, 10.4-10.8

        - Characteristics of physical I/O devices

        - Maintaining a file system, directories, etc.

 

    Weeks 4-5 Chapters 3.1-3.2, 4.1, all of 6, 18.5, 19.7.3-19.7.3.2

        - 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, 19.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.3, 3.7, 18.9, Chapter 5

        - Interprocess communication (IPC)

        - Sharing of information and concurrency operations

        - Semaphores, critical sections, and events

        - Software monitors

 

    Weeks 12-14 Material from Chapters 14, 15.3.1, and 17.1-17.3, (as time permits)

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

        - Current trends in distributed systems