Vorlesung 9.1: Erinnerung Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.

Slides:



Advertisements
Ähnliche Präsentationen
Zusammenarbeit ‚Schule – Universität‘ Welche Möglichkeiten optimaler und langfristiger Zusammenarbeit zwischen Schule und Universität gibt es? Prof. Dr.
Advertisements

Das Lehrgebiet „Software Engineering“
Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.
Kolloquium Verabschiedung von Prof. Dr. Hans-Dieter Ehrich
LTL - Modellüberprüfung
Rechnernetze und verteilte Systeme (BSRvS II)
Modellbasierte Software-Entwicklung eingebetteter Systeme
Der Arbeitskreis Flexible service- und prozessorientierte Informationssysteme Universität Innsbruck, 28. Juli 2008.
Peter Marwedel Informatik 12
Fakultät für informatik informatik 12 technische universität dortmund Die Speicherhierarchie - Hauptspeicher - Peter Marwedel Informatik 12 TU Dortmund.
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
WS 2009/10 1 Vorlesung Systeme 1. WS 2009/10 2 Vorlesung Systeme 1 Lehrstuhl für Kommunikationssysteme Prof. Gerhard Schneider
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Modularisierung der Bachelor-Studiengänge im Studiendekanat E 9. Jan Studiengangskoordinatoren und wissenschaftliche Mitarbeiter des Studiendekanates.
Modularisierung der Bachelor-Studiengänge im Studiendekanat E 29. November 2012 Studiengangskoordinatoren und wissenschaftliche Mitarbeiter des Studiendekanates.
Einführung in die Wirtschaftsinformatik
Universität zu Köln IT – Zertifikat der Philosophischen Fakultät / Blockseminar Allgemeine Technologien II mit Patrick Sahle M. A. Online-Datenbanken am.
1 · Universität Oldenburg · Fakultät II – Department für Informatik · Abteilung Informationssysteme · Escherweg 2 · Oldenburg.
Technische Informatik I
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 4: Memory Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Technische Informatik I
Technische Informatik II Vorlesung 11: Netze Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Technische Informatik 1 Vorlesung 1: Speicherelemente Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Technische Informatik I
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Technische Informatik II Rechnerarchitektur und Betriebssysteme Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter.
Technische Informatik 1 Vorlesung 1: Überblick Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Technische Informatik II Vorlesung 12bis: Mehr über Security Sommersemester 2001 Prof. Peter B. Ladkin PhD Universität Bielefeld.
Vorlesung 9.1: Erinnerung Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5 Interrupts Peter B. Ladkin
1 Vorlesung 14 Mehr über Security Peter B. Ladkin Sommersemester 2001.
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Netze Vorlesung 11 Peter B. Ladkin
Trends der Rechtsinformatik 1. Teil Was ist Rechts-Informatik? 20./21. Oktober 2009 und 12./13. Jänner 2010 Univ.-Prof. Dr. Friedrich Lachmayer Vorlesung.
Programmierung verteilter Systeme Institut für Informatik Universität Augsburg Augsburg Tel.: Fax: Web:
Universität Karlsruhe (TH) © 2006 Univ,Karlsruhe, IPD, Prof. Lockemann/Prof. BöhmTAV 0 Transaktionsverwaltung Einführung.
Betriebssysteme, Rechnernetze und verteilte Systeme I (BSRvS 1)
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
1 25 Jahre Informatik in Koblenz Veranstaltungen am Nachmittag Studiengänge Laborpräsentationen.
Folie 1 Titel Markus Mustermann Agenda Markus Mustermann Studiengang KT98 U12345 WS 2001/2002 Vorlesung Optische AVT Titel.
Simulation komplexer technischer Anlagen
Computer Networks Group Universität Paderborn Studieren bei ESS – Eingebettete Systeme und Systemsoftware II. Studienabschnitt Frey/Karl/Platzner/Plessl/Rammig/Sorge.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester 2007/08.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Komponenten eines Informationssystems
Verteilte Systeme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Verteilte Systeme Entwicklung.
Jede/r hat mit Personal zu tun! Nutzen… Jede/r hat mit Personal zu tun! Jede/r ist Personal! Führungskräfte Personalabteilung Personalberatung.
Peter Haber & Jan Hodel: Geschichte online? Peter Haber & Jan Hodel Geschichte online? Proseminar zur Einführung Wintersemester 2003/2004 Historisches.
Technische Informatik II
Technische Informatik II
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken III Christian Schindelhauer
Peer-to-Peer-Netzwerke
Arbeitsbereich „Rechnernetze und verteilte Systeme“
Wahlfach MaReCuM.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Universitätsbibliothek technische universität dortmund Studierendenbefragung 2008 Vom bis zum hatten Studierende der Technischen Universität.
Dr.-Ing. R. Marklein - GET I - WS 06/07 - V Grundlagen der Elektrotechnik I (GET I) Vorlesung am Fr. 08:30-10:00 Uhr; R (Hörsaal)
CLIC Closed-Loop Integration of Cognition, Communication and Control FIT-IT Embedded Systems Call 8 Projektpartner (1) TTTech Computertechnik AG (Koordinator)
1 Technische Informatik II Rechnerarchitektur und Betriebssysteme Peter B. Ladkin
1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin
Fakultät für informatik informatik 12 technische universität dortmund Lab 2: Heterogeneous System Modeling in Ptolemy - Session 6 - Peter Marwedel Heiko.
 Präsentation transkript:

