Fall 2010
Creative Commons License

General Information

Catalog description // Who should take 6.828 // Communication // Grading // Turn-in // Homework // Collaboration // Class meetings // Staff // TA office hours

MIT catalog description

Prereq.: C, 6.033, and 6.170 (and, by implication, 6.004)
G (H)

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 x86 assembly.

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.

Grading policy

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 (50%), and home-work assignments and class participation (together 20%).

Lab turn-in

To turn-in the labs, run gmake handin and submit the resulting tarball to the hand-in form. The handin must be received by 11:59pm on the day that the lab is due.

You are required to turn in every lab in order to pass the class. You have a total of 72 late hours to use throughout the semester, which you can divide up among the 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.


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 must carefully 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.

Class meetings

Lectures will be held on Monday and Wednesday from 1:00pm to 2:30pm in 32-144.


Frans Kaashoek   32-G992   x3-7149   kaashoek@csail.mit.edu
Robert Morris   32-G972   x3-5983   kaashoek@csail.mit.edu
Teaching assistants

Austin Clements         aclements@mit.edu
Course secretary

Neena Lyall   32-G970   x3-6019   lyall@csail.mit.edu

Course mailing list: 6.828-staff@pdos.csail.mit.edu
Use this mailing list to contact all the 6.828 staff.

Class list: 6.828-class@pdos.csail.mit.edu

Feel free to send general questions about the labs and homework to the class list, or send them to us at 6.828-staff, and we'll bounce anything that's relevant to the entire class to the list.

TA office hours

Office hours will be held Monday from 3:00-4:00 in the 9th floor lounge of the G tower of Stata. If you can't make that time, you can email Austin to set up another time to meet.

Questions or comments regarding 6.828? Send e-mail to the TAs at 6.828-staff@pdos.csail.mit.edu.

Top // 6.828 home // Last updated Friday, 03-Jul-2020 10:56:24 EDT