227-0014-00L  Computer Engineering II

SemesterSpring Semester 2016
LecturersR. Wattenhofer
Periodicityyearly recurring course
Language of instructionGerman


AbstractWe learn the important functions of operating systems. Networking: IP, routing, transport, flows, applications, sockets, link and physical layer, Markov chains, PageRank, security. Storage: memory hierarchy, file systems, caching, hashing, data bases. Computation: virtualization, processes, threads, concurrency, scheduling, locking, synchronization, mutual exclusion, deadlocks, consistency.
Objectivesee above
ContentComputers come in all shapes and sizes: servers, laptops, tablets, smartphones, smartwatches, all the way down to that tiny microcontroller in a washing machine. People buy a computer because (i) it gives them access to the Internet, (ii) it provides storage, and probably also because (iii) it computes. While having network access seems to be vital, advanced storage and computing capabilities more and more move to designated servers ("the cloud"). In this lecture, we learn how computers provide networking, storage, and computation by means of an operating system.

We start out with networking, and discuss the internet protocol, addressing, routing, transport layer protocols, flows, some representative application layer protocols, and how to implement these with sockets. We also discuss the link and physical layer, Markov chains and PageRank, and selected topics in security. Regarding storage, we talk about the memory hierarchy, file systems, caching, efficient data structures such as hashing, and data base principles. Concerning computation, we discuss the virtualization of the processing units with processes and threads. We focus on concurrency and examine scheduling, locking, synchronization, mutual exclusion, deadlocks, and consistency.

The lecture will use various teaching paradigms. The majority of the lecture will be based on blackboard discussions, supported by a script. Where appropriate we will also use slides or demonstrations. A few lectures will be flipped classroom style. The lecture will feature weekly paper exercises.

However, some of the course material is best learned in front of an actual computer. In addition to the lecture we offer exciting hands-on exercises in a lab environment.
Lecture notesAvailable