Vorlesung 9.1: Erinnerung Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester 2001/2002

Technische Informatik II 2 Prozess Synchronizierung Puzzle I Process 1: (x: integer) begin x <- 0; x <- x+1; stop; end Process 2: (x: integer) begin read x; stop; end Was ist der gelesene Wert von x, wenn diese Programme concurrent laufen?

Wintersemester 2001/2002Technische Informatik II 3 Prozess Synchnozierung Puzzle 2 Prozess 1: (x: integer) begin x <- 0; x <- x+1; stop; end Prozess 2: (x,y: integer) begin y <- 0; y <- x+1; stop; end Voraussetzung: Memory Platz x ist dergleiche als Memory Platz y Werte von x, y an Ende?

Wintersemester 2001/2002Technische Informatik II 4 Prozess Synchronizierung Puzzle 3 Wert von der Variabel z ist 1, falls es existieren 20 Blöcke freiverfügbarem Speicher;...ist 2, falls es...< 20 Blöcke.... Wert von z ist 1 Prozess 1 braucht 15 Blöcke, Prozess 2 auch Beide lesen z gleichzeitig Was passiert?

Wintersemester 2001/2002Technische Informatik II 5 Prozess Synchronizierung Puzzle 4 Programm 1 und Programm 2 lesen Variabel turn turn könnte von Programm 3 geschrieben werden turn hat 3 Bits turn = 001 bedeutet, Prog 1 kann den Drucker benutzen Turn = 101 bedeutet, Prog

Wintersemester 2001/2002Technische Informatik II 6

Wintersemester 2001/2002Technische Informatik II 7 Puzzle 4: Lösung Sicherstellen, dass nur ein Prozess Anschluss an die Variabel zu einer Zeit hat Dies heisst: mutex (mutual exclusion) Problemlösung stammt von Edsger Dijkstra Turing-Preissieger, Designer des THE Betriebssystemes (Eindhoven, 1968)

Wintersemester 2001/2002Technische Informatik II 8 Semaphore Vorteil: mutex sichergestellt Nachteil: ineffizient Allerdings muss man nur sicherstellen, dass nicht gelesen wird wenn geschrieben wird P1 und P2 könnten ohne Gefahr gleichzeitig lesen; nur wenn und dass P3 nicht schreibt

Wintersemester 2001/2002Technische Informatik II 9 Semaphore: Übung Wie kann die effizientere Lösung mit Hilfe von Semaphoren implementiert werden? Wie könnten Semaphoren mit Hilfe von Interrupt-Masking programmiert werden?

Wintersemester 2001/2002Technische Informatik II 10 Semaphoren Alle Prozessen können gleichzeitig versuchen, den Semaphor zu holen Nur ein Prozess könnte den Semaphore "bekommen" Die anderen müssen warten (z.B. auf eine Warteschlange) bis der Prozess fertig ist Was passiert, wenn der Prozess scheitert?

