ES 1: Digitaltechnik
Autor: Prof. Dr. Peter Liell, Hochschule Kaiserslautern
- Digital - Analog: Was ist Digital?; Codierung
- Darstellung von Zahlen: Polyadische Zahlensysteme; Duales Zahlensystem; Oktalsystem; Hexadezimalsystem
- Logische Verknüpfungen - Schaltalgebra: Formalismen und Definitionen; Algebraische Eigenschaften aussagenlogischer Verknüpfungen; Schaltnetze; Minimierung von Schaltfunktionen; Arithmetikschaltungen
- Schaltwerke: Kippstufen; Bistabile Kippstufen (Flipflops); Endliche Automaten
- Realisierung digitaler Funktionen: Kenngrößen; Die wichtigsten digitalen Schaltungsfamilien; Digitale Bauelemente in Form von integrierten Schaltkreisen
- Grundlagen der programmierbaren Logik: Einleitung; PLA; PAL; GAL; FPGA, EPLD
ES 2: Rechnerarchitektur
Autor: Prof. Dr. Helmut Dohmann, Hochschule Fulda
- Grundlagen: Der Begriff "Rechnerarchitektur"; Historische Entwicklung der Rechnersysteme; Prinzipieller Aufbau eines Rechnersystems; Darstellung und technische Verarbeitung von Informationen; Technologische Voraussetzungen von Rechnersystemen; Informationsdarstellung und -kodierung
- Rechnerarchitekturen: Die Architektur des "Von-Neumann-Rechners"; Klassifikationsschema für Rechnerarchitekturen nach Flynn
- Rechnerbaugruppen: Speicher; CPU; Ein-/Ausgabe
- Weiterführende Konzepte der Rechnerarchitektur: Speichertechniken; RISC / CISC; Parallele Verarbeitung; Mehrprozessorsysteme – Verteilte Systeme
ES 3: Grundlagen von Betriebssystemen
Autor: Prof. Dr. Carsten Vogt, Technische Hochschule Köln
- Die Kurseinheit ist als Begleittext zu dem Buch "Mandl, Peter: Grundkurs Betriebssysteme, Verlag Springer Vieweg" konzipiert.
- Einführung: Computersysteme, Entwicklung von Betriebssystemen
- Betriebssystemarchitekturen und Betriebsarten: Zugriffsschutz in Betriebssystemen; Betriebssystemarchitekturen; Klassische Großrechnerbetriebsarten; Terminalserver-Betrieb; Verteilte Verarbeitung
- Interruptverarbeitung: Interrupts; Systemaufrufe
- Prozesse und Threads: Prozesse; Threads; Programmiermodelle für Threads; Prozesse und Threads in konkreten Betriebssystemen
- CPU-Scheduling: Scheduling-Kriterien; Scheduling-Verfahren; Vergleich ausgewählter Scheduling-Verfahren
- Synchronisation und Kommunikation: Grundlegendes; Konzepte; Synchronisationstechniken moderner Betriebssysteme; Synchronisationsmechanismen in Programmiersprachen; Kommunikation von Prozessen und Threads
- Hauptspeicherverwaltung: Grundlegende Betrachtungen; Virtueller Speicher; Speicherverwaltung in ausgewählten Systemen
ES 4: Programmieren in C und Einführung in die Systemprogrammierung unter Linux
Autor: Prof. Dr. Helmut Bollenbacher, Hochschule Koblenz
- Einführung in die Programmiersprache C: Vor- und Nachteile der Sprache; Ein erstes C-Programm; Namen und reservierte Schlüsselwörter; Elementare Datentypen; Arrays, Strukturen, Unions und Zeiger; Operatoren; Kontrollstrukturen; Funktionen; Präprozessor-Anweisungen; Geltungsbereiche von Bezeichnern; Speicherklassen; Notwendigkeit und Vorteile einer Stilfibel
- Linux-Systemtreiber: Hardwarezugriffe; Hardwarezugriffe aus dem User-Space; Systemtreiber aus Applikationssicht; Ladbare und nicht ladbare Systemtreiber; Block- und zeichenorientierte Treiber
- Erstellen von Systemtreibern: Hallo-Welt-Treiber; Aufbau eines minimalen Systemtreibers; Beispiel: Null-Device-Systemtreiber; Testen von Treibern; Interruptverarbeitung im Treiber; Treibererweiterungen; Nützliche Regeln für Treiberentwicklung
ES 5: Echtzeitsysteme
Autor: Prof. Dr. Dieter Zöbel, Universität Koblenz-Landau
- Die Kurseinheit ist als Begleittext zu dem Buch "Zöbel, Dieter: Echtzeitsysteme, Springer-Verlag" konzipiert.
- Einführung: Merkmale von Echtzeitsystemen; Grundmodell eines Echtzeitsystems; Prozesse; Echt und Zeit
- Methodische und technische Grundlagen: Überblick über die Echtzeitplanung; Verteilte Echtzeitsysteme
- Grundlegende Planungsverfahren: Planen durch Suchen; Planen nach dynamischen Prioritäten; Planen nach statischen Prioritäten
- Fortgeschrittene Planungsverfahren
ES 6: Embedded Linux
Autor: Prof. Dr. Helmut Bollenbacher, Hochschule Koblenz
- Embedded Systems - warum Linux?
- Grober Aufbau eines Embedded Systems unter Linux
- Entwicklungs- und Testwerkzeuge
- Skript-Programmierung (Bash)
- Datenträger
- Umgang mit Dateisystemen
- Einsatz von Filesystemen beim Kernelstart
- Busybox
- Bootlader
- Schnittstellen für Input/Output
- GNU General Public License