252-0062-00L  Operating Systems and Networks

Semester Spring Semester 2017
Lecturers T. Hoefler, A. Perrig
Periodicity yearly course
Language of instruction English


Abstract This is an introductory course on computer networks and operating
systems, with a particular focus on networking in the Internet and
monolithic operating systems like Linux and Windows. Network and OS
programming at different levels is an integral part of the course.
Objective 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.
Lecture notes The slides for each lecture will be made available in the web pages of the course, along with additional reference material.
Literature The networking material will be based on the following text book:

Computer Networks (5th Edition)
Andrew S. Tanenbaum, David J. Wetherall
Prentice Hall; 5 edition (October 7, 2010)

In addition, the following textbook provides useful background for the operating systems material in the course:

Modern Operating Systems (3rd Edition)
Andrew S. Tanenbaum
Prentice-Hall, 2007