This undergraduate course delves into the design and implementation of operating systems by conducting a quarter-long project.
We will use iLearn for assignments and grading, and piazza for announcement, discussions and help.
We will use XV6 as a base for our projects. Please refer to this textbook to understand how XV6 is organized and implemented. You can check this page about how to set up xv6 on your local machine.
We will use this GitHub repository for our project:
$ git clone git@github.com:hengyin/xv6-riscv.git
Students are expected to work alone or in small groups of two students. In this course, we will make serveral improvements over XV6:
Good software engineering practice:
There are totally 5 labs, each of which counts 20% into the final grade. Each lab will be graded based on the following aspects:
Late submissions within 48 hours will be graded with 20% penalty. Late submissions beyond 48 hours will not be graded. Exceptions may only be granted case by case with evidence presented.