Wintersemester 2001/2002Technische Informatik II 11 Semaphoren Technische ausgesehen ist ein Semaphor ein Shared Variable, deren Anschluss kontrolliert ist Zwei Operationen nur: holen und freigeben Ein Interlock, der verhindert, dass ein Prozess in seinen Critical Section hineingeht, wenn der Semaphor schon gesetzt wird

Wintersemester 2001/2002Technische Informatik II 12 Semaphoren Wie ein einziges Bit Gesetzt: P ("passeren") Freigegeben: V ("vrijgeven") Nur ein Prozess kann zu einem Zeitpunkt eine Operation ausführen Andere sind blockiert bis V(S) ausgeführt wird d.h., P und V sind atomäre Operationen (atomic Operationen)

Wintersemester 2001/2002Technische Informatik II 13 Semaphoren Semaphoren und andere atomäre Operationen werden normalerweise im Betriebssystem implementiert

Wintersemester 2001/2002Technische Informatik II 14 Einfache Mutex Mask(Interrupts); Critical Section; Unmask(Interrupts) Ineffizient z.B., P1 und P2 möchten Drucker1 benutzen P3 und P4 möchten Drucker2 benutzen P1 muss nur P2 ausschliessen, P2 nur P1, P3 nur P4, und P4 nur P3 P1 könnte gegen P3 ausgetauscht werden, usw

Wintersemester 2001/2002Technische Informatik II 15 Programmierung mit Semaphoren var integer x,y = 0; semaphore sem = 1; cobegin loop P(sem); CS1; V(sem) endloop [] loop P(sem); CS2; V(sem) endloop coend

Wintersemester 2001/2002Technische Informatik II 16 Notation cobegin.... [] coend Die zwei Hälfte laufen gleichzeitig Es könnte mehrere Klausel geben cobegin... []... []... coend Notation von Dijkstra Prozedurale Sprache - man könnte die Zustände des Programms nicht beschreiben

Vorlesung 9.2: Specification Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester 2001/2002

Technische Informatik II 18 Beschriebung eines Prozesses Um den Lauf eines Prozesses bzw. einiger nebenläufigen Prozessen darzustellen, braucht man Eine Beschreibung der nacheinanderfolgenden Zuständen Eine Beschreibung der Operationen, die innerhalb eines Prozesses nacheinander folgen oder, die unter den nebenläufigen Prozessen teilweise gleichzeitig, teilweise nacheinander laufen

Wintersemester 2001/2002Technische Informatik II 19

Wintersemester 2001/2002Technische Informatik II 20 Zustände 1. Zustand: = (Bit 0 ist 0; Bit 1 ist 0; Bit 11 ist 0) 2. Zust. = 3. Zust. = 4. Zust. = 5. Zust. = 6 Zust. = 7. Zust. = (B0 ist 1; B1 ist 0; B11 ist 0) 8. Zust. = 9. Zust. = 10. Zust. = (B0 ist 1; B2 ist 0; B11 ist 1)

Wintersemester 2001/2002Technische Informatik II 21 Mehr über Zustände Nicht nur Wert von Bits, sondern auch Position der von P1, P2, P3 ausgeführte Befehle; also das Program Counter (PC1, PC2, PC3)

Wintersemester 2001/2002Technische Informatik II 22 Zustände Also gibt es 6 Programm-Variablen B0, B1, B11 PC1, PC2, PC3 Jeder Zustand unterscheidet sich von den anderen über den gemeinsamen Wert der Reihe von Programm-Variablen Dies muss nicht unbedingt sein; Zustände könnten im allgemein wiederholt werden

Wintersemester 2001/2002Technische Informatik II 23 Wert(en) der Programm-Variablen {,,,,, } Menge von Paaren Funktion mit Argumenten = Variabel-Namen und Werte = die Werte von den Variablen in dem Zustand Array mit Indizien = Variabel-Namen und Werte = die Werte von den Variablen

Wintersemester 2001/2002Technische Informatik II 24 Alles umbenennen Variablen-Namen: Fluents Werte: die Werte Werte sind alle reine Mengen, genau wie in der Mathematik (aber Zahlen schrieben wir sowieso wie in der Mathematik) Also unterscheiden sich mathematischen Variablen (unbestimmte Werte) von Fluents (Programm-Variablen)

