CMSC 412: Operating Systems

Fall 2010

William A. Arbaugh

Sections 0101 and 0102




1.Organization

a.Instructors:

William A. Arbaugh

AVW 4137

waa at cs

Mon/Wed: 12:00 pm – 1:00 pm and by appointment


Sandro Fouche

sandro at cs

TBD AVW 1112


b.TA:

Yezhou Yang

yezhou.yang at gmail

TBD AVW 1112


c.Class Time:

Mon/Wed 2:00pm – 3:15pm in CSI 1121


Section 0101 Discussions: MW 10:00 - 10:50 CSI 1121

Section 0102 Discussions: MW 11:00 - 11:50 CSI 1121


  1. d.Forum:

  2. http://forum.cs.umd.edu



2.Objectives

The aim of CMSC 412 is to teach you the basics of operating systems, and gain experience programming a real world operating system. This class will teach you what really happens when you press the “power” button on your computer until you power off the computer (or it crashes ;)).


3.Textbook

The primary textbook is:


Silbershatz, Galvin, and Gagne, Operating Systems Concepts, Eight Edition, Wiley, 2008.


Recommended textbooks are:

                  Russinovich, and Solomon, Microsoft Windows Internals (4th or 5th edition), Microsoft Press.

                  NOTE: A pdf of the 4th Edition is provided on your class virtual machine.


Brian W. Kernigham and Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1988.



  1. 4.  Lectures

Lectures will not be a regurgitation of the reading assignment. Reading assignments in Silbershatz are designed to introduce you to the concepts being studied. Lectures will focus on how Windows implements those concepts. You are responsible for both sets of information.


  1. 5.  Lab and In-class programming information

  2.     You are responsible for providing a laptop or desktop (preferably a laptop) capable of running a recent hypervisor. If you are unable to do so, see Prof. Arbaugh immediately after the first class. Best efforts will be made to accommodate you.


  3.     We will be using the Windows Research Kernel (WRK) provided by Microsoft.  The WRK is a full kernel for Windows Server 2003 SP2. I will provide two virtual machines for use in this class.


  4.       The first virtual machine is a Windows Server 2003 SP2 machine. This machine has auto-updates turned off, and it set for host only networking. DO NOT update nor connect this machine to the Internet. The WRK only works with a SP2 machine. This machine is your development target.


  5.       The second virtual machine is a fully patched and up to date Windows XP machine including anti-virus. This machine includes the WRK source, Windows debuggers, Windows Internals 4th edition in pdf, and Visual Studio 8. This is your development machine.


  6.       The machines will be provided so that they may run with Vmware Fusion on a Mac, or VM player on Windows or Linux.  You can obtain VM player here, and Vmware Fusion here.


  7.       Vmware player is free. Unfortunately, Vmware Fusion is $39.95 for an academic license. I’ve tried working with Vmware to obtain teaching licenses, but I was unable to do so prior to the start of classes.


  8. 6. Course Assignments and Grades

Attendance will not be taken at lectures. However, you are responsible for all material presented in the classroom. Additionally, there will be at least four in class programming assignments. These will be announced in the class prior.


The course will have four graded laboratory assignments. These labs along with two a mid-term, a class participation grade, in-class programming, and a final compose your entire grade as follows:

  1. The four labs count as 40% of your final grade. Each lab is weighted equally, i.e. each lab is worth 10% of your final grade.

  2. The four in-class programming assignments count for 25% of your final grade.

  3. The mid-term counts as 15% of your final grade, e.g. each in-class exam is worth 10% of your final grade.

  4. The final exam is worth 15% of your final grade.

  5. Class participation counts towards 5% of your final grade. This grade will be based on “pop” quizzes and your participation in the class forum helping others.


You may appeal your grade up to seven calendar days from the date your grade was posted. For a lab, you should first appeal to the TA responsible for grading that lab. If you are not satisfied after your discussions with the TA, you may appeal to Prof. Arbaugh. Appeals on exam grades should be made directly to Prof. Arbaugh. Please note: grades will only be changed if an error has been made in the grading. Please also read http://gtalumni.org/Publications/techtopics/win96/wiesen.html


Late assignments will be docked 20% each day for the first two days. Assignments more than 2 days late will not be accepted, unless you have arranged an extension in advance with Prof. Arbaugh. Extensions can only be given by Prof. Arbaugh and will only be given in extenuating circumstances. Even if you cannot complete the assignment- turn-in your work. Partial credit may be given if you made progress on the problem.


  1. 7.  Academic Integrity

Each lab assignment must be the sole work of the student. Automatic cheat checkers will closely monitor assignments, and students may be asked to explain any suspicious similarities. The following are guidelines on what collaboration is authorized and what is not:


      What is cheating?

oSharing code or other electronic files: either by copying, retyping, looking at, or supplying a copy of a file.

oSharing written assignments: Looking at, copying, or supplying an assignment.


What is not cheating?

oClarifying ambiguities or vague points in class handouts or textbooks.

oHelping others use the computer systems, networks, compilers, debuggers, profilers, or other system facilities.

oHelping others with high-level design issues.

oHelping others debug their code.


All cheating will be reported as academic dishonesty and may result in the student receiving a XF grade for the class.


NOTE: Your assignments may be checked with electronic compliance/plagiarism  checkers. By submitting an assignment, you agree to permit the use of web based plagiarism checks.


  1. 8.  Excused Absences

 Students claiming an excused absence must apply in writing and furnish documentary support (such as from a health care professional who treated the student) for any assertion that the absence qualifies as an excused absence. The support should explicitly indicate the dates or times the student was incapacitated due to illness. Self-documentation of illness is not itself sufficient support to excuse the absence.  An instructor is not under obligation to offer a substitute assignment or to give a student a make-up assessment unless the failure to perform was due to an excused absence. An excused absence for an individual typically does not translate into an extension for team deliverables on a project.


  1. 9.  Academic Accommodations

Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services (DSS) within the first two weeks of the semester.


  1. 10.  Schedule