252-0062-00L Operating Systems and Networks
Spring Semester 2015
Instructors
Torsten Hoefler | Adrian Perrig |
About this course
This course is intended as an introduction to both computer networking and operating systems for computer scientists. Students will get a comprehensive overview of the key protocols and the general architecture of the Internet, as one example of more general principles in network design, and acquire hands-on experience in programming different aspects of a computer network. In addition, the course provides a full introduction to modern operating system design, including memory management, scheduling, I/O, protection, and so on. The architecture of Unix-like operating systems (such as Linux) is used as an example of more general principles in OS design.Basic Course Information
- Course Number: 252-0062-00L, 8 Credits
- Spring 2015, Lectures:
Thu (08-10): CAB G 61
Fri (10-12): CAB G 11
Course Details - Exercise sessions:
Thu (15-18): ML F 40, ML H 41.1
Fri (13-16): CHN D 42, CHN D 48
Quizzes and Projects
Quizzes. The networking part of this lecture incentives you to work hard and to follow the material in time: every evening before a lecture, we flip a two-sided coin which shows Q with a probability of 40%, and B otherwise. Whenever the coin shows Q in the evening, we will have a little quiz in the morning. Such a quiz is a simple opportunity for you to demonstrate your learning progress and (possibly more important for you) to collect credit points to get rewarded by the end of this course. A quiz may contain all content that has been covered in class thus far. The quiz will take place in class after the break (i.e., Thu at 9:15, Fr at 11:15).Projects. There are two networking projects in which you can collect more additional credit points for the rewards towards the end of the course. Please team up in groups of two or three students and register your group here.
Project | Out | Due | Resources |
---|---|---|---|
1 | Apr 17 | May 07 | project1.pdf project1.tar.gz slides1 slides2 slides6 |
2 | May 08 | May 29 | project2.pdf project2.tar.gz slides1 slides2 slides6 |
Rewards. Each quiz gives up two 5 credit points. The projects give up to 10 and 20 credit points, respectively. At the end of the course, the number of credit points you have collected is translated into a probability distribution. You will find yourself in that distribution depending on how well you have performed during class: the better you have performed, the higher your chances of being selected as a winner for our prizes.
More precisely, let P = ∑ pi be the sum of all credit points achieved by the students in this course. Let Y be your points collected by the end of the course. Your individual probability of being selected in a run is Y / P. Note that for each of the n prizes, we will have one run. If we hand out n prizes, then your expected number of prizes is greater than n * Y / P (since nobody can win more than one prize). Stay tuned, the prizes will be announced soon!
Please note that, for legal reasons, the credit points will not affect your grade.
Tentative schedule of lectures:
Week | Thursday | Friday |
---|---|---|
Operating Systems | ||
0 | 19.02: OS Introduction (slides_1pp) (slides_2pp) (slides_6pp) | 20.02: Processes (slides_1pp) (slides_2pp) (slides_6pp) |
1 | 26.02: Scheduling (slides_1pp) (slides_2pp) (slides_6pp) | 27.02: Synchronization (slides_1pp) (slides_2pp) (slides_6pp) |
2 | 05.03: Memory Management (slides_1pp) (slides_2pp) (slides_6pp) | 06.03: Demand Paging (slides_1pp) (slides_2pp) (slides_6pp) |
3 | 12.03: NO CLASS | 13.03: File System Abstractions (slides_1pp) (slides_2pp) (slides_6pp) |
4 | 19.03: File System Implementation (slides_1pp) (slides_2pp) (slides_6pp) | 20.03: I/O Subsystems (slides_1pp) (slides_2pp) (slides_6pp) |
5 | 26.03: I/O Subsystems(contd) (slides_1pp) (slides_2pp) (slides_6pp) | 27.03: Virtual Machine Monitors (slides_1pp) (slides_2pp) (slides_6pp) |
6 | 02.04: Reliable Storage, Specials (slides_1pp) (slides_2pp) (slides_6pp) | 03.04: No Class |
Networking | ||
7 | 16.04: Network introduction, OSI model slides1 slides2 slides6 |
17.04: Physical layer slides1 slides2 slides6 |
8 | 23.04: Data link layer 1 slides1 slides2 slides6 |
24.04: Data link layer 2 slides1 slides2 slides6 |
9 | 30.04: Network Layer 1 slides1 slides2 slides6 |
01.05: no class |
10 | 07.05: Network Layer 1 (contd.) slides1 slides2 slides6 |
08.05: Network Layer 2 |
11 | 14.05: no class |
15.05: Transport Layer slides1 slides2 slides6 |
12 | 21.05: Congestion Control slides1 slides2 slides6 |
22.05: Congestion Control (contd.) |
13 | 28.05: Application Layer slides1 slides2 slides6 |
29.05: Application Layer (contd.) |
Tentative schedule of exercise sessions (networking part):
The following table displays the content to be discussed in the
respective exercise sessions.
The two
networking projects
are due on May 07 and May 29, respectively. Please note that there are only two exercise sessions per project for your questions (week 8 and week 12, respectively).Week | Thursday | Friday |
---|---|---|
8 | 23.04. Project 1 |
24.04. Project 1 |
9 | 30.04. Assignment 7 | 01.05. no session |
10 | 07.05. General Q&A | 08.05. General Q&A |
11 | 14.05. no session |
15.05. Assignment 8 |
12 | 21.05. 15:15 Assignment 9, 16:15 Project 2 |
22.05. 13:15 Assignment 9, 14:15 Project 2 |
13 | 28.05. Assignment 10 | 29.05. Assignment 10 |
Assignments
Ass. | Out | Description | Solutions |
---|---|---|---|
Operating Systems | |||
1 | 02/19 | Introduction and Fork | solution |
2 | 02/26 | Scheduling, more on fork Thread Skeleton main.c thread.c partial | solution |
3 | 03/05 | Paging, Signals, Locking | solution |
4 | 03/12 | More on Paging, Thrashing and File Abstractions | solution |
5 | 03/19 | File System and I/O | solution |
6 | 03/26 | Virtual Machines | solution |
Networking | |||
7 | 04/22 | Assignment 7 | Solution 7 |
04/29 | no assignment | ||
8 | 05/07 | Assignment 8 | Solution 8 |
9 | 05/15 | Assignment 9 | Solution 9 |
10 | 05/21 | Assignment 10 | Solution 10 |
11 | 05/29 | Assignment 11 | Solution 11 |
Exercise Groups
Group 1 ML F40 (Thu 3-6 pm)
Jonas Felber | Vincent von Rotz | David Bimmler | Andrina Denzler | Sandra Dunki | Julia Badestscher | Turel Gruber |
Felix Raucheustein | Linard Arquint | Pascal Joseph | Raphael Kubler | Johnatan Heitz | Philip Wirth | Lorenz Kuhn |
Simon Schene | Jodot Vieli | Gokhan Bag | Jonathan Gebreghziaber | Jonathan Meier | Luca Lanzendorfer | Sarah Plucher |
Lukas Frischknecht | Jan Vean | Maximilion Falkenstein | Samuel Siebermann | Nicolas Trussel | Swe Geny | Luca Gasparini |
Thomas Len | Anna Mitterer | Lone Omar | Cedric Della Casa | Lukas Ernst | Vincent Steller Suincent | Mohammed Ajil Agilum |
Group 2 ML H41.1 (Thu 3-6 pm)
Simon Rineisen | Jan Eberhardt | Valentin Trifonor | Maurice Howld | Felix Wolf | Markus Roth | Elius Huwyler |
Jan Gikher | Sonja Menz | Mauro Bamert | Fabian Grob | Alam Denzler | Reto Weber | Kim Marbach |
Felile Serena | Conradin Roffler | Young Ban | Patrick Stanble | Yan Wang | Sandro Marcon | Ylli Muhadri |
Nicolas Mesot | Peter Fomin | Michael Chang | Samuel Sadok | Jonas Pfenninger | Ismaeel Ataullah | Alexander Peiker |
Nicolas Oihsner | Sivaranjini Chithambaram | Patrick Gruntz | Fabian Ulbricht | Luca Wolf | Zweig Yoel | Nicole Trachsler |
Lucas Roth | Marc Fischer | Framari Wirg | Fabian Murer | Simon Bienz | Basile Maret | Oliver Kruppel |
Johannes Kelnestam | Auton Jakobsson | Sun Hao | Filip Meier | Rik Melis | Rabeeh Karimi Mahabadi |
Group 3 CHN D42 (Fri 1-4 pm)
Zingg Andreas | Noser Cornelia | Giger Julia | Max Huttenmoser | Christian Schapper | Raphael Anderegg | Dirk Huttig |
Valentin Venzin | Linus Metzler | Valentin Scherer | Katharina Dawn | Tobias Bullatt | Christeph Lauper | Andreas Konrad |
Panuya Balasuntharam | Angela Rellstab | Pascal Wiesmann | James Bermeli |
Group 4 CHN D48 (Fri 1-4 pm)
Christoph Maurhofer | Tobias Krebs | Alex Canals | Aryaman Fasciati | Lukas Schar | Kevin Klein | Sevein Meier |
Livic Kaiser | Luzi Sennhauser | David Rohr | Nicole Thurnherr | Ettiener Stontz | Nikolas Gobel | Philip Junka |
Tobias Holenslein | Emmanuel Hofmann | Yves Franle | Michael Schurch | Advian Meier | Florian Marending | Patrick Elsener |
Patrich Huniler | Timo Brcm | Sander Staal | Mickey Vanska | Pirmin Schmid | Julian Collazo | Sandro Kalbermatter |
Marco Nembrini | Bastien Chatelain | Charles Gallay | Luca Stalder | Sandro Meier |
Contact Information
Lecturer | |
Torsten Hoefler | htor at inf, CAB E 64.1 |
Adrian Perrig | adrian.perrig at inf, CAB F 85.1 |
TA | |
TA Mailing List (send your questions here) | osnet15 at spcl.inf.ethz.ch |