SYSC 4001: Operating Systems (Winter 2017)


Latebreaking News


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.

·         Google is developing its own OS (for PCs, in addition to Android for smartphones), called Chrome OS. A nice little intro video clip about Chrome OS is available from YouTube.

·         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 have
several more months to study than their colleagues. Also they
have a less-crowded examination schedule. Thus it is only fair to
the majority of students to expect a substantially better
performance 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 handout, supplementary material as ZIP folder

·         Assignment 1 Sample Solution, as ZIP folder

·         Assignment 2 handout, supplementary material as ZIP folder

·         Assignment 2 Sample Solution, as ZIP folder

·         Assignment 3 handout, supplementary material as ZIP folder

·         Assignment 3 Sample Solution, as ZIP folder

·         Assignment 4 handout, supplementary material as ZIP folder

·         Assignment 4 Sample Solution, as ZIP folder

·         Assignment 5 handout, supplementary material as ZIP folder (with corrected file)

o Corrected version of assignment5_tests.c

 

·         First sample midterm, and its sample solution

·         Second sample midterm, and its sample solution

·         Actual midterm exam, and its sample solution

·         First sample final exam, and its sample solution

·         Second sample final exam, and its sample solution


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.