This course was replaced by NSWI200 (starting 2023/24).
Jan 16, 2023 — Published summary feedback for assignment A05.
Jan 4, 2023 — Published summary feedback for assignment A04.
Dec 25, 2022 — Updated grading for A04 (including code review). Feel free to ask for details during labs or on the forum. Summary feedback will follow.
Dec 19, 2022 — Published assignment A06. As usual, we suggest to keep the assignment A06 in a separate branch until you are satisfied with A05 and have tagged it for submission.
Dec 5, 2022 — Published assignment A05. We suggest to keep the assignment A05 in a separate branch until you are satisfied with A04 and have tagged it for submission.
Nov 30, 2022 — Published summary feedback for assignment A03.
Nov 27, 2022 — Updated grading for A03 (including code review). Feel free to ask for details during labs or on the forum. Summary feedback will follow.
Nov 21, 2022 — Published summary feedback for assignment A02.
Nov 14, 2022 — Published assignment A04. We suggest to keep the assignment A04 in a separate branch until you are satisfied with A03 and have tagged it for submission.
Oct 31, 2022 — Published assignment A03. We suggest to merge the assignment only after you finish A02, because tests will not work until your kernel provides basic thread support. Alternatively, you can keep the assignment A03 in a separate branch until you finish and tag A02 for submission.
Oct 18, 2022 — Team composition is done. Please follow the team registration instructions.
Oct 17, 2022 — Published the first team assignment A02.
Oct 14, 2022 — Published feedback for assignment A00.
Oct 3, 2022 — Published individual assignment A01 and kernel exercises to get you started with MSIM. The deadline for A01 is October 16, but keep an eye on the deadline for A00, which is on October 9.
Sep 23, 2022 — Student repositories created, individual assignment A00 published.
Sep 21, 2022 — Please make sure that your MFF GitLab account is active (log in once with your SIS credentials).
Behind every application software, there is an operating system. It is responsible for providing the applications with safe access to the computer hardware, and for implementing standard interfaces and abstractions such as files, windows, or processes. This course provides an opportunity to learn about the operating system internals through interactive lectures and practical assignments, where the students implement their own working operating system kernel.
The course is structured around a combination of lectures with self study and project implementation. The self study instructions will come in the form of weekly batches of self study material and quizzes, which should prepare you for the lectures and gradually provide the background knowledge necessary for the project implementation. The project implementation is where you will learn by doing — initially alone, later in teams of three, you will implement your own operating system.
Announcements will be via e-mail (using the one you have in SIS). Course material will be distributed through individual repositories in MFF GitLab. The repositories are created for every enrolled student at the beginning of the course.
See the rules document for a detailed description of the point scoring system used for grading.
For common queries, simply create an issue in the Forum project.
You may also want to subscribe to repository notifications to see issues created by other students.
For subject matter where the issue mechanism is not suitable, use
or contact either Petr Tůma or Lubomír Bulej directly.