CMSC 412 - Operating Systems

http://www.cs.umd.edu/~keleher/412.html
Fall, 2002

This web page will be updated as the course goes along. Please check it regularly, and don't forget to reload.


Overview - Reading - Schedule - Lecture Notes - Homework - Projects - Grades - Submit

Announcements:

  • The project submission page will be up tonight. - 10/22
  • The Project 1 handout is ready - 10/4
  • The newsgroup, csd.cmsc412, is used to post answers to commonly asked questions, and public announcements. Please make sure that you check it regularly. - 09/18
  • Professor Keleher has been in the hospital w/ a burst appendix. Regular class will resume shortly...


    NameOffice HoursEmail
    Instructor:Pete KeleherWednesday 9:30-11:30, and by appt.keleher @ cs.umd.edu
    TA 1: Sasan DashtinezhadMonday 2:00-3:30, Thursday 3:30-5:00 sasan@cs.umd.edu
    TA 2: Iulien NeamtiuTuesday 1:00 - 2:30, Wednesday 1:00 - 2:30 neamtiu@cs.umd.edu
    Class:Tuesday/Thursday, 9:30am - 10:45am, CSI 2117
    Recitation for 0101Monday, noon, CSI 1121
    Recitation for 0102Monday, 1pm, CSI 1121
    Textbook:Operating System Concepts, 6th Edition, by Abraham Silberschatz, Peter Baer Galvin, Greg Gagne


    Overview

    This class is a hands-on introduction to operating systems, including topics in: multiprogramming, communication and synchronization, memory management, IO subsystems, and resource scheduling polices. The laboratory component consists of constructing a small kernel, including functions for device IO, multi-tasking, and memory management.

    The objective is an in-depth understanding of how an operating system manages resources in a computer and provides programmers with a machine and device independent interface. The emphasis of this class will be on operating system concepts. Running examples will be drawn from contemporary OS's including UNIX and Windows (NT and 95).

    Topics Covered (in approximately the order we will cover them):

    Note that this list is subject to change.

    Late Policy: No credit will be given for late projects!

    Please read the statement on academic integrity.

    Class Newsgroup:

    There may be a newsgroup for the class csd.cmsc412. You should read this group on a regular basis since it will contain answers to commonly asked questions about the project.


    Requirements

    The course will consist two lectures weekly, plus two weekly TA reciatation sections. There will be one midterm, a final, homeworks, and an ongoing project. Grades will be roughly apportioned as follows. I reserve the right to make individual adjustments as the semester goes along.

    Final:25%
    Midterm:25%
    Homeworks:20%
    Project:30%

    Reading Assignments:

    You are responsible for all material in reading assignments, whether or not they are covered in class.

    9/5Chapter 1
    9/10Chapter 2
    9/17Chapters 3-5
    10/1Chapter 6
    10/8Chapters 7,8

    Programming Projects:

    Understanding operating system concepts is a hands-on activity. This class will include several substantial programming projects that will require students to read and understand provided code, write new modules, and debug the resulting system. The programming assignments will be time consuming and students taking this class should plan their class schedules accordingly.

    Projects are to be submitted via the submit page. No credit will be given for late projects!

    Please note that the postscript files below may not be viewable w/ the version of 'ghostview' installed on most local unix boxes. However, they will print, and can be viewed w/ 'gs', or the latest version of ghostview tools on PC's.

    ProjectPageDue Date
    #0project description page-
    #1project description10/21, 10:00am

    Homework

    There will be at least four homeworks required for this class. The content of tests will not be limited to the coverage of these problems. However, being able to solve these problems is likely to be useful.

    ProblemsDue Date
    2.4, 2.8, 2.9, 5.3, 5.4Sept 30, in recitation
    6.3, 6.4, 6.8, 7.3, 7.4Oct 7, in recitation

    Lecture Notes

    The notes I use for class will be available here after they have been delivered. Most of what I cover will be at least mentioned here, but not necessarily in the same depth or detail. I suggest you use these notes as a study aid, and not as a substitute for coming to class.

    9/3Intro9/5Motivation
    9/109/12
    9/179/19System Calls
    9/24Process Handling9/26Scheduling
    10/1Communication10/3Synchronization
    10/8More synchronization10/10Deadlocks
    10/15Virtual Memory10/17Replacement Algorithms
    10/2210/24Mid-term
    10/2910/31
    11/511/7
    11/1211/14
    11/1911/21
    11/2611/28Thanksgiving Holiday
    12/312/5
    12/1012/12Course Review