Wintersemester 2001/2002Technische Informatik II 25 Programmlauf

Wintersemester 2001/2002Technische Informatik II 26 Programmlauf anders'rum

Wintersemester 2001/2002Technische Informatik II 27 Wie ein Programm laufen kann

Wintersemester 2001/2002Technische Informatik II 28 Wie ein Programm laufen kann Wird exponentiell gross, wenn so bezeichnet wie dargestellt Wir müssen eine Methode benutzen, die die entsprechenden Eigenschaften aller (oder genügender) "nächsten Zustände" gleichzeitig beschreiben kann

Wintersemester 2001/2002Technische Informatik II 29 Dijkstra's Notation Var integer x,y = 0; loop cobegin x <- x+1 [] y <- y+1 coend endloop

Wintersemester 2001/2002Technische Informatik II 30 Zustand-Operation Notation

Wintersemester 2001/2002Technische Informatik II 31 Zustand-Operation Notation Actions (individuelle Zustandsänderungen) sind binäre Relationen zwischen Zuständen Eine Relation ist eine Menge von geordneten Paaren Die Operation x <- x+1 ist die Operation, in der die Wert von x im Nachfogerzustand ist gleich dem Wert von x im Vorgängerzustand + 1 Wir schreiben x' = x+1 statt x <- x+1

Wintersemester 2001/2002Technische Informatik II 32 Übung: Datenstrukturennotation Wie sieht ein Zustand dieses Programmes als Menge aus? Wie sieht die Operation M1 als Menge aus? Wie sieht die Operation M2 als Menge aus? Wie sieht die Operation NoOp als Menge aus?

Wintersemester 2001/2002Technische Informatik II 33 Zustand-Operation Notation Also, var integer x,y = 0; loop cobegin x' = x+1 y' = y [] y' = y+1 x' = x coend endloop

Wintersemester 2001/2002Technische Informatik II 34 Zustand-Operation Notation Oder var integer loop cobegin M1 [] M2 coend endloop

Wintersemester 2001/2002Technische Informatik II 35 Zustand-Operation Notation Oder Auf jedem Programmschritt: M1 M2 wird aufgeführt d.h., immer: M1 M2 d.h., ( M1 M2)

Wintersemester 2001/2002Technische Informatik II 36 Zustand-Operation Notation

Wintersemester 2001/2002Technische Informatik II 37 Zustand-Operation Notation Allerdings: x = 0 y = 0 ( x' = x+1 y' = y y' = y+1 x' = x NoOp )

Wintersemester 2001/2002Technische Informatik II 38 Zustand-Operation Notation Beschreibt wie das Programm startet, und Was passiert bei jeder Action (entweder gar nichts, oder x inkrementiert und y bleibt, oder andersherum) Pure Logik- und Mathe-Notation Mit ' und

Wintersemester 2001/2002Technische Informatik II 39 Lösung NichtLesen :== PC1' = PC1 PC2' = PC2 PC1 = B0 PC2 = B0

Wintersemester 2001/2002Technische Informatik II 40 Lösung PC1-Lesen :== PC1'= PC1 B0' = B0 B1' = B1 B11' = B11 PC3 = B0 PC3' = B0

Wintersemester 2001/2002Technische Informatik II 41 Lösung PC2-Lesen :== PC2'= PC2 B0' = B0 B1' = B1 B11' = B11 PC3 = B0 PC3' = B0

Wintersemester 2001/2002Technische Informatik II 42 Lösung NoOp :== B0' = B0 B1' = B1 B11' = B11 PC1' = PC1 PC2' = PC2 PC3' = PC3

Wintersemester 2001/2002Technische Informatik II 43 Lösung Schreiben :== PC3 = B0 PC3' = B1 B1' = B1 B11' = B11 PC3 = B1 PC3' = B11 B0' = B0 B11' = B11 NächsterTeil

Wintersemester 2001/2002Technische Informatik II 44 Lösung NächsterTeil :== PC3 = B11 PC3' = B0 B0' = B0 B1' = B1

Wintersemester 2001/2002Technische Informatik II 45 Lösung: Das Programm MutexSchreiben :== Schreiben NichtLesen Program :== B0 = B1 = B11 = 0 Mutexschreiben P1-Lesen P2-Lesen NoOp )