Operating system engineering

Master

In Maynard (USA)

Price on request

Description

  • Type

    Master

  • Location

    Maynard (USA)

  • Start date

    Different dates available

This course 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.

Facilities

Location

Start date

Maynard (USA)
See map
02139

Start date

Different dates availableEnrolment now open

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Operating System
  • System Engineering
  • Communication Training
  • Engineering
  • Systems
  • Design
  • Operating Systems
  • Switches
  • Unix

Course programme

Lectures: 2 sessions / week, 1.5 hours / session


6.033 Computer System Engineering


6.170 Software Studio


6.004 Computation Structures


6.828 Operating System Engineering 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.


This course is primarily intended for seniors and Masters of Engineering 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. Students can use 6.828 to fulfill the engineering concentration requirements for Computer Systems.


To turn-in the labs, run "make handin" in your lab directory. The handin must be received by 11:59pm on the day that the lab is due. You can turn in as many times as you want. We will grade all your submissions and email the result to you within a few minutes. Your final grade and late hours (see below) are only based on the latest submission you made to a lab.


You 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. These late hours are intended for cases where you fall behind due to illness, job interviews, athletic events, deadlines in other classes, etc. For extensions under extenuating circumstances (e.g., you are sick for a week), 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.


Most homeworks will be done in class and are due at the end of the class. The homework is intended to make you think about the lecture topic. We do not grade your answers for correctness, but merely check-off that you put reasonable effort into them.


You must submit all labs in order to pass the class.


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 (such as GitHub) or file spaces.


Don't show me this again


This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.


MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.


No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.


Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.


Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)


Learn more at Get Started with MIT OpenCourseWare


Operating system engineering

Price on request