CS 571 Operating Systems (Spring 2020)

Course Information

Syllabus

The course syllabus is posted here.

Instructor’s office hours

  • Where: Engineering 5324
  • When: Monday 1:30 pm - 2:30 pm

GTA & office hours

Prerequisite

Grade of C or better in CS310, CS 367, and CS 465. All students MUST be comfortable with programming in the C language. This is a strong requirement.

Textbooks

The only required textbook for this class is OSTEP, which is an excellent resource for learning OS. The material of this class is based on OSTEP, which is publicly available at:

Recommended textbooks but not required:

  • Operating Systems Principles and Practice, by Thomas Anderson and Michael Dahlin, Second Edition. ISBN: 978-0-9856735-2-9, Recursive Books, Ltd.
  • Operating System Concepts, by Silberschatz, Galvin and Gagne (9th Edition, John Wiley & Sons 2012, ISBN 978-1-118-06333-0).

Course projects

Here is a tentative list of projects:

  • Project 0a (Warm-up C): Practice C programming by implementing four command line tools;
  • Project 0b (Warm-up OS/161): OS/161 setup and configuration;
  • Project 1a: Implement a Linux shell using C;
  • Project 1b: OS/161 synchronization;
  • Project 2a: OS/161 system calls;
  • Project 2b: OS/161 multi-level feedback queue scheduling;
  • Project 3: Implement a MapReduce application using C. –> TLB measurement.

Grading policy

Your grade will be calculated as follows:

  • 50% projects
  • 10% homeworks
  • 20% midterm exam
  • 20% final exam

Grading rules

The final grade is computed according to the following rules:

  • A+: >= 95%; A: [90%, 95%); A-: [85%, 90%)
  • B+: [80%, 85%); B: [75%, 80%); B-: [70%, 75%)
  • C+: [66%, 70%); C: [63%, 66%); C-: [60%, 63%)
  • D+: [56%, 60%); D:[53%, 56%); D-: [50%, 53%)
  • F: < 50%