Lehrveranstaltungshandbuch Betriebssysteme Verteilte Systeme 1


Verantwortlich: Prof. Dr. Vogt

Lehrveranstaltung

Befriedigt Modul (MID)

Organisation

Version
erstellt 2012-05-03
VID 1
gültig ab WS 2012/13
gültig bis
Bezeichnung
Lang Betriebssysteme Verteilte Systeme 1
LVID F07_BVS1
LVPID (Prüfungsnummer)

Semesterplan (SWS)
Vorlesung 2
Übung (ganzer Kurs)
Übung (geteilter Kurs) 1
Praktikum 1
Projekt
Seminar
Tutorium (freiwillig)
Präsenzzeiten
Vorlesung 30
Übung (ganzer Kurs)
Übung (geteilter Kurs) 15
Praktikum 15
Projekt
Seminar
Tutorium (freiwillig)
max. Teilnehmerzahl
Übung (ganzer Kurs)
Übung (geteilter Kurs) 30
Praktikum 18
Projekt
Seminar

Gesamtaufwand: 150

Unterrichtssprache

  • Deutsch

Niveau

  • Bachelor

Notwendige Voraussetzungen

  • Strukturierte und prozedurale Programmierung
  • Architektur von Computern (Grundkenntnisse)

Literatur

Dozenten

  • Prof. Dr. Vogt

Wissenschaftliche Mitarbeiter

  • Dipl.-Ing. Henk

Zeugnistext

Betriebssysteme und Verteilte Systeme 1

Kompetenznachweis

Form
sK Regelfall (bei geringer Prüfungszahl: sMP)

Aufwand [h]
sK 10

Intervall: 3/Jahr


Lehrveranstaltungselemente

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
  • Literaturempfehlungen

Besondere Voraussetzungen

  • keine

Besondere Literatur

  • keine

Besonderer Kompetenznachweis

  • keiner

Praktikum

Lernziele

Lerninhalte (Kenntnisse)
  • 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

  • keiner

Topic-Revision: r13 - 11 Jan 2016, GeneratedContent
 
Diese Seite läuft auf FoswikiDas Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki? Feedback senden