Syllabus

Welcome to CS 643, an introduction to the algorithms and data structures of operating systems and their performance in various environments. Topics include CPU scheduling, memory management, virtual memory, mutual exclusion and deadlock, concurrent processes, and protection and security.

1 Essential information

when
Wednesday 6–8:35 PM
where
LLC 234D (IT Lab) [might change]
who
Prof. Christopher League, Ph.D.
email
christopher.league@liu.edu – please include ‘CS643’ in subject.
IM
chrysleague (AIM), league@contrapunctus.net (MSN), cleague@gmail.com (GTalk/XMPP), chrisleague (Skype)
phone
718 488 1274 – but email is far better than voice mail if I'm unavailable.
hours
Monday, Wednesday 11–12; Tuesday 5–6; other times by appointment.
web
https://liucs.net/cs643s11/
text
Operating System Concepts by Silberschatz, Galvin, and Gagne. (8th edition, ISBN 0470128720). The 7th edition is fine too, if that saves you some money!

2 Course learning objectives

Upon completion of the course, students should be able to…

  • effectively use tools for software development (2.2, practicing level).
  • master the key concepts of operating systems and computer networks (3.1, mastery level).
  • exhibit awareness of professional organizations and technical opportunities (5.1, introductory level).
  • attend seminars and workshops outside of class work (5.2, practicing level).

3 Requirements

Your grade will be computed based on assignments, exams, quizzes, and attendance. There are a total of 1,000 points available, broken down as follows:

  • There will be 7 assignments during the semester. Most will involve programming, and some will also include short-answer questions. The programming assignments are based on a working operating system kernel called ‘GeekOS’, developed at the University of Maryland. Although it runs on real hardware, for convenience we will run GeekOS on a virtual machine called VirtualBox. The first assignment will have further details about how to set it all up. Assignments are worth 100 points each, but I will drop your lowest score, so only 6 assignments will count, for a total of 600 points.
  • There are 6 quizzes scheduled throughout the semester, to make sure you are following along and reviewing your notes after each meeting. Quizzes are worth 50 points each, but I will drop the lowest two, so only 4 quizzes count, for a total of 200 points. All quizzes are already on the schedule, so there are no surprises!
  • There will be a final exam worth 200 points. Although there is no midterm, the quizzes will be representative of the kinds of problems on the final.

On the 1,000-point scale, you can expect the following letter grades.

≥ 870:B+≥ 770:C+≥ 670:D+
≥ 930:A≥ 830:B≥ 730:C≥ 600:D
≥ 900:A–  ≥ 800:B–  ≥ 700:C–  else:F

In the end, I may choose to adjust the scale slightly to compensate for assignments or questions that turned out to be trickier than I intended. Such adjustments would never lower your grade from what is designated in the table; if you get 930 points, you are guaranteed an ‘A’.

4 Policies

No late assignments will be accepted, because we will go over the solutions in class the day each assignment is due. This helps to ensure that everyone receives timely feedback, and that you can learn from mistakes while they are still fresh in your mind. If you are late to class, you must hand in your assignment as you enter the room. If you miss class, you must email your solutions to me before the end of the class period. Since I will drop the lowest assignment score, however, this allows you to recover from screwing up… once!

Showing up on time to class every week is extremely important. If you must be absent or more than 5 minutes late, please try to notify me in advance. I will be keeping track of whether you are in class, and when you arrive. A few missed classes will not count against you, but habitual absence will significantly hurt your grade. Additionally, there will be no make-up quizzes. I do not distinguish between `excused' and `unexcused' absence. Unless you miss an exam due to a severe medical emergency, I don't want to see a doctor's note. If you do miss an exam, the make-up exam will be different—and probably not easier.

There will be no extra credit. Students usually ask for extra credit late in the semester after they have already messed up their original opportunities. Dropping one assignment grade will allow you to recover from minor trouble, but otherwise just be sure to do the work as it is assigned. Extra credit just creates extra work for me, and is unfair to students who don't seek it, because they are missing the opportunity.

You may consult with other students or resources on the basic approach to an assignment, but all work you submit must be your own. Where appropriate, you may quote other sources, but be sure to cite the source, make it clear which ideas and text are from that source, and which are your own. A response to a question that is quoted entirely from some web page will not be acceptable. It is usually obvious when a student plagiarizes. If you found it on the Internet, I can find it too.

If you feel you may need an accommodation for any type of disability, I am happy to discuss that. Please send me an email, or make an appointment to see me.

5 Schedule

Here is the schedule of topics, quizzes, due dates, and readings (the symbol ‘§’ indicates the section numbers in the book). If you have an older edition of the book, check the meeting notes page for section headings to find the corresponding sections — they're usually but not always the same.

  • Meeting 1 — read §1.1—1.6, 2.12
    SCHEDULED: 2011-01-19 Wed

    Overview.

  • Meeting 2 — read §2.1–2.8
    SCHEDULED: 2011-01-26 Wed

    System calls, etc.

  • Assignment 1 due (GeekOS “Hello World”)
    SCHEDULED: 2011-02-02 Wed
  • Meeting 3 — Quiz 1 — read §3.1–3.4
    SCHEDULED: 2011-02-09 Wed

    Processes.

  • Assignment 2 due (Screen and keyboard drivers)
    SCHEDULED: 2011-02-16 Wed
  • Meeting 4 — Quiz 2 — read §5.1–5.3, 5.5
    SCHEDULED: 2011-02-23 Wed

    CPU Scheduling.

  • Assignment 3 due (Cooperative multitasking)
    SCHEDULED: 2011-03-02 Wed
  • Meeting 5 — Quiz 3 — read §8.1–8.5, 9.1–9.4
    SCHEDULED: 2011-03-09 Wed

    Memory management.

  • Meeting 6 — Quiz 4 — read §10.1–10.4, 11.1–11.4 — Assignment 4 due (System calls)
    SCHEDULED: 2011-03-23 Wed

    File systems.

  • Meeting 7 — Quiz 5 — read §6.1–6.6, 6.9, 7.1–7.3 — Assignment 5 due (Inter-process communication)
    SCHEDULED: 2011-04-06 Wed

    Synchronization.

  • Meeting 8 — Quiz 6 — read §18.1–18.4, 18.7 — Assignment 6 due (Synchronization)
    SCHEDULED: 2011-04-20 Wed

    Distributed systems.

  • Assignment 7 due (Distributed systems)
    SCHEDULED: 2011-05-04 Wed
  • Meeting 9 — Final exam
    SCHEDULED: 2011-05-11 Wed