In the Winter 2017 term, Thomas Kunz is teaching the fourth-year undergraduate course on Operating Systems. The online calendar description can be found here. This page contains some information about the course and links to additional resources available to the class, either provided by the instructor or existing in the Internet.
What is an OS? That is a difficult (and contentious) question.
· The Economist has an article about Microsoft and the lawsuits around Windows in the US and Europe. This gives you a good idea of the kind of discussion about "What is an OS?" in the case of Microsoft.
· One OS we are not talking about, but which plays a potentially important role in cars, is QNX.
· A slightly humorous take on OS is this MP3 file (password-protected). Warning: uses rude language :-).
· And to follow up in that vein: check out the deliberately polemic PDF file/talk "Systems Software Research is Irrelevant" by Rob Pike, who is quite involved in OS system research and development.
· Process synchronization: a classic problem is the Dining Philosopher’s Problem
· Speaking of animations: here is a set of animations to illustrate various aspects that we covered in class (password-protected).
The following textbook is mandatory in this course: William Stallings, Operating Systems: Internals and Design Principles, 8th edition, Pearson 2015, ISBN-13: 9780133805918. One strong argument in favor of this (as opposed to some other) textbook is the fact that it exemplifies the abstract concepts we will discuss with examples taken from probably the most widely used operating systems: Windows, Linux, and Android. This will help students to put the general design principles and their relative tradeoffs into perspective.
Students who do not write the final exam have the option to write an exam at a later point in time. This rule, aimed at students who are sick during exam periods, appearently leads to some abuse by students who strategically choose which exam to write when. In an effort to be fair to students who cannot write the exam for a legitimate reason, while at the same time discouraging the abuse of this rule, the following policy has been adopted widely in the Faculty of Engineering and Design:
Students taking supplemental or deferred examinations haveseveral more months to study than their colleagues. Also theyhave a less-crowded examination schedule. Thus it is only fair tothe majority of students to expect a substantially betterperformance on these examination than on the final.
This is the policy that I will also adopt for this course. Please note that the above formulation leaves it up to the instructor whether the supplemental or deferred examination will be harder or the marking scheme will be more rigorous.
A note on assignments and cheating: the assignments are individual assignments. Evidence of cheating will be investigated and will be reported to the Associate Dean, see also General Regulations 12. Cheating consists of collaboration (handing in someone else's solution as your own as well as allowing someone else to copy your solution) and extensive quoting from textbooks and other sources without proper reference. I do encourage students to discuss the assignment questions with each other, and to consult textbooks and other sources to derive an answer. However, I also do expect students to hand in solutions that are clearly their own effort, clearly identifying the extensive use of external sources (and your classmates do not count as valid external sources).
· Course handout (as of January 4, 2017)
Password-protected course material: assignments and exams, etc.
· Assignment 1 Sample Solution, as ZIP folder
· Assignment 2 Sample Solution, as ZIP folder
· Assignment 3 Sample Solution, as ZIP folder
· Assignment 4 Sample Solution, as ZIP folder
o Corrected version of assignment5_tests.c
I will NOT post my lecture slides. I will follow the course textbook closely, and want to encourage everyone to follow the lectures, posting the slides usually ends up motivating the opposite behaviour.