Systemnahe Programmierung in C 2020 /CourseID:1061

Detailed information

Keywords: spic

Most recent entry on 2020-07-06 

Lecturer

Dr. Volkmar Sieh

Organisational Unit

Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme)

Recording type

Vorlesungsreihe

Language

German

Die Vorlesung soll aufbauend auf den Informatik-Kenntnissen aus GdI und ersten Programmiererfahrungen mit der Programmiersprache Java grundlegende Kenntnisse der systemnahen Programmierung vermitteln.
Während sich moderne Anwendungsprogrammierung primär an den Zusammenhängen und Begriffen des Anwendungsproblems orientiert und von den tatsächlichen Abläufen im Rechner weitgehend abstrahiert wird, sind bei systemnaher Programmierung gerade diese Abläufe im Rechner/Mikrocontroller das zu lösende Problem. Damit stehen die mächtigen Abstraktionen eines Betriebssystems, einer Middleware oder einer virtuellen Maschine nicht oder zumindest nur in geringerem Umfang zur Verfügung.

Eine in diesem Umfeld weit verbreitete Programmiersprache ist C, die im Rahmen der Lehrveranstaltung als Grundlage für Vorlesung und praktische Übungen dienen wird.

Obwohl C aus softwaretechnischer Sicht nicht mehr aktuell ist und für den Aufbau größerer Anwendungssoftwaresysteme äußerst kritisch gesehen werden muss, ist ein großer Teil der heute in Betrieb befindlichen Software in dieser Sprache geschrieben und man ist dadurch häufig mit der Wartung oder Weiterentwicklung solcher Software konfrontiert.

Vor allem im Bereich von eingebetten Systemen und allen anderen Arten von systemnaher Programmierung wird C auch heute noch häufig für Neuentwicklungen eingesetzt. Viele Entwicklungswerkzeuge sind auf diese Sprache ausgerichtet und in den Entwicklergruppen ist die Erfahrung mit der Programmiersprache und der damit verbundenen Art der systemnahen Programmierung nach wie vor sehr weit verbreitet.

Der Fokus der Lehrveranstaltung liegt einerseits auf der Architektur systemnaher Software und den Zusammenhängen zwischen den Abstraktionen der Programmiersprache und den tatsächlichen Strukturen und Abläufen in der Hardware (z.B. Zeiger in C, virtueller Speicher, Speicherzellen des Hauptspeichers). Andererseits wird besprochen, wie man bei der gerade im ingenieurwissenschaftlichen Bereich wichtigen systemnahen Programmierung - z.B. für für eingebettete Systeme - vorgeht und diskutiert, wann und wo man eine sinnvolle Grenze zwischen systemnaher Software und der immer umfangreicher und komplexer werdenden Anwendungssoftware ziehen sollte. Im Vergleich zu Java sollen dabei vor allem auch die aus programmiertechnischer Sicht problematischen Seiten von C und die daraus resultierenden Gefahren beleuchtet werden.

Folien zur Vorlesung

Associated Clips

Episode
Title
Lecturer
Updated
Via
Duration
Media
1
Kapitel 1: Einführung
Dr. Volkmar Sieh
2020-04-20
IdM-login
00:21:10
2
Kapitel 2: Organisation
Dr. Volkmar Sieh
2020-04-20
Free
00:33:06
3
Kapitel 3: Java versus C
Dr. Volkmar Sieh
2020-04-20
Free
00:29:58
4
Kapitel 4: Softwareschichten und Abstraktion
Dr. Volkmar Sieh
2020-04-20
Free
00:24:19
5
Kapitel 5: Sprachüberblick
Dr. Volkmar Sieh
2020-04-20
Free
00:10:47
6
Kapitel 6: Einfache Datentypen
Dr. Volkmar Sieh
2020-04-20
Free
00:43:51
7
Kapitel 7: Operatoren und Ausdrücke
Dr. Volkmar Sieh
2020-04-27
Free
00:40:08
8
Kapitel 8: Kontrollstrukturen
Dr. Volkmar Sieh
2020-04-27
Free
00:06:52
9
Kapitel 9: Funktionen
Dr. Volkmar Sieh
2020-04-27
Free
00:23:12
10
Kapitel 10: Variablen
Dr. Volkmar Sieh
2020-04-27
Free
00:06:46
11
Kapitel 11: Präprozessor
Dr. Volkmar Sieh
2020-05-04
Free
00:21:53
12
Kapitel 12: Programmstruktur und Module
Dr. Volkmar Sieh
2020-05-04
Free
00:35:41
13
Kapitel 13: Zeiger und Felder
Dr. Volkmar Sieh
2020-05-04
Free
00:51:48
14
Kapitel 14: Verbundtypen
Dr. Volkmar Sieh
2020-05-11
Free
00:17:30
15
Kapitel 15: Mikrocontroller Vorbemerkung
Dr. Volkmar Sieh
2020-05-11
Free
00:23:07
16
Kapitel 16: Mikrocontroller Prozessor
Dr. Volkmar Sieh
2020-05-11
Free
00:14:43
17
Kapitel 17: Mikrocontroller Peripherie
Dr. Volkmar Sieh
2020-05-11
Free
00:33:21
18
Kapitel 18: Unterbrechungen
Dr. Volkmar Sieh
2020-05-18
Free
00:29:52
19
Kapitel 19: Unterbrechungen Beispiel
Dr. Volkmar Sieh
2020-05-18
Free
00:13:59
20
Kapitel 20: Unterbrechungen Nebenläufigkeit
Dr. Volkmar Sieh
2020-05-18
Free
00:31:46
21
Kapitel 21: Ergänzungen - Zeiger
Dr. Volkmar Sieh
2020-05-25
Free
00:34:10
22
Kapitel 22: Ergänzungen - Ein-/Ausgabe
Dr. Volkmar Sieh
2020-05-25
Free
00:36:03
23
Kapitel 23: Ergänzungen - Fehlerbehandlung
Dr. Volkmar Sieh
2020-05-25
Free
00:13:07
24
Kapitel 24: Betriebssysteme
Dr. Volkmar Sieh
2020-05-25
Free
00:37:48
25
Kapitel 25: Dateisystem Einleitung
Dr. Volkmar Sieh
2020-06-08
Free
00:30:13
26
Kapitel 26: Dateisystem Unix
Dr. Volkmar Sieh
2020-06-08
Free
00:57:55
27
Kapitel 27: Prozesse
Dr. Volkmar Sieh
2020-06-15
Free
00:29:43
28
Kapitel 28: Prozesse Unix
Dr. Volkmar Sieh
2020-06-15
Free
00:20:29
29
Kapitel 29: Signale
Dr. Volkmar Sieh
2020-06-15
Free
00:45:44
30
Kapitel 30: Multiprozessoren
Dr. Volkmar Sieh
2020-06-22
Free
00:18:18
31
Kapitel 31: Nebenläufige Fäden
Dr. Volkmar Sieh
2020-06-22
Free
00:39:55
32
Kapitel 32: Nebenläufige Fäden - Praxis
Dr. Volkmar Sieh
2020-06-22
Free
00:29:19
33
Kapitel 33: Dynamische Speicherallokation
Dr. Volkmar Sieh
2020-07-06
Free
00:15:45
34
Kapitel 34: Speicherorganisation
Dr. Volkmar Sieh
2020-07-06
Free
00:17:45
35
Kapitel 35: Speicherorganisation Stack
Dr. Volkmar Sieh
2020-07-06
Free
00:22:27
36
Kapitel 36: Speicherorganisation Zusammenfassung
Dr. Volkmar Sieh
2020-07-06
Free
00:08:01

More courses from Dr. Volkmar Sieh

Sieh, Volkmar
Dr. Volkmar Sieh
2013-02-08
Free
Sieh, Volkmar
Dr. Volkmar Sieh
2019-07-18
IdM-login
Sieh, Volkmar
Dr. Volkmar Sieh
2017-07-20
IdM-login

More courses in this category "Technische Fakultät"

Kohlhase, Michael
Prof. Dr. Michael Kohlhase
2017-02-10
Free
Schloss1
Dr. Henning Urbat
2020-02-06
Passwort
Schloss1
M. Sc. Peter Leicht
2020-08-05
Studon
Schloss1
Prof. Dr. Jürgen Teich
2020-05-06
Studon
Schloss1
PD Dr. Florian Rabe
2020-07-23
IdM-login / Passwort