SYSC 4001: Operating Systems (Fall 2018)


Latebreaking News

·         The TA for the course is Jean-Daniel Medjo Me Biomo. You can reach him at the following e-mail address: jemeda@sce.carleton.ca (in addition to him being in the labs every Monday).


In the Fall 2018 term, Thomas Kunz is teaching SYSC 4001, our 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 on the Internet. Assignment submissions and other announcements are handled through cuLearn.

 

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.

·         In Ottawa, we are actually home to a company that develops a “hot” OS, and we will use it in the labs: QNX Neutrino, developed by QNX (a subsidiary of BlackBerry), an OS which plays a potentially important role in cars.

·         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.

·         Apple announced a new file system for all its devices (Apple File System). Here is the video from the announcement at WWDC 2016, which goes through the why and how of that new file system (link seems broken at the moment).

·         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, 9th edition, Pearson 2018, ISBN-9780134670959. 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 trade-offs 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, apparently 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 (last updated August 24)


Password-protected course material: sample exams, study questions, etc. 

·         Sample study questions, sample answers to study questions


I will eventually generated PDFs from the slides I plan to use in class, 4 slides to a page. You can download them here, but be advised that, for the midterm and the final exam, only the textbook and potentially a calculator are allowed as resources:

·         Introduction and Operating System Overview

·         Process Description and Control

·         Threads

·         Concurrency: Mutual Exclusion and Synchronization

·         Concurrency: Deadlock and Starvation

·         Memory Management

·         Virtual Memory

·         Uniprocessor Scheduling

·         Multiprocessor and Real-Time Scheduling

·         I/O Management and Disk Scheduling

·         File Management