« »

Grundlagen der Rechnerarchitektur und Betriebssysteme

Auf dieser Seite werden die Lehrmaterialien zum Modul “Inf-GRABS-B: Grundlagen der Rechnerarchitektur und Betriebssysteme” zur Verfügung gestellt. Weiteres über Inhalte und Format des Moduls sind im Modulhandbucheintrag zu finden. Die Inhalte des Moduls stehen weitestgehend unter offenen Lizenzen zur Verfügung. Fragen und Fehlerkorrekturen nimmt das Lehrstuhl-Team gern entgegen.

Inhalte zum Modul

Über das Modul

KürzelInf-GRABS-B
Umfang9 ECTS, 270 h
VoraussetzungenGrundlegende Programmierkenntnisse
ZeitpunktSommersemester
Prüfungschriftliche E-Prüfung, 90 Minuten
VerortungBachelormodul, 1./2. Semester

Inhalte

Das Modul behandelt die Grundlagen der Hardware und Systemsoftware moderner Computersysteme mit einem Schwerpunkt auf der Interaktion zwischen Soft- und Hardware und deren Auswirkungen auf Systemeigenschaften wie Performanz, Energieaufnahme, Sicherheit und Zuverlässigkeit. Basierend auf einer Einführung in die technischen Grundlagen der Informatik wie digitale Schaltungen, Architektur von Prozessoren, Speicherhierarchie, Ein-/Ausgabeeinheiten und Bussystemen sowie Informationsdarstellung (Zahlenformate, Zeichencodierung), digitale Logik und Arithmetik wird die Nutzung, Verwaltung und Zuteilung der Hardwarekomponenten durch Systemsoftware, insbesondere Betriebssysteme, erläutert.

Hierbei sind wichtige Schwerpunkte das Zusammenspiel von Software und Hardware, die Realisierung und Steuerung von Nebenläufigkeit und Parallelität in Rechnersystemen sowie die Kommunikation, Synchronisation und Isolation verschiedener nebenläufiger Aktivitäten sowie die Verwaltung und Optimierung von Zugriffen auf die verschiedenen Elemente der Speicherhierarchie.

Die Themen werden anhand der Prozessorarchitektur RISC-V, systemnahen Programmiersprachen (C und Assembler) und Beispielen moderner Betriebssysteme (z.B. Linux) behandelt. Ergänzend wird ein erster Einblick in Rechnernetze und Aspekte der Systemsicherheit gegeben.

Im Rahmen der Veranstaltung erarbeiten sich die Studierenden zusätzlich praktische Kenntnisse im Umgang mit der Unix-Kommandozeile sowie der Assembler-Programmierung. Diese Inhalte erarbeiten sich die Studierenden auch anhand von bereitgestellten Materialien und Aufgaben primär im Selbststudium.

Lernziele und Kompetenzen

Studierende erhalten einen umfassenden Einblick in die systemnahen Bereiche der Informatik und verstehen die Interaktion von Software und Hardware und die Auswirkungen von Hardwareeigenschaften auf nichtfunktionale Eigenschaften von Software wie Performanz oder Energieaufnahme.

Die Studierenden können den Aufbau und die grundlegende Funktionalität moderner Prozessoren, Rechnersysteme und Betriebssysteme erläutern und haben ein grundlegendes Verständnis nebenläufiger und paralleler Prozesse und der zugehörigen Methoden zur Kommunikation, Synchronisation und Isolation.

Die Studierenden sind dazu in der Lage, Assemblerprogramme zu entwerfen und den Zusammenhang von Hochsprachen- zu Assemblerbefehlssequenzen sowie die zugehörigen Vorgänge auf Seiten der Hardware zu bestimmen. Zusätzlich können die Studierenden die Unix-Befehlszeile zur Entwicklung von Software einsetzen.

Literatur

Frank Slomka, Michael Glaß:
Grundlagen der Rechnerarchitektur: Von der Schaltung zum Prozessor
Springer Fachmedien Wiesbaden GmbH, 1. Auflage 2023
ISBN-13: 978-3-658-36658-2 (Softcover) / 978-3-658-36659-9 (eBook)

Andrew Waterman, David A. Patterson:
The RISC-V Reader: An Open Architecture Atlas
Strawberry Canyon, 2017. ISBN-13: 978-0-999-24911-6

Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau:
Operating Systems: Three Easy Pieces
https://pages.cs.wisc.edu/~remzi/OSTEP/

Team

Das gesamte Lehrstuhlteam finden Sie auf der Website des Lehrstuhls.

Foto von Prof. Dr. Michael Engel

Professor

Prof. Dr. Michael Engel

Raum: WE5/03.018
Telefon: 0951 863-2926
E-Mail: michael.engel(at)uni-bamberg.de

Foto von Florian Knoch

Wissenschaftlicher Mitarbeiter

Florian Knoch

Raum: WE5/03.092
Telefon: 0951 863-2812
E-Mail: florian.knoch(at)uni-bamberg.de

Studentische Tutorin

Anja Schumacher

E-Mail: anja.schumacher(at)uni-bamberg.de

Studentischer Tutor

Hendrik Leuther

E-Mail: hendrik.leuther(at)uni-bamberg.de

Studentischer Tutor

Leon Borschert

E-Mail: leon.borschert(at)uni-bamberg.de

Studentischer Tutor

Simon Kress

E-Mail: simon.kress(at)uni-bamberg.de

Lizenzen

Sofern nicht anders angegeben, stehen die Inhalte zum Modul „Grundlagen der Rechnerarchitektur und Betriebssysteme“ unter der Creative-Commons-Lizenz CC BY-SA 4.0. Urheberrechtliche Angaben wiederverwendeter Inhalte sind kenntlich gemacht.

Der Quelltext dieser Website steht unter der MIT-Lizenz. Die gesamte Materialsammlung finden Sie auf Gitlab. Dort gibt es ebenfalls eine Liste der verwendeten Open-Source-Komponenten.

Materialien weiterverwenden

Die Nutzung des Materials ist ausdrücklich erwünscht. Um die Urheberschaft kenntlich zu machen, nutzen Sie gern folgende Angaben:

Kurs: Grundlagen der Rechnerarchitektur und Betriebssysteme.
SYSNAP / Universität Bamberg (CC BY-SA 4.0)