Course Information
Syllabus
The course syllabus is posted here.
Instructor’s office hours
- Where: Virtual
- When: Wednesday 1:30 pm - 2:30 pm
GTA & office hours
- Michael Crawshaw
- Email: mcrawsha@masonlive.gmu.edu
- Where: Virtual (Blackboard Collaborate Ultra)
- When: Monday 1:30 pm - 2:30 pm, and Thursday 2:30 pm - 3:30 pm
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 and is completely free. The material of this class is
based on OSTEP and 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: (C warm-up): Practice C programming by implementing four command line tools;
- Project 0b: (Intro to Go): Familiarize yourself with the Go programming language;
- Project 1: Implement a Linux shell using C;
- Project 2: Implement and analyze a suite of commonly used caching policies;
- Project 3: Implement a multi-threaded HTTP server;
- Project 4: Implement a MapReduce framework (and applications) using Go;
- Project 5 (extra credits):
Implement a Mason Distributed File System (MDFS) using Go. –> TLB measurement.
GitLab rules
Refer to GitLab Setup for
detailed instructions on setting up GitLab repos.
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+: >= 97%; A: [92%, 97%); A-: [87%, 92%)
- B+: [82%, 87%); B: [77%, 82%); B-: [72%, 77%)
- C+: [66%, 72%); C: [63%, 66%); C-: [60%, 63%)
- D: [50%, 60%)
- F: < 50%