Subscribe to the class mailing list.

You should have received credentials to (machine with development environment for the labs).


In the winter semester of 2018/2019, lectures take place weekly on Wednesdays, 12:20-13:50, in lecture room S5. Labs take place approximately biweekly (consult the schedule below) on Wednesdays, 15:40-17:10, in lab room SW2.

The mailing list is the primary means of communication, both between the lecturers and the students, and among the students themselves. Please use the list if at all possible. For subject matter where the mailing list is not suitable, please use these e-mails:

  • Petr Tůma, tuma<at-sign>
  • Vojtěch Horký, horky<at-sign>


Labs Schedule

Content Download Odd weeks
Even weeks
Labs outline, requirements, development environment Agenda, Development environment, Self assessment quiz October 3, 2018 October 10, 2018
Task #1: memory management Extended assignment October 17, 2018 October 24, 2018
Task #2: virtual memory Extended assignment October 31, 2018 November 7, 2018
Task #3: synchronization Extended assignment November 14, 2018 November 21, 2018
Task #4: system calls Extended assignment November 28, 2018 December 5, 2018
Task #5: device drivers Extended assignment December 12, 2018 December 19, 2018
Credit test TBA

Labs Outline

The students will receive a single assignment on each lab session. The assignments are all about extending Kalisto, an educational operating system kernel provided as a part of the course, and running in a simulated MIPS R4000 environment. The assignments are connected to five distinct topics, which are published and discussed during the associated lectures.

Ideally, the assignment should be solved and the solution submitted during the corresponding lab session. These assignments are considered accepted.

If the assignment is not solved during the lab session, the student can submit a solution to an extended version of the assignment within a given deadline, typically within one week after the lab session. These assignments are then considered conditionally accepted.

The course credit is given for solving at least 4 assignments during the corresponding lab session. If at least 4 assignments were either accepted or conditionally accepted, passing an extra credit test (in the form of a similar assignment) is required for the credit.

The assignments should be solved individually. The assignment can be consulted with the lecturers during the lab session, however, any other form of teamwork (consulting with other students, source code reuse and so on) are strictly prohibited. The submitted solution must be authored exclusively by the submitting student.

The lecturers take the final decision on whether a solution meets the assignment requirements. As a part of each assignment, automated tests are provided to help the student perform self assessment during implementation.

Assignment Topics

  • One: Memory management
  • Two: Virtual memory
  • Three: Synchronization
  • Four: System calls
  • Five: Device drivers

Credit Test

A student can take the credit test after submitting at least 4 accepted and conditionally accepted assignments. The test is similar to standard lab assignments, and scheduled typically for the first week of the exam period. A student can make no more than two attempts at passing the credit test.

Special Assignments

Students can negotiate special alternative assignments with the lecturers. A special assignment must be related to the course subject matter, and be at least as demanding as the standard assignments combined. Course credit is then given for the special assignment.


We strongly recommend using the machine for assignment work. Getting the toolchain to work in a different environment may prove difficult for novice students.

(*) not actively supported
(x) Recommended packages for Cygwin: make, makedepend, readline, libmpc3
(%) Extra utilities for Windows: MinGW/MSYS,,


The overall grade is computed from two factors. The first factor is the number of accepted assignment solutions, denoted as U, scaled to [0, 1]. The second factor is the result of a written test, denoted as P, again scaled to [0, 1]. The overall grade is then determined as follows:

  • U × P >= 0.7 → 1
  • U × P >= 0.55 → 2
  • U × P >= 0.4 → 3
  • otherwise 4
Logo of Faculty of Mathematics and Physics
  • Phone: +420 951 554 267, +420 951 554 236
  • Email: info<at-sign>
  • How to find us?
Modified on 2018-12-12