Inhalte der Vorlesung Mikrocontroller und DSP
Die Lehrveranstaltung Mikrocontroller und Signalprozessoren ist eine Fortführung/Spezialisierung der Lehrveranstaltung Rechnerarchitektur. Während in Rechnerarchitektur die Funktionsweise von Rechnern ganz allgemein behandelt wird, steht hier die Verwendung von Rechnerarchitekturen für spezifische Einsatzgebiete (Mobile Geräte, Prozessautomatisierung, Digitale Signalverarbeitung und weitere) im Vordergrund.
Aus dem Inhalt:
- Allgemeine Architekturen von Mikrocontrollern
- Chipkartenarchitekturen: Hardware und Software
- Bussysteme und Kommunikationsarchitekturen
- Architekturen von Signalprozessoren
- Programmerzeugung und Werkzeuge
Inhalte der Vorlesung Betriebssysteme
In diesem Modul erhalten die Studierenden eine grundlegende Einführung in die Konzepte Rechenprozess und Kontrollfluss (Thread), welche beim Bau von Betriebssystemen und bei der Programmierung von nebenläufigen Programmsystemen von entscheidender Bedeutung sind.
Darauf aufbauend werden die Gebiete Ablaufplanung, Kommunikation und Synchronisation, Ein-/Ausgabe sowie Speicherverwaltung ausführlich diskutiert. Das Modul vermittelt Kompetenzen in der Programmierung nebenläufiger Programmsysteme und steigert die Vertrautheit mit der fachwissenschaftlichen Denkweise bei der Lösung von Problemstellungen mit einer Vielzahl von parallelen Vorgängen, welche man sequentiell nicht mehr effizient bearbeiten kann.
Lernziele
Sie erhalten einen Überblick über das Themengebiet der modernen Betriebssysteme. Anschließend sind Sie in der Lage
- den strukturellen Aufbau eines Betriebssystems zu verstehen,
- wichtige Mechanismen wie Speicher- und Prozessverwaltung, Synchronisation, Ressourcenmanagement, Dateisysteme und Sicherheitsmechanismen einzusetzen und
- beim praktischen Einsatz moderner Betriebssysteme typische Problemstellungen zu erkennen und zu lösen.
Die Vorlesung stellt neben den typischen Konzepten die Umsetzungen der entsprechenden Mechanismen am Beispiel der Betriebssysteme Mac OS X, Unix und Windows vor.
Inhalte der Vorlesung Rechnerarchitektur
In diesem Modul erhalten die Studierenden eine grundlegende Einführung in die
Struktur und Funktionsweise von Rechnern nach den Architekturmodellen von-Neumann und Harvard.
Neben den grundlegenden Abläufen in allgemeinen Rechen- und Steuereinheiten moderner Rechensysteme werden darauf aufbauend prinzipielle Methoden der Leistungssteigerung hinsichtlich Speicherzugriff, Verbindungsstruktur, Ein-/Ausgabe und Befehlsabarbeitung vorgestellt. Wesentliche Punkte der Vorlesung umfassen:
- Allgemeine Architekturmodelle
- Architekur von Rechen-, Leit- und Steuerwerk
- Optimierungen
- Speicherarchitekturen
- Cacheberechnungen
- Branch-Prediction Architekturen
- Leistungsbewertung
- Peripherie- und Bussysteme
- Architekturen hochgradig leistungsfähiger Systeme
- Beispiele an den MIPS-, x86- und PowerPC-Architekturen
Dabei werden die Studierenden in exemplarischer Weise in typische Fragestellungen der Rechnerarchitektur wie z.B. Entwurfsziele und Beurteilungskriterien eingeführt. Im zweiten Teil werden spezielle Architekturen für moderne, sehr leistungsfähige Rechner vorgestellt. Die Vorlesung wird durch viele praktische Beispiele an verschiedenen Systemarchitekturen unterstützt.
Lernziele
Die Studierenden erwerben die Befähigung, einzelne Komponenten eines Rechners
zu analysieren, sowie das Zusammenspiel der Komponenten als Ganzes zu
bewerten. Dadurch werden die Studierenden in die Lage versetzt, Rechner für
konkrete Aufgabenstellungen zu spezifizieren und zu bewerten. Weiterhin erhalten sie Grundlagen, Multiprozessorsysteme und massiv parallele Systeme zu verstehen.
Inhalte des FWPF Sicherheit moderner Betriebssysteme
Die Lehrveranstaltung Sicherheit moderner Betriebssysteme stellt Konzepte, Verfahren und Mechanismen der IT-Sicherheit im Kontext moderner Betriebssysteme vor. Neben den klassischen Betriebssystemen liegt ein weiterer Fokus der Veranstaltung auf den Betriebssystemen mobiler Endgeräte (z.B. PDAs, Mobiltelefone und andere moderne, elektronische Begleiter).
Das FWPF besteht aus drei Teilen. Im ersten Teil werden klassiche Sicherheitsprobleme und konkrete Angriffe auf bekannte Betriebssysteme vorgestellt und deren Wirkung erklärt. Im zweiten Teil werden Techniken zur Konstruktion abgesicherter Betriebssysteme vorgestellt. Diese Sammlung aus typischen Sicherheitsmechanismen und Maßnahmen wird jeweils anhand von konkreten Beispielen praktisch umgesetzt. Der dritte Teil beschreibt heutige Umsetzungen der vorgestellten Sicherheitsbausteine in den beiden Betriebssystemwelten Windows und Unix/Linux.
Lernziele
Sie erhalten einen Überblick über das Themengebiet IT-Sicherheit im Kontext moderner Betriebssysteme. Anschließend sind Sie in der Lage
- Sicherheitsmechanismen von Betriebssystemen einzuordnen
- Sicherheitseigenschaften eines Betriebssystems zu bewerten und
- in der Praxis geeignete Gegenmaßnahmen zur Absicherung von Betriebssystemen auch im mobilen Bereich einzusetzen.
Inhalte der Vorlesung Rechnerorganisation und -architektur
Die Lehrveranstaltung umfasst folgende Themenbereiche:
Aus dem Bereich der Rechnerarchitektur:
- Aufbau und Funktion von Rechenwerken und Prozessoren
- Befehlswerke und Befehlssteuerung
Aus den Bereichen der Betriebssysteme:
- Prozesssysteme und Scheduling
- Speicherverwaltung
- Ein-/Ausgabe
- Unterbrechungssteuerung
Spezielle Themen:
- Speichersysteme
- Rechnernetze
- Spezialarchitekturen
- Maschinennahe Programmierung
- Datenstrukturen und optimierte Berechnungen
- IT-Sicherheit
Die Themeninhalte stellen einen aktuelle Querschnitt über die relevanten Themen zur Rechnerorganisation und Rechnerarchitektur dar. Innerhalb der Themen werden Probleme und mögliche Optimierungen für den Einsatz numerischer Berechnungen diskutiert. Insbesondere wird auf den Einsatz von Softwaresystemen zur FEM-Berechung eingegangen. Zur Realisierung der Berechnungen werden entsprechende Verfahren in der Programmiersprache Python 2 umgesetzt. Die Studierenden erhalten vorlesungsbegleitend eine Einführung in diese Sprache.
Inhalte der Vorlesung Rechnerarchitekturen I
In dem Modul Rechnerarchitekturen I erhalten die Studierenden eine grundlegende Einführung in die
Struktur und Funktionsweise von Rechnern nach den Architekturmodellen von-Neumann und Harvard.
Neben den grundlegenden Abläufen in allgemeinen Rechen- und Steuereinheiten moderner Rechensysteme werden darauf aufbauend prinzipielle Methoden der Leistungssteigerung hinsichtlich Speicherzugriff, Verbindungsstruktur, Ein-/Ausgabe und Befehlsabarbeitung vorgestellt. Wesentliche Punkte der Vorlesung umfassen:
- Allgemeine Architekturmodelle
- Architekur von Rechen-, Leit- und Steuerwerk
- Optimierungen
- Speicherarchitekturen
- Cacheberechnungen
- Branch-Prediction Architekturen
- Leistungsbewertung
- Peripherie- und Bussysteme
- Beispiele an den MIPS-, x86- und PowerPC-Architekturen
Dabei werden die Studierenden in exemplarischer Weise in typische Fragestellungen der Rechnerarchitektur wie z.B. Entwurfsziele und Beurteilungskriterien eingeführt. Die Vorlesung wird durch viele praktische Beispiele an verschiedenen Systemarchitekturen unterstützt.
Das Modul Rechnerarchitektur setzt sich aus den beiden Teilen Rechnerarchitekturen I und II zusammen.
Im zweiten Teil mi der Vorlesung Rechnerarchitekturen II werden spezielle Architekturen für moderne, sehr leistungsfähige Rechner vorgestellt. Diese Vorlesung ist dafür wesentliche Grundlage.
Lernziele
Die Studierenden erwerben die Befähigung, einzelne Komponenten eines Rechners
zu analysieren, sowie das Zusammenspiel der Komponenten als Ganzes zu
bewerten. Dadurch werden die Studierenden in die Lage versetzt, Rechner für
konkrete Aufgabenstellungen zu spezifizieren und zu bewerten.
Inhalte der Vorlesung Rechnerarchitekturen II
In dem Modul Rechnerarchitekturen II erhalten die Studierenden eine grundlegende Einführung in die
Struktur und Funktionsweise paralleler Rechnerstrukturen.
Neben den grundlegenden Strukturen aus Rechnerarchitektur I in allgemeinen Fragen zur Rechnerarchitekturen werden hier die speziellen Elemente paralleler Systeme vermittelt. Wesentliche Punkte der Vorlesung umfassen:
- Allgemeine Architekturmodelle
- Architekur von Rechen-, Leit- und Steuerwerk
- Optimierungen
- Speicherarchitekturen
- Cacheberechnungen
- Branch-Prediction Architekturen
- Leistungsbewertung
- Peripherie- und Bussysteme
- Beispiele an den MIPS-, x86- und PowerPC-Architekturen
Dabei werden die Studierenden in exemplarischer Weise in typische Fragestellungen der Rechnerarchitektur wie z.B. Entwurfsziele und Beurteilungskriterien eingeführt. Die Vorlesung wird durch viele praktische Beispiele an verschiedenen Systemarchitekturen unterstützt.
Das Modul Rechnerarchitektur setzt sich aus den beiden Teilen Rechnerarchitekturen I und II zusammen.
Im zweiten Teil mi der Vorlesung Rechnerarchitekturen II werden spezielle Architekturen für moderne, sehr leistungsfähige Rechner vorgestellt. Diese Vorlesung ist dafür wesentliche Grundlage.
Lernziele
Die Studierenden erwerben die Befähigung, einzelne Komponenten eines Rechners
zu analysieren, sowie das Zusammenspiel der Komponenten als Ganzes zu
bewerten. Dadurch werden die Studierenden in die Lage versetzt, Rechner für
konkrete Aufgabenstellungen zu spezifizieren und zu bewerten.
Inhalte der Vorlesung Sensorik
Diese Veranstaltung gehört zu dem Modul Grundlagen sensomotorischer Systeme mit der weiteren Vorlesung "Robotersysteme".
In diesem Modul erhalten die Studierenden einen Überblick über verschiedene Sensorsysteme, die durch eine Klassifikation über die Bandbreite der bestehenden Sensoren bestimmt ist. Zudem werden Schnittstellen untersucht, die typischerweise zur Weiterverarbeitung von Sensordaten genutzt werden. Daneben werden verschiedene Weiterverarbeitungstechniken, wie digitale Filter, vorgestellt.
Lernziele
Die Studierenden erhalten einen Überblick über das Themengebiet der modernen Sensortechniken. Anschließend sind sie in der Lage
Sensoren für spezifische Einsatzgebiete zu bestimmen
die Güte von Sensoren festzulegen
Komplexitäten von digitaler Sensordatenverarbeitung abzuschätzen.
Inhalte im Praktikum Computernumerik
Diese Veranstaltung gehört zu dem Modul Materialmodelle und Numerik mit der Vorlesung "Experimentelle Mechanik und Materialmodellierung". Die Studierenden führen nach einer Einführung Praktikumsversuche zu folgenden Themenblöcken durch:
- Modellbildung und numerische Lösungen
- Fehlerbegriff und Genauigkeit
- Validierung numerischer Lösungen und Softwarefehler
- Hardwarevoraussetzungen und –optimierungen (Prozessorarchitekturen, Speichersysteme, Leistungsbewertungen)
- Datentypen, Datenstrukturen und grundlegende Algorithmen
- Softwareoptimierungen durch Compiler und effiziente Algorithmen
- Parallelisierbarkeit von Algorithmen
- Abbruchkriterien, Genauigkeits- und Fehlerabschätzungen
Umsetzung von Verfahren in der Programmiersprache Python (lineare Gleichungssysteme, schwach besetzte Systeme)
Im Fach Computernumerik werden numerische Lösungen von Standardproblemen mit der leicht zu erlernenden Programmiersprache Python umgesetzt. Neben einer kurzen Einführung in die Sprache wird zunächst ein Überblick über die klassischen Fragen numerischer Lösungen gegeben, wie Fehlerabschätzungen, Umsetzung der Rechnerarithmetik mit begrenzten Genauigkeiten und die Umsetzung geeigneter Abbruchbedingungen. Daneben werden die Grundlagen moderner Rechnerarchitekturen und entsprechender Hardwareoptimierungen vorgestellt. Das Erlernte wird im Praktikum in der Programmiersprache Python mit geeigneten Datenstrukturen und Algorithmen umgesetzt.
Görl, Harald, Prof. Dr. rer. nat.
Zeit und Raum
Das FWPF findet in Raum (35/1108) an folgendem Termin statt:
Dienstags ab 9:00 Uhr.
Erster Termin ist der 9. Januar 2015. Beim ersten Termin besprechen wir potentielle Terminkollissionen mit anderen Lehrveranstaltungen und versuchen eine passende Lösung zu finden.
Inhalte des WPM Moderne Datenbanksysteme
Die Lehrveranstaltung Moderne Datenbanksysteme vermittelt wichtige Grundlagen über die Architektur und Konzepition von Datenbanksystemen. Anhand praktischer Beispiele verschiedener Datenbanksysteme wird das erworbene Wissen vertieft.
Abschnitt 1: Relationale Datenbanken
- Grundlagen der relationalen Algebra
- Entwicklungs- und Modellierungstechniken: E/R-Diagramme, Normalformen, Generatoren
- Die Datenbanksprache SQL: Definition, Manipulation und Abfrage
- Relationale Datenbanksysteme: SQLite, MySQL und IBM DB2
- Datenbanken im Einsatz: Benutzungsschnittstellen, Schnittstellen zu Programmiersprachen
- Der Datenbankbetrieb: Three-Tier-Architekturen, Datenbanksicherheit, Monitoring und Optimierung
Abschnitt 2: Moderne, nicht relationale Systeme ("NoSQL"-artige Systeme usw.)
- Algorithmen verteilter Datenbanksysteme
- Moderne Algorithmik in BigData-Systemen
- Map-/Reduce-Verfahren und Beispiele
- Verteilte Dateisysteme für den BigData-Betrieb: GFS, HFS
- Bewertungen von BigData-Systemen im praktischen Einsatz
Die Teilnehmer erwerben ein grundlegendes Verständnis für den Aufbau und die Funktionsweise relationaler Datenbanken. Sie lernen sowohl diese Systeme in der Praxis sinnvoll einzusetzen als auch geeignete Datenbanksysteme für entsprechende Anforderungen auszuwählen. Sie erlernen den Einsatz der Datenbanksprache SQL und sind in der Lage, einfache Datenbanksysteme zu betreiben.
Weiterhin werden Grundlagen anderer, in den letzten Jahren aufkommender Datenbanksysteme besprochen, wie sie etwa für den Einsatz bei Big Data-Anwendungen auftreten. Diese Systeme werden ebenfalls exemplarisch untersucht und praktisch anhand einiger Beispiele eingesetzt.
Im Praktikum am Rechner werden die besprochenen Datenbanksysteme genutzt und unter Benutzung einiger Programmiersprachen (Java, C, Python, Shell) angesprochen.