Allgemein

Aktuelle Kursbeschreibungen findet ihr auch auf der Seiten des Lehrstuhls:
http://apache.cs.uni-potsdam.de/de/profs/ifi/bs/lehre
http://www.cs.uni-potsdam.de/bs/

Vorlesungen bei Frau Schnor haben einige Gemeinsamkeiten. Deswegen sind viele der Informationen zu GBR allgemeingültig.

Grundlagen der Betriebssysteme und Rechnernetze (GBR)

SWS: 2 Vorlesung + 1 Übung
LP: 6

(Alle 2 Wochen eine VL+Übung, ansonsten 2 VL pro Woche)

Inhalt

Die Vorlesung bietet eine typische Einführung in die akademische Sicht auf Betriebssysteme. Die meisten Ausführungen beziehen sich auf UNIX-Betriebssysteme.

Betriebssysteme

  • Einführung
    • Definition eines Betriebssystems
    • Aufgaben eines Betriebssystems
    • Geschichte
    • Architekturbeispiel Windows 2000
  • Prozessverwaltung
    • Einführung und Definitionen
    • Scheduling
    • Thread-Systeme
    • Kommunikation
  • Speicherverwaltung
    • Swapping
    • Virtuelle Adressierung
    • Paging
    • Beispiel UNIX-Speicherverwaltung
    • Beispiel Windows NT
  • Dateisysteme
    • Benutzerschnittstelle
    • Implementation
    • Sicherheit
  • Synchronisation nebenläufiger Prozesse
    • Lösungen: Busy Waiting, Peterson's Algorithmus, Semaphor, Monitor, Nachrichten
    • Typische Probleme: Producer-Consumer, Readers-Writers, Deadlocks
    • Äquivalenz der Verfahren

Rechnernetze

  • ISO/OSI
  • Die physikalische Schicht
  • Sicherungsschicht
  • Vermittlungsschicht
  • Transportschicht

Nützliche Grundlagen

Für die Übungsaufgaben sollte man schon mal programmiert und einen Compiler bedient haben. Außerdem empfiehlt es sich, TGI2 gehört zu haben, auf jeden Fall braucht man eine ungefähre Vorstellung von Rechneraufbau und -arbeitsweise.

Literatur

  • Andrew S. Tanenbaum, Moderne Betriebssysteme (2. Auflage): Standardwerk, deckt die Vorlesung gut ab, sehr gut zu lesen, eher akademisch als praktisch

Aufwand

Es sind zweiwöchentlich Übungsaufgaben abzugeben, die halb theoretisch, halb praktisch sind. Der theoretische Anteil wiederholt meist Vorlesungsinhalte. Im praktischen Teil hingegen muss man C-Programme schreiben, z.B. zu Prozesserzeugung, Socket-Kommunikation und Semaphoren. Darüber freuen sich die einen, weil das etwas handfestes ist, bei dem man was lernt, die anderen stöhnen, weil sie sich das nicht extra aneignen wollen. Die Aufgaben sind in 2er- oder 3er-Gruppen abzugeben, werden bewertet und man braucht 50% der Punkte für die Klausurzulassung.

Klausur

Die Klausur dauert 2h und orientiert sich inhaltlich stark an den Übungsaufgaben. Es wird weniger nach Wissen gefragt, eher nach den gelernten Verfahren. Man darf alle nichtelektronischen Materialien als Hilsmittel mitnehmen.

Fazit

Ich empfehle diese Vorlesung schon für das 3. Semester, in höheren Semestern fühlt man sich unter Umständen etwas unterfordert.

Altklausuren

Verteilte Systeme

SWS: 2 Vorlesung + 1 Übung
LP: 6

(Alle 2 Wochen eine VL+Übung, ansonsten 2 VL pro Woche)

Inhalt

(Zitat Website des Lehrstuhls)

