Hide menu

TDDI04 Concurrent programming, Operating Systems, and Real-time Operating Systems


Organization in short

The course runs over two periods, Jan - Mar referred to as VT1, and Apr - June referred to as VT2. The course will contain the following parts that give study credits or other advantages:

TEN1: Written examination, 3 study credits
The written examination evaluates your understanding of the theory contents. The exam will consist of two parts, one covering the contents of VT1, and one covering the contents of VT2. The result of each part and any lab bonus is weighted to a final exam grade (U, 3, 4, 5). The final exam grade is also the course grade.
LAB1: Computer laborations, 3 study credits, grade bonus
The laborations require you read both reference information, instructions and existing code carefully, which will be a new challenging experience for you. Failure to carefully read and understand how your new code interact with existing code will result in very time-consuming problems. The labs are graded U or G. Solving them on time will however give you bonus that may raise your grade. Any bonus expire in June the year you first took the course and can not be used after that time.
UPG1: Voluntary quiz, gives exam bonus
After VT1 a voluntary quiz of the VT1 theory contents will be given. Your result on this quiz can be directly transferred to the VT1 part of the May-exam. The result of the quiz expire after the May exam and can not be transferred to other exams.

The lectures will cover the theory content the examiner find is most important. You will need to consult a book for background reading and less important content. A list of keywords you should be familiar with are available. By reading relevant chapters in the book before each lecture you can ask questions and influence the lecture content if you feel you need further explanation on some topic.

You will not be able to pass the exam by merely memorizing some key sentences from book or lecture. Sit down and solve one or two relevant exam questions after each lecture. Ask for further explanation on next lecture or lesson.


Lessons are held in smaller groups than lectures, with one assistant per group. This is your time to ask questions about lab, lesson and exam problems. It is mostly your task to make the lessons useful. Some lessons will be more devoted to exam problems and some will serve more as lab preparation.


You will solve all laborations with a friend. You can not work three students together, and only exactly zero or one student is allowed to work alone.

You will add functionality to a small x86 operation system known by the name PINTOS. Much of the Pintos code are on a very low level (C-programming) and even some assembler if you strive for full understanding of all details.

Since you add functionality to existing code it is of utmost importance to understand how the existing code will interact with your code. This require you carefully read all instructions at least twice, and check how code leading to your additions work, and check how your additions may affect later code.

Be warned that the labs can be very time-consuming if you are not properly prepared. Trying and guessing will require ten times more time than understanding what to do, plan how to do it, find out how to implement it in correct C-code and then implement it.

Course registration

We are not entitled to correct exams and report results for students who are not registered on the course. If you forgot to register, please follow the studierektor's instructions for late registration.

Page responsible: Klas Arvidsson
Last updated: 2012-01-04