Skip to content

OVERVIEW cs6456 fall20

fxlin edited this page Dec 13, 2020 · 1 revision

OVERVIEW

This is a fun & intensive class! We will:

  • cover the core & modern OS concepts (e.g. virtual machines) and leaves out old ones (e.g. disk scheduling)
  • teach via first-hand, real-hardware programming experience more than lectures

This course does NOT:

  • prepare you for OS research
  • focus on paper reading

Who is this for?

Students 1) who want to be informed programmers or 2) who are interested in systems programming.

Prerequisites

Needed: C programming; being able to login over SSH; using gcc; basic *Nix commands

  • For students who have NOT taken undergrad OS: although this is called a "graduate" OS course, I do not expect students to have any OS background.
  • For students who have taken undergrad OS: this course will offer sufficient new challenges and contents.

Formal course objectives

This course will cover the fundamentals of operating systems. It will focus on key operating systems concepts and components, including process, virtual memory, concurrency, and file system. It will also introduce modern operating system designs as response to emerging hardware trends — manycore, energy efficiency, security, etc.

This course will convey useful techniques in system software construction through hands-on projects, as well as important design principles commonly seen in system software, including abstraction, modularity, policy vs mechanism, interface vs implementation, etc.

STAFF

  • Instructor: Prof. Felix Lin <felixlin@, http://felixlin.org>, office TBD
  • TA: Liwei Guo <lg8sp@>, office TBD

READINGS

There is no official textbook. You will have enough things to read. If you insist, here you go:

Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

GRADING

I'd rather spend more time on teaching (i.e. giving you the OS experience) than grading. Nevertheless, the breakdown will be:

Total 100%
Projects 4 x 22.5%
Participation 10%

Update: project 4 becomes optional. If you only do project 1-3, the breakdown will be:

Total 100%
Projects 3 x 30%
Participation 10%

Project 4 lite, as a bonus project, is worth half of a normal project.

I reserve the rights to adjust your final grade.

Clone this wiki locally