Catalog description //
Who should take 6.828 //
Code reviews //
Class meetings //
TA office hours
MIT catalog description
Prereq.: C, 6.033, and 6.170 (and, by implication, 6.004)
6.828 studies fundamental design and implementation ideas in the
engineering of operating systems. Lectures are based on a study of
UNIX and research papers. Topics include virtual memory, threads, context
switches, kernels, interrupts, system calls, interprocess
communication, coordination, and the interaction between software and
hardware. Individual laboratory assignments involve implementation
of a small operating system in C, with some
Students can use 6.828 to fulfill the engineering concentration
requirements for Computer Systems.
Who should take 6.828?
6.828 is primarily intended for seniors and M.Eng students who want to
learn about operating systems in detail. PhD students are also welcome,
but note that 6.828 is not a "core" subject for the TQE.
We will distribute assignments and announcements on the course web site.
We expect students to check the 6.828 home page for
both news and assignments at least once a week. If you hear a rumor,
check it there.
Grades in 6.828 will be based on the results of two quizzes (one
during the term and one in final's week, 30% in total); lab exercises
(45%); home-work assignments, code reviews, and class participation
(together 10%); and lab challenge problems and a final project
(together 15%). You must submit all labs
in order to pass the class.
To turn-in the labs, run gmake handin and submit the resulting tarball to
form. The handin must be received by 11:59pm on the day that
the lab is due.
have a total of 72 late hours to use throughout the semester, which
you can divide up among the lab assignments however you like; you don't
have to ask or tell us. Each day late in excess of 72 hours will
incur a full letter grade penalty on the lab exercise component of
your overall grade. For extensions under extenuating circumstances,
we require a letter from one of the student deans.
You will also be required to review other students' lab code, a
standard practice used to improve code quality. These reviews will
be randomly assigned 36 hours after the lab deadline and will be due
one week after the lab deadline. As soon as a review is submitted,
the author of the code will receive a copy. The review process is
double blind: both the author of the code and the reviewer are
anonymous. Reviews should be a few paragraphs that suggest three
possible improvements and identify one thing the reviewer learned
from the other student's code. Like the homework, we will check-off
that you put reasonable effort into them.
Homework answers must be submitted by the beginning of each
lecture. The homework is intended to make you think about the
upcoming lecture topic and get your hands dirty before coming
to class, in order to give you a firm grounding for understanding the
lectures. We do not grade your answers for correctness, but merely
check-off that you put reasonable effort into them.
You may not collaborate on quizzes.
You are welcome to discuss the homework and labs with other
students, but all of your written work and code must be your own and
acknowledge all contributions of ideas by others, whether from
classmates or from sources you have read.
Do not post your lab or homework solutions on publicly accessible web
sites or file spaces.
Lectures will be held on Monday and Wednesday from 1:00pm to 2:30pm
Course mailing list:
The best way to get a quick response is to send mail to the staff
TA office hours
Office hours will be held Monday from 2:30-4:00 and Wednesday 5-6:30
in the 9th floor lounge of the G tower of Stata. If you
can't make that time, you can email 6.828-staff to set up
another time to meet.