/Teaching/Operating Systems/Rules and Organization

Organization of the OS course

Topics

The course provides an introduction into operating systems and their relation to the architecture of computers. In the practicals you will implement mechanisms and techniques in a operating system framework (SWEB). We will discuss History, Hardware – which services provides a processor to the OS, Processes and Threads, Deadlocks, Memory Management, Input/Output, File Systems, Multiple Processor Systems, and Security.

Book

You won’t learn OS development by reading a book. If you still want a book, here is a book:

Anderson/Dahlin, Operating Systems. This is available in Book form (~70€) or in a kindle-edition (four parts, each ~ 7€).

VO/VU/KU and Exams

From now on, operating systems is always going to be held in VU-mode in the winter and summer term. From now on, no more stand-alone exams will be held and you need to take part in the VU.

 

VU Lehramtsstudium

For the VU for “Lehramt” you now do the System Level Programming class instead.

 

VU

Your results in the practicals and the written exams are unified into one mark. There are different weights applied:

    • a mid-term exam: 40%
    • the practicals: 60%

To pass the class, you have to acquire

    • overall at least 55%
    • at least 50% of the possible points in the written exam
    • at least 50% of the possible points in the practicals

In case you fail to pass the written-exam-requirement, there will be a post-term-exam where you have one chance to recover. The marks are divided in

    • genügend: 55-66
    • befriedigend: 67-78
    • gut:79-89
    • sehr gut: 90+

 

Exercise Interviews

For each assignment there are exercise interviews with your group. The teaching assistant determines the number of points your group gets, by checking which tasks you solved and tested. You should be able demonstrate that your implementation works by running your own testcases.

Every participant has to implement a small task during the exercise interview. These difficulty of these tasks is comparable to the assignment tasks. Every participant also has to explain something related to their implementation – usually a code snippet, maybe while implementing the small task, etc.

If you are slow or unable to implement or explain something related to your implementation, you will get an individual point deduction. However, if you contributed a fair share to your submission, this should not be any problem.

 

Exceptional Cases

Naturally, one might have a bad day. And for this purpose we have one additional regulation (starting Winter 2017/18): If the teaching assistant during the second exercise interview, gets the impression that the point deduction in the first exercise interview was not appropriate (maybe the student had a bad day, was too nervous, had a blackout, etc.), the teaching assistant is allowed to propose the lecturer team to reduce the deduction for the student by up to 50%. Note that this requires an exceptional demonstration of knowledge and skill during the second assignment interview. And, exceptional means that the teaching assistant proposes the reduction, not you 😉

Example: Student X contributed a fair share to the first assignment, but for unknown reasons had problems explaining and implementing during the first exercise interview. Consequently, Student X gets a point deduction of 30% on the first assignment. Student X contributes again a fair share to the second assignment. Now during the second exercise interview, Student X is able to explain and implement tasks, which demonstrate not only a solid knowledge of the second assignment but also the first assignment. The teaching assistant of Student X is convinced that the deduction in the first exercise interview was not appropriate. The teaching assistant asks the lecturer team to reduce it by 40%. The lecturer team in this case agrees and reduces the deduction from 30% to 18%. Student X may get a better grade because of this.

Second Chance

If you fail assignments (or the exam), you may be offered the option to take a second chance. Second chance means that you still can pass the course but you will get a deduction of 50% for every point above 55. If you participate in second chance multiple times (for different assignments or exams), the deduction will be applied multiple times. To make it more convenient for you, the TACOS test system shows the adapted grading scale for you if you participated in any second chance.

Personal Maximum Number of Points

Although you participate in this exercise as a group, each group member gets points individually based on several factors. We have the following set of rules to determine your personal maximum number of points:

  • For each commit you unlock 0.5 points
  • For each 10 lines of code added you unlock 0.5 points
  • Max. 10 points per day can be unlocked
  • Points can only be unlocked for one assignment during the time frame of the corresponding assignment (you start at 0 on the first day of Assignment 1 and you start at 0 on the first day of Assignment 2)

You should not worry at all about this rule, the average 2015 was 58 of 50 points unlocked (averaged over both assignments). However, to make this as convenient as possible for you, you see a progress bar in the TACOS test system* showing your current personal maximum number of points. Kindly note that switching branches, removing branches, squashing commits, etc. can implicitly lead to a decrease of the maximum number of points – only thing relevant is that your personal maximum number of points is high enough on the final submission commit.

 

Note that only commits in the tagged (or most recent) branch are counted. Switching branches can lead to varying amounts of unlocked points.

Make sure you use the correct @student.tugraz.at address for your git commits or they will not be counted.

In the review meeting, the personal maximum number of points is applied after determining the team score, but before any individual deductions.

*We use git log --shortstat --author <email> for this purpose