Fall 2009
Creative Commons License

General Information

Catalog description // Who should take 6.828 // Communication // Grading // Turn-in // 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%).

Turn-in policy

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 Thursday 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. After you have used up your late hours, each additional day late will incur a full letter grade penalty.


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
Teaching assistants

Silas Boyd-Wickizer         sbw@mit.edu
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 Tuesday from 2:00-3:00 and Thursday from 4:00-5:00 in the 9th floor lounge of the Gates tower in CSAIL. If you can't make that time, you can email either Silas or 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 Monday, 29-Apr-2019 12:09:14 EDT