UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 

Nebenläufige Systeme (CS)5 ECTS
(englische Bezeichnung: Concurrent Systems)

Modulverantwortliche/r: Wolfgang Schröder-Preikschat
Lehrende: Wolfgang Schröder-Preikschat


Startsemester: WS 2018/2019Dauer: 1 SemesterTurnus: jährlich (WS)
Präsenzzeit: 60 Std.Eigenstudium: 90 Std.Sprache: Deutsch oder Englisch

Lehrveranstaltungen:


Empfohlene Voraussetzungen:

Prerequisite are hard skills (i.e., computer-science expertise) on structured computer organisation, algorithm design and development, and principles of programming in C or C++. These skills are mandatory, knowledge gaps will not be closed in the class. Further, but optional, hard skills are assembly language programming, system programming, and operating systems. As appropriate, knowledge gaps will be closed on demand by the instructors.

Inhalt:

The module imparts knowledge on concurrent systems from a systems programming point of view, especially operating systems. In a more general term, subject matter are software systems that allow for several simultaneous computations, potentially interacting with each other. Commonalities and differences of concurrence in a program flow due to multiplication (real parallelism, multi/many-core processors) or multiplexing (pseudo parallelism, partial virtualisation) of hardware processing units are covered. Thematic priority is the coordination of cooperation and concurrency between interacting (i.e., control- or data-flow dependent) processes with emphasis on explicit synchronisation. Objective is to establish understanding of different synchronisation paradigms, namely blocking and non-blocking synchronisation, and sense and sensibility of the pros and cons of the various approaches according to these paradigms.

Lernziele und Kompetenzen:

Students who successfully concluded the module:

  • understand fundamentals and dimensions of concurrency (causality, interdependencies),

  • classify characteristics of processes (sequential vs. non-sequential, concurrent, simultaneous, interacting) against the background of resource classes and sharing,

  • evaluate situations of contention, race conditions and how to manage them in systems software,

  • interpret data races (non-repeatable read, inconsistent read, dirty read, lost update) and control-flow races (lost wake-up, time-of-check to time-of-use),

  • implement elementary methods of multilateral synchronisation (blocking synchronisation/mutual exclusion, non-blocking synchronisation) and unilateral synchronisation (condition variable),

  • describe pessimistic methods for the implementation of critical sections (blocking synchronisation: lock, semaphore, mutex),

  • develop optimistic methods for safeguarding interacting processes in systems software (non-blocking synchronisation: lock-free, wait-free),

  • distinguish the use of atomic read-modify-write instructions such as TAS, FAS, FAA, CAS, and LL/SC, and

  • discuss hardware-supported concepts, such as transactional memory.


Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:
Das Modul ist im Kontext der folgenden Studienfächer/Vertiefungsrichtungen verwendbar:

  1. Advanced Signal Processing & Communications Engineering (Master of Science)
    (Po-Vers. 2016w | TechFak | Advanced Signal Processing & Communications Engineering (Master of Science) | Gesamtkonto | Wahlmodule | Technical Electives)
  2. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. 2010 | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Vertiefung Informatik I und II | Vertiefungsmodul Verteilte Systeme und Betriebssysteme)
  3. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. 2013 | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Vertiefung Informatik I und II | Vertiefungsmodul Verteilte Systeme und Betriebssysteme)
  4. Informatik (Bachelor of Science): 5-6. Semester
    (Po-Vers. 2009s | TechFak | Informatik (Bachelor of Science) | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme)
  5. Informatik (Bachelor of Science): 5-6. Semester
    (Po-Vers. 2009w | TechFak | Informatik (Bachelor of Science) | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme)
  6. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Wahlpflichtbereich | Säule der systemorientierten Vertiefungsrichtungen | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme)
  7. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Wahlpflichtbereich | Säule der anwendungsorientierten Vertiefungsrichtungen | Vertiefungsrichtung Graphische Datenverarbeitung)
  8. Mathematik (Bachelor of Science)
    (Po-Vers. 2015w | NatFak | Mathematik (Bachelor of Science) | Module des Nebenfachs | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsrichtung Verteilte Systeme und Betriebssysteme)

Studien-/Prüfungsleistungen:

Nebenläufige Systeme (Prüfungsnummer: 554695)

(englischer Titel: Concurrent Systems)

Prüfungsleistung, mehrteilige Prüfung, benotet
Anteil an der Berechnung der Modulnote: 100.0 %
weitere Erläuterungen:
20-minütige mündliche Prüfung + erfolgreiche Bearbeitung aller Übungsaufgaben

Erstablegung: WS 2018/2019, 1. Wdh.: SS 2019
1. Prüfer: Wolfgang Schröder-Preikschat

UnivIS ist ein Produkt der Config eG, Buckenhof