Unter Verteilten Systemen verstehen wir vernetze, häufig topologisch weit verteilte Rechnerressourcen, die miteinander kooperieren. Ein klassisches Interaktionsmuster ist das Client-Server-Computing wie wir es im lokalen Bereich zwischen Client und Fileserver finden, aber auch Webapplikationen wie Suchmaschinen und soziale Netzwerke im Internet.

Voraussetzung für die Interaktion ist jeweils die Möglichkeit der Kommunikation zwischen den Rechnerressourcen. Neben dem Client-Server-Computing hat sich auch das P2P-Computing als erfolgreiches Interaktionsmuster durchgesetzt. Aktuelle Erscheinungsformen der Verteilten Systeme finden wir im Grid und Cloud Computing, sowie in Sensornetzen bis hin zum Smart Metering.

Die Vorlesung behandelt Kommunikationsmodelle für Verteilte Anwendungen (socketbasierte Kommunikation, RPC, Java RMI), Konzepte verteilter Dateisysteme, Synchronisationsverfahren für verteilte Anwendungen mit Beispielen z.B. aus Cloud-Datenbanken, sowie Konzepte der Lastverteilung in Hochverfügbarkeits-Clustern wie Google.

Einführung

  Terminologie, Transparenzeigenschaften
  Historie

Grundlagen Kommunikationssysteme

  Das ISO-Referenzmodell OSI
  Internet Protokoll IPv4
  Transportprotokolle UDP und TCP

Interprozeßkommunikation

  Kommunikationsmodelle
  Remote Procedure Call (RPC)
  Java RMI
  Gruppenkommunikation (Multicast)

Verteilte Dateisysteme

  Entwicklungsziele, Konzepte
  Caching
  Beispiele: Network File System (NFS), Andrew File System (AFS/DFS)

Synchronisationsalgorithmen

  Formale Beschreibung
  Zentrale Ansatz
  Token-Verfahren (Floor-Passing)
  Votierungsverfahren
  Logische Uhren
  Schnappschußverfahren

Lastverteilung

  Lastmetriken
  Strategien
  Server Load Balancing
  Lastverteilung auf Multicore-Systemen: Beispiel Apache-Webserver

Web-Anwendungen

  Web-Services , Applikationsserver
  Restful Services

Big Data

  MapReduce, Hadoop-Cluster
 

Nützliche Grundlagen

Grundlagen Betriebsysteme und Rechnernetze

Fundierte Kenntnisse in UNIX / Linux (Kommandozeile)

Man sollte C beherrschen, bzw. mit der C-Syntax klarkommen und den GCC-Kompiler bedienen können. Weiterhin sind die Kenntnisse aus GBR sehr hilfreich.

Literatur

  A.S. Tanenbaum/M. van Steen: Verteilte Systeme. Grundlagen und Paradigmen, Pearsson Studium, 2. aktualisierte Auflage 2007
  Coulouris, Dollimore, Kindberg: Verteilte Systeme. Konzepte und Design, Pearsson Studium, 3. überarbeitetet Auflage, 2005
  G. Bengel: Verteilte Systeme, Vieweg, 3 Auflage, 2004 *Nicht sehr Nützlich*
  Langendörfer/Schnor: Verteilte Systeme, Hanser Verlag, 1994
  Kenneneth P. Birman: Guide to Reliable Distributed Systems: Building High-Assurance Applications and Cloud-Hosted Services, Springer, 2012

Aufwand

Der Aufwand ist ähnlich zu GBR, der Anspruch aber etwas höher, da viel Netzwerkwissen angewendet werden muss. Es gibt wie in GBR 2-wöchige Hausaufgaben die in Teams (2 - 3 Leute, je nach Kursauslastung) abzugeben sind.

Klausur

Die Klausur ist gerecht und im Stil der Übungsaufgaben gehalten.

Fazit

Diese Vorlesung bietet einen guten Einstieg in die Rechnerkommunikation und Synchronisation im Netzwerk. Sie ist vom Anspruch als auch von der Tiefe her höher einzustufen als die Kurse Netzbasierte Datenverarbeitung und Netzbasierte Speichsersysteme beim Lehrstuhl Komplexe Multimediale Anwendungsarchitekturen.

Da diese Vorlesung aufgrund der aktuellen Umstellung von Bachelor Informatik → Bachelor Computational Science nur unregelmäßig gehalten wird, kann ich nur empfehlen sie zu hören sobald man GBR gehört hat, also ab dem 4. Semester.

Paralleles Rechnen

SWS: 2 Vorlesung + 1 Übung
LP: 6

(Alle 2 Wochen eine VL+Übung, ansonsten 2 VL pro Woche)

Inhalt

(Zitat Website des Lehrstuhls)

Waren Anfang des Jahrtausends parallele Systeme noch dem High-Performance-Computing (HPC) vorbehalten, so haben sie mit dem Hardware-Trend hin zu Multicoresytemen mittlerweile auch im Desktop-PC und Serverbereich Einzug gehalten. Um diese Hardwareplattformen optimal auszunutzen sind neue Programmierparadigmen, -sprachen und -werkzeuge notwendig.

Im HPC-Bereich hat die Vernetzung von Arbeitsplatzrechnern mittels leistungsfähiger Kommunikationstechnologien (z. B. Gigabit Ethernet, InfiniBand) zu einer preisgünstigen Plattform für parallele Anwendungen geführt – den sogenannten Clustern. Dabei handelt es sich heutzutage meist um hybride Systeme, d.h. um vernetzte Multicoresysteme. Ein weiterer aktueller Trend ist die Auslagerung rechenintensiver Anwendungen auf die Grafikkarte.

Die Vorlesung stellt die Konzepte der Parallelverarbeitung vor und legt ihren Schwerpunkt auf den Bereich Cluster Computing. Es werden sowohl Programmierparadigmen für Cluster Computing als auch Systemansätze zur Unterstützung paralleler Anwendungen in Clustern wie z.B. das Ressourcenmanagment besprochen.

Themen der Vorlesung:

  Parallelrechnerarchitekturen
  Programmiermodelle für parallele Anwendungen
  Programmiermodelle für Multicoresysteme: Beispiel POSIX-Threads, OpenMP
  Programmiermodelle für Cluster Computing: Beispiel MPI
  Scientific Computing: Beispiel: Fortran 90 und High Performance Fortran
  Programmiermodelle für Grafikkarten: CUDA, OpenCL, OpenACC
  Graphenbasierte Modellierung von Parallelen Programmen
  Leistungsanalyse von parallelen Anwendungen
  Clustertechnologie: Netzwerke, High-Performance Computing 

Nützliche Grundlagen

Grundlagen Betriebsysteme und Rechnernetze

Fundierte Kentnisse mit UNIX / Linux Systemen (Kommandozeile)

Man sollte C beherrschen und den GCC-Kompiler bedienen können. Weiterhin sind die Kenntnisse aus GBR sehr hilfreich.

Literatur

  Michael J. Quinn: Parallel Programming, Mcgraw-Hill Higher Education, 2004.
  Peter Sanders, Thomas Worsch: Parallele Programmierung mit MPI, Logos Verlag, 1997.
  Ian Foster: Designing and Building Parallel Programs, Addison Wesley, 1995.
  Hwang/Xu: Scalable Parallel Computing: Technology, Architecture, Programming, Boston, WCB/McGraw-Hill, 1998.
  Jakub Kurzak, David A. Bader, Jack Dongarra (Eds): Scientific Computing with Multicore and Accelerators, CRC Press Taylor & Francis Group

Aufwand

Der Aufwand ist ähnlich zu GBR, der Anspruch aber etwas höher, da viel Netzwerkwissen angewendet werden muss. Es gibt wie in GBR 2-wöchige Hausaufgaben die in Teams (2 - 3 Leute, je nach Kursauslastung) abzugeben sind.

Klausur

Die Klausur ist gerecht und im Stil der Übungsaufgaben gehalten.

Altklausuren

Fazit

Diese Vorlesung bietet einen guten Einstieg Cluster Computing und Multicore-Systeme, sowie die passenden Programmier-Paradigmen. Sie ist vom Anspruch als auch von der Tiefe her höher einzustufen als die Kurse Netzbasierte Datenverarbeitung und Netzbasierte Speichsersysteme beim Lehrstuhl Komplexe Multimediale Anwendungsarchitekturen.

Da diese Vorlesung aufgrund der aktuellen Umstellung von Bachelor Informatik → Bachelor Computational Science nur unregelmäßig gehalten wird, kann ich nur empfehlen sie zu hören sobald man GBR gehört hat, also ab dem 4. Semester.

Sicherheit in Rechnernetzen

SWS: 2 Vorlesung + 1 Übung
LP: 6

(Alle 2 Wochen eine VL+Übung, ansonsten 2 VL pro Woche)

Inhalt

(Zitat Website des Lehrstuhls)

  Risiken des Internet
      Denial-of-Service
      Portscanning
      Spoofing,
      Sniffing
      spezielle Protokollfehler
      Trojanische Pferde
      Viren
      Würmer
  Kryptographische Verfahre
      Symmetrische/Asymmetrische Verschlüsselungsverfahren
      Beispiele: DES, AES, IDEA, RSA
      Hashfunktionen und digitale Signaturen
      Kryptographische Prüfsummen (Message Digest)
      International Data Encryption Algorithm (IDEA)
  Authentizifierungsprotokolle und Schlüsselverteilung
      Kerberos
      Diffie-Hellman Key Exchange Algorithm
      BAN-Logik
  Sichere Internetprotokolle
      Pretty Good Privacy (PGP)
      Secure Socket Layer (SSL)
      Transport Layer Security (TLS)
      Secure Shell (SSH)
      IP Security (IPsec)
      Internet Key Exchange (IKE)
      DNS Security (DNSsec)
  Firewalls
      Bestandteile einer Firewall
      Architekturen
      Protokollierung
      Konfiguration einer Firewall
  Privacy
  Web Service Security

Nützliche Grundlagen

Grundlagen Betriebsysteme und Rechnernetze

Fundierte Kenntnisse in UNIX / Linux (Kommandozeile)

Man sollte C beherrschen, bzw. mit der C-Syntax klarkommen und den GCC-Kompiler bedienen können. Weiterhin sind die Kenntnisse aus GBR sehr hilfreich.

Literatur

  • Claudia Eckert: IT-Sicherheit: Konzepte, Verfahren, Protokolle, 6. überarbeitete Auflage, R. Oldenbourg Verlag, 2009.
  • William Stallings: Network Security Essentials: Applications and Standards, 4th revised edition, Prentice Hall, 2010.
  • W. R. Cheswick, S. M. Bellovin: Firewalls und Sicherheit im Internet, 2. aktualis. Auflage, Addison Wesley, 2007.

Aufwand

Der Aufwand ist ähnlich zu GBR, der Anspruch aber höher. Es gibt wie in GBR 2-wöchige Hausaufgaben die in Teams (2 - 3 Leute, je nach Kursauslastung) abzugeben sind.

Klausur

Die Klausur ist gerecht und im Stil der Übungsaufgaben gehalten.

Fazit

Diese Vorlesung bietet einen guten Einstieg in die Sicherheitsthematik und wird auch immer wieder durch aktuelle Informationen und Ereignisse ergänzt.

Da diese Vorlesung aufgrund der aktuellen Umstellung von Bachelor Informatik → Bachelor Computational Science nur unregelmäßig gehalten wird, kann ich nur empfehlen sie zu hören sobald man GBR und Verteilte Systeme gehört hat, also ab dem 5. Semester.

studium/kurse/bsvs.txt · Zuletzt geändert: 2014/06/03 08:46 von jsohre
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0