Betriebssysteme und Verteilte Systeme 1 (BVS1)

Werbung
Betriebssysteme und Verteilte Systeme 1 (BVS1)
Modulbezeichnung / Kürzel
Betriebssysteme
und Verteilte Systeme 1 (BVS1)
Stand: 11.05.2007
Fachsemester
3. Semester
Modulverantwortliche(r)
Prof. Dr. Carsten Vogt
Sprache
Deutsch
Lehrformen / SWS
Seminaristischer Unterricht mit Praktikum, V2, Ü1, P1
Kreditpunkte
5 ECTS-Punkte
Arbeitsaufwand
60 h Präsenz
90 h Selbststudium
Voraussetzungen
IN 1 / IN 2 (Programmieren in Java oder C, Grundkenntnisse über
Aufbau, Funktionsweise und Dienste von Rechensystemen)
Lernziele/Kompetenzen
Die Studierenden kennen Architekturkonzepte und Nutzungsmöglichkeiten von Betriebsystemen (BS) und nebenläufigen, verteilten
Systemen (VS). Sie können ihr Wissen praktisch anwenden:
• Sie kennen die Aufgaben von BS und VS, die ihnen zugrundeliegende Hardware und Möglichkeiten für ihre Softwarearchitektur.
• Sie kennen Aufbau, Schnittstellen und Anwendungsmöglichkeiten
des BS UNIX/Linux.
• Sie kennen verschiedene Arten der Nebenläufigkeit in Hard- und
Software, entsprechende Betriebsarten eines BS und Programmiertechniken.
• Sie kennen die Problematik der Synchronisation (der Steuerung
des zeitlichen Verhaltens nebenläufiger Programme) und Techniken zur Lösung von Synchronisationsproblemen.
• Sie kennen fundamentale Begriffe und Techniken der Kommunikation (des Datenaustauschs) in lokalen Systemen und in Netzen.
• Sie kennen fundamentale Begriffe und Techniken der Kooperation
(der Lösung von Anwendungsproblemen durch nebenläufige Programme) in verteilten Systemen.
• Sie können Techniken der UNIX/Linux-C-Schnittstelle anwenden,
um nebenläufige Anwendungsprogramme zu realisieren (einschließlich Synchronisation, Kommunikation und Kooperation). Sie
besitzen entsprechende Grundkenntnisse bezüglich Java.
Inhalt
Einführung in Betriebssysteme und verteilte Systeme:
Position und Aufgaben eines Betriebsystems. Klassen der Nebenläufigkeit in Hard- und Software. Betriebsarten. Komponenten und
Eigenschaften verteilter Systeme. Softwarestrukturen in Betriebssystemen und verteilten Systemen.
Die Betriebssysteme UNIX und Linux:
Schalenstruktur und Schnittstellen: Kern und Shell, Programmierund Benutzerschnittstelle. Benutzersicht: Kommandoausführung,
Dateisystem, typische Dienste (insbes. C-Compiler).
Software-Nebenläufigkeit:
Prozesse und Threads: Allgemeine Eigenschaften, Prozesse in
UNIX (Funktion fork() und verwandte Funktionen), Threads in Java
(Klasse Thread).
Synchronisation:
Problemstellung und Arten der zeitlichen Koordination nebenläufiger
Aktivitäten. Deadlocks. Synchronisationsmechanismen: Spinlocks,
Signale, Semaphore, Monitore, Transaktionen. Signale und Semaphore in UNIX. Monitore in Java.
Lokale Datenkommunikation
Grundbegriffe: u.a. Shared Memory vs. Nachrichtensystem, Mailboxen und Ports, synchrone vs. asynchrone Kommunikation. UNIXMechanismen: Shared Memory, Pipes, Message Queues.
Datenkommunikation im Netz
Nachrichten und Protokolle. Protokollstacks: OSI-Modell, InternetProtokolle. Beispiele für Netze und Protokolle: u.a. Ethernet, WLAN,
TCP/IP. Sockets in UNIX und Java.
Grundlagen der Kooperation
Kooperationsmodelle: Client-Server, Peer-to-Peer. Datei- und Namensdienste. Implementierung durch Mehrschichtenarchitekturen.
Prozeduraler Ansatz: Remote Procedure Call (RPC) in UNIX.
Studien-/Prüfungsleistungen
Regelmäßige Anfertigung von Praktikumsberichten mit Vorführung
Schriftliche Prüfung
Voraussetzung: bestandenes Praktikum
Medienformen
Vorgefertigte Folien,
in der Vorlesung entwickeltes Tafelbild,
Beamerpräsentation mit Computerdemonstration,
Webseite (www.nt.fh-koeln.de/vogt/bs.html)
Literatur
Vogt, Betriebssysteme, Spektrum-Verlag
Vogt, C für Java-Programmierer, Hanser-Verlag
Ehses et al., Betriebssysteme, Pearson Studium
Tanenbaum / Woodhull, Operating Systems, Pearson / Prentice Hall
Bengel, Grundkurs Verteilte Systeme, Vieweg-Verlag
Tanenbaum / van Steen, Distributed Systems, Prentice Hall
Weitere Literaturempfehlungen, auch zu Spezialgebieten:
www.nt.fh-koeln.de/vogt/bs/folien.html -> Literaturempfehlungen
Herunterladen