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%