Befehle der zeichenorientierten UNIX/Linux-Benutzerschnittstelle
Nutzung durch Eingabe über die Tastatur
Nutzung durch Einbettung in Shell Scripts
Speicherorganisation unter UNIX/Linux
Stack bei Funktionsaufrufen
Heap bei dynamischer Speicherzuteilung durch malloc()
C-Funktionen der UNIX/Linux-Programmierschnittstelle
zum Zugriff auf Dateien und Geräte
zur Erzeugung und elementaren Steuerung von Prozessen
zur Synchronisation von Prozessen
Fertigkeiten
Umgang mit den Schnittstellen von UNIX/Linux
zeichenorientierte Benutzerschnittstelle
Programmierschnittstelle
elementare Steuerung nebenläufiger Aktivitäten in UNIX/Linux
von der Benutzerschnittstelle aus
durch Funktionen der Programmierschnittstelle
Synchronisation nebenläufiger Ausführungen durch Synchronisationsmechanismen (insbesondere Semaphore)
Handlungskompetenz demonstrieren: Anwendung der unter "Kenntnisse" und "Fertigkeiten" genannten Aspekte auf praxisbezogene Szenarien durch selbstständige Arbeit in kleinem Team.
Begleitmaterial
elektronische Arbeitsblätter
elektronische Sammlung von Beispielprogrammen
kommentierte Schnittstellendokumentationen
Besondere Voraussetzungen
keine
Besondere Literatur
keine
Besonderer Kompetenznachweis
Form
Beitrag zum LV-Ergebnis
Intervall:
Zeugnistext
Vorlesung / Übung
Lernziele
Lerninhalte (Kenntnisse)
Grundlagen von Betriebssystemen und Verteilten Systemen
Einordnung und Aufgaben eines Betriebssystems im Rechensystem
zu verwaltende Betriebsmittel
Nebenläufigkeit in Hard- und Software
Komponenten und Eigenschaften Verteilter Systeme
Software-Strukturen
Betriebssystemkern
Hierarchische Strukturen
Virtuelle Maschinen
Client-Server-Systeme
Peer-to-Peer-Systeme
Das UNIX/Linux-Betriebssystem
Geschichte und Standards
Schalenstruktur
Kern mit Programmierschnittstelle
Shell mit Benutzerschnittstelle
wichtige Benutzerkommandos
Aufbau des Dateisystems
Programmierung in C
Nebenläufigkeit
Prozesse und Threads
grundlegende Eigenschaften
Prozesse in UNIX
Threads in Java
Synchronisation
grundlegende Synchronisationsbedingungen
wechselseitiger Ausschluss
Reihenfolge
Mechanismen zur Durchsetzung
Interruptsperrung
Spinlocks
Signale
Semaphore
Monitore
Deadlocks
Kommunikation
Grundbegriffe
speicher- vs. nachrichtenbasierte Kommunikation
Mailboxen und Ports
synchrone vs. asynchrone Kommunikation
lokale Kommunikation
Shared Memory
Message Queues
Pipes
Kommunikation in verteilten Systemen
Protokolle
Sockets
Kooperation
Client-Server-Modell
Beispiele: Namens- und Dateidienste
geschichtete Architekturen
Peer-to-Peer-Modell
prozedurale Kooperation: Remote Procedure Call
objektorientierte Kooperation
Remote Method Invocation
objektorientierte Middleware
Web-basierte Dienste
dynamische Web-Seiten
Web Services
Fertigkeiten
Einordnung der Betriebsmittel, die durch ein Betriebssystem zu verwalten sind
Umgang mit den Schnittstellen eines Betriebssystems
zeichenorientierte Benutzerschnittstelle
Programmierschnittstelle
Steuerung nebenläufiger Aktivitäten in einem Betriebssystem
von der Benutzerschnittstelle aus
durch Funktionen der Programmierschnittstelle
Synchronisation nebenläufiger Ausführungen durch Synchronisationsmechanismen
Nutzung verschiedener Kommunikationsmechanismen
lokale Mechanismen
Mechanismen in Rechnernetzen
Begleitmaterial
elektronische Vortragsfolien zur Vorlesung
elektronische Animationen zur Vorlesung
elektronische Arbeitsblätter zu Übungen
elektronische Sammlung von Beispielprogrammen
kommentierte Schnittstellendokumentationen
Links auf relevante Web-Seiten, insbesondere auch auf Lehrvideos