252-0217-00L  Computer Systems

SemesterHerbstsemester 2018
DozierendeT. Roscoe, R. Wattenhofer
Periodizitätjährlich wiederkehrende Veranstaltung
LehrspracheEnglisch



Katalogdaten

KurzbeschreibungThis course is about real computer systems, and the principles on which they are designed and built. We cover both modern OSes and the large-scale distributed systems that power today's online services. We illustrate the ideas with real-world examples, but emphasize common theoretical results, practical tradeoffs, and design principles that apply across many different scales and technologies.
LernzielThe objective of the course is for students to understand the theoretical principles, practical considerations, performance tradeoffs, and engineering techniques on which the software underpinning almost all modern computer systems is based, ranging from single embedded systems-on-chip in mobile phones to large-scale geo-replicated groups of datacenters.

By the end of the course, students should be able to reason about highly complex, real, operational software systems, applying concepts such as hierarchy, modularity, consistency, durability, availability, fault-tolerance, and replication.
InhaltThis course subsumes the topics of both "operating systems" and "distributed systems" into a single coherent picture (reflecting the reality that these disciplines are highly converged). The focus is system software: the foundations of modern computer systems from mobile phones to the large-scale geo-replicated data centers on which Internet companies like Amazon, Facebook, Google, and Microsoft are based.

We will cover a range of topics, such as: scheduling, network protocol stacks, multiplexing and demultiplexing, operating system structure, inter-process communication, memory managment, file systems, naming, dataflow, data storage, persistence, and durability, computer systems performance, remove procedure call, consensus and agreement, fault tolerance, physical and logical clocks, virtualization, and blockchains.

The format of the course is a set of about 25 topics, each covered in a lecture. A script will be published online ahead of each lecture, and the latter will consist of an interactive elaboration of the material in the script. There is no book for the course, but we will refer to books and research papers throughout to provide additional background and explanation.
Voraussetzungen / BesonderesWe will assume knowlege of the "Systems Programming" and "Computer Networks" courses (or equivalent), and their prerequisites, and build upon them.

Leistungskontrolle

Information zur Leistungskontrolle (gültig bis die Lerneinheit neu gelesen wird)
Leistungskontrolle als Semesterkurs
ECTS Kreditpunkte8 KP
PrüfendeT. Roscoe, R. Wattenhofer
FormSessionsprüfung
PrüfungsspracheEnglisch
RepetitionDie Leistungskontrolle wird nur in der Session nach der Lerneinheit angeboten. Die Repetition ist nur nach erneuter Belegung möglich.
Prüfungsmodusschriftlich 180 Minuten
Zusatzinformation zum PrüfungsmodusCompletion of a learning task awards a bonus of up to 0.25 grade points on the final grade.
The final exam may be computer-based.
Hilfsmittel schriftlichKeine
Diese Angaben können noch zu Semesterbeginn aktualisiert werden; verbindlich sind die Angaben auf dem Prüfungsplan.

Lernmaterialien

 
HauptlinkInformation
Es werden nur die öffentlichen Lernmaterialien aufgeführt.

Lehrveranstaltungen

NummerTitelUmfangDozierende
252-0217-00 VComputer Systems4 Std.
Mo10-12CAB G 61 »
Fr10-12CAB G 61 »
T. Roscoe, R. Wattenhofer
252-0217-00 UComputer Systems2 Std.
Fr13-15CHN D 48 »
13-15ETZ F 91 »
13-15ETZ K 91 »
13-15HG D 3.1 »
13-15HG D 3.3 »
18.01.13-15LEE C 114 »
T. Roscoe, R. Wattenhofer
252-0217-00 AComputer Systems1 Std.T. Roscoe, R. Wattenhofer

Gruppen

Keine Informationen zu Gruppen vorhanden.

Einschränkungen

Keine zusätzlichen Belegungseinschränkungen vorhanden.

Angeboten in

StudiengangBereichTyp
Informatik BachelorVertiefung Computer and Software EngineeringOInformation
Informatik BachelorVertiefung Systems and Software EngineeringOInformation