Instructors

Torsten Adrian
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 2017, Lectures:
    Mon (13-15): HG G 3
    Fri (10-12): HG E 7
    Course Details
  • Exercise sessions:
    Tue (15-18): HG D 1.2
    Thu (15-18): ML F 40, ML H 41.1
    Fri (13-16): CHN D 48

Tentative schedule of lectures:

Week Thursday Friday
Operating Systems
1 20.02.: OS Introduction (slides_1pp) (slides_6pp) 24.02.: Processes (slides_1pp) (slides_6pp)
2 27.02.: Scheduling (slides_1pp) (slides_6pp) 03.03.: Scheduling and Synchronization (slides_1pp) (slides_6pp)
3 06.03.: Memory Management (slides_1pp) (slides_6pp) 10.03.: Demand Paging (slides_1pp) (slides_6pp)
4 13.03.: Filesystem Abstractions (slides_1pp) (slides_6pp) 17.03.: Filesystem Implementation (slides_1pp) (slides_6pp)
5 20.03.: I/O Subsystems (slides_1pp) (slides_6pp) 24.03.: I/O Subsystems (2) (slides_1pp) (slides_6pp)
6 27.03.: Virtual Machine Monitors (slides_1pp) (slides_6pp) 31.03.: Reliable Storage, NUMA & The Future (slides_1pp) (slides_6pp)
Networking
7 03.04.: Network Introduction, OSI Model (slides_1pp) (slides_6pp) 07.04.: Physical Layer (slides_1pp) (slides_6pp)
8 10.04.: Data Link Layer 1 (slides_1pp) (slides_6pp) 14.04: --
9 24.04.: -- 28.04.: Data Link Layer 2 (slides_1pp) (slides_6pp)
10 01.05.: -- 05.05.: Network Layer 1 (slides_1pp) (slides_6pp)
11 08.05.: Network Layer 1 (contd.) 12.05.: Network Layer 2 (slides_1pp) (slides_6pp)
12 15.05.: Network Layer 2 (contd.) 19.05.: Transport Layer (slides_1pp) (slides_6pp) (tcp_sum_1pp) (tcp_sum_6pp)
13 22.05.: Congestion Control (slides_1pp) (slides_6pp) 26.05.: Application Layer (slides_1pp) (slides_6pp)

Assignments

Ass. Out Description Solutions
Operating Systems
Assignments are published on the Moodle course page

Resources:

OS Networking

Contact Information

LecturerEmail
Torsten Hoeflerhtor at inf, CAB F 75
Adrian Perrig adrian.perrig at inf, CAB F 85.1
TAEmail
Salvatore Di Girolamosalvatore.digirolamo at inf.ethz.ch
Ercan Ucanercan.ucan at inf.ethz.ch
Alexandr Nigayalexandr.nigay at inf.ethz.ch
Felix Laufenbergfelixla at student.ethz.ch
Laurent Chuat (Network TA)laurent.chuat at inf.ethz.ch
Taeho Lee (Network TA)kthlee at inf.ethz.ch
Christos Pappas (Network TA)pappasch at inf.ethz.ch
Mickey Vänskä

Please subscribe to the mailing list here