SlideShare ist ein Scribd-Unternehmen logo
1 von 40
CIR CYBER- UND
INFORMATIONSRAUM
Informationstechnik (2. Schuljahr)
Profilwahlrichtung -3-
Kollaborationssoftware
- Öffentlich - Folie 1
- D E A D L O C K S -
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraph
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 2
CIR CYBER- UND
INFORMATIONSRAUM
Wiederholung (1)
- Öffentlich - Folie 3
KollabSw
CIR CYBER- UND
INFORMATIONSRAUM
Wiederholung (2)
• Prozesse in einem Rechner arbeiten
nebenläufig ( Systemmodell)
• Grundidee ist das passive Warten
• Wartemechanismen führen zu
Verklemmungsproblemen
Verklemmung = Deadlock
- Öffentlich - Folie 4
CIR CYBER- UND
INFORMATIONSRAUM
„Systemmodell“
• betrachten wir ein System mit einer festen
Menge von Ressourcen, die unter gegenseitigem
Ausschluss von konkurrierenden Prozessen
genutzt werden.
• jeder Prozess
– reserviert eine Ressource, wartet dabei ggf., bis sie
frei wird
– nutzt die Ressource
– gibt die Ressource wieder frei
- Öffentlich - Folie 5
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraph
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 6
CIR CYBER- UND
INFORMATIONSRAUM
Beispiele (1)
- Öffentlich - Folie 7
CIR CYBER- UND
INFORMATIONSRAUM
Beispiele (2)
„Problem
der
dinierenden
Philosophen“
- Öffentlich - Folie 8
CIR CYBER- UND
INFORMATIONSRAUM
Beispiele (3)
Progress of Q
- Öffentlich - Folie 9
Progress
of P
B Required
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraph
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 10
CIR CYBER- UND
INFORMATIONSRAUM
Verklemmung von Prozessen
• der Begriff bezeichnet (in der Informatik)
- Öffentlich - Folie 11
„ […] einen Zustand, in dem die beteiligten Prozesse
wechselseitig auf den Eintritt von Bedingungen warten, die nur
durch andere Prozesse in dieser Gruppe selbst hergestellt
werden können.“
Jürgen Nehmer und Peter Sturm
Systemsoftware: Grundlagen moderner Betriebssysteme
dpunkt Verlag GmbH, zweite Ausgabe, 2001
CIR CYBER- UND
INFORMATIONSRAUM
Bedingungen für eine Verklemmung (1)
• damit es zu einer Verklemmung kommen kann,
müssen alle folgenden Bedingungen erfüllt sein:
1. exklusive Belegung von Betriebsmitteln („mutual exclusion“)
- die umstrittenen Betriebsmittel sind nur unteilbar nutzbar
2. Nachforderung von Betriebsmitteln („hold and wait“)
- die umstrittenen Betriebsmittel werden erst nach der Nutzung
freigegeben
3. kein Entzug von Betriebsmitteln („no preemption“)
- die umstrittenen Betriebsmittel sind nicht rückforderbar
- Öffentlich - Folie 12
CIR CYBER- UND
INFORMATIONSRAUM
Bedingungen für eine Verklemmung (2)
• damit es zu einer Verklemmung kommen kann,
müssen alle folgenden Bedingungen erfüllt sein:
1. exklusive Belegung von Betriebsmitteln („mutual exclusion“)
2. Nachforderung von Betriebsmitteln („hold and wait“)
3. kein Entzug von Betriebsmitteln („no preemption“)
• erst wenn zur Laufzeit eine weitere Bedingung
eintritt, liegt tatsächlich eine Verklemmung vor:
4. zirkuläres Warten („circular wait“)
- eine geschlossene Kette wechselseitig wartender Prozesse
- mathematisch: es gibt eine Prozessmenge {P0, …, Pn}, so dass jeder
Pi auf eine Ressource wartet, die Pi+1 mod n reserviert hat
- Öffentlich - Folie 13
„notwendig“
„hinreichend“
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraph
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 14
CIR CYBER- UND
INFORMATIONSRAUM
Betriebsmittel …
• werden vom Betriebssystem verwaltet und den Prozessen
zugänglich gemacht. Man unterscheidet zwei Arten:
– wiederverwendbare Betriebsmittel
• werden von Prozessen für eine bestimmte Zeit belegt und anschließend
wieder freigegeben.
• Beispiele: CPU, Haupt- und Hintergrundspeicher, E/A-Geräte,
Systemdatenstrukturen wie Dateien, Prozesstabelleneinträge, ...
– konsumierbare Betriebsmittel
• werden im laufenden System erzeugt (produziert) und zerstört
(konsumiert)
• Beispiele: Unterbrechungsanforderungen, Signale, Nachrichten, Daten
von Eingabegeräten
- Öffentlich - Folie 15
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraph
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 16
CIR CYBER- UND
INFORMATIONSRAUM
Betriebsmittelbelegungsgraph (1)
(engl. resource allocation graph)
• ... wird benutzt, um Verklemmungssituationen zu
visualisieren und auch automatisch zu erkennen
– beschreiben einen aktuellen Systemzustand
– die Knoten sind Prozesse und Betriebsmittel
– die Kanten zeigen eine Belegung oder eine Anforderung an
Betriebsmittel B1 wird durch Prozess P2 belegt
Prozess P1 angefordert das Betriebsmittel B2
- Öffentlich - Folie 17
CIR CYBER- UND
INFORMATIONSRAUM
Betriebsmittelbelegungsgraph (2)
• Frage: Liegt zirkuläres Warten vor? Wer ist beteiligt?
– Es gibt 7 Prozesse A bis G und 6 Betriebsmittel R bis W
• aktueller Zustand:
– A belegt R und verlangt S
– B belegt nichts, verlangt aber T
– C belegt nichts, verlangt aber S
– D belegt U und S und verlangt T
– E belegt T und verlangt V
– F belegt W und verlangt S
– G belegt V und verlangt U
- Öffentlich - Folie 18
CIR CYBER- UND
INFORMATIONSRAUM
Betriebsmittelbelegungsgraph (3)
- Öffentlich - Folie 19
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraphen
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 20
CIR CYBER- UND
INFORMATIONSRAUM
Vorbeugung
(engl. deadlock prevention)
• indirekte Methoden entkräften eine der Bedingungen 1–3
1. nicht-blockierende Verfahren verwenden
2. Betriebsmittelanforderungen unteilbar (atomar) auslegen
3. Betriebsmittelentzug durch Virtualisierung ermöglichen - virtueller Speicher,
virtuelle Geräte, virtuelle Prozessoren
• direkte Methoden entkräften Bedingung 4
4. lineare/ totale Ordnung von Betriebsmittelklassen einführen:
- Betriebsmittel Bi ist nur dann erfolgreich vor Bj belegbar,
wenn i linear vor j angeordnet ist (d.h. i < j).
= Regeln, die das Eintreten von Verklemmungen verhindern ODER Methoden,
die zur Entwurfs- bzw. Implementierungszeit greifen
- Öffentlich - Folie 21
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraphen
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 22
CIR CYBER- UND
INFORMATIONSRAUM
Vermeidung
(engl. deadlock avoidance)
• Verhinderung von zirkulärem Warten (im laufenden System) durch
strategische Maßnahmen:
– keine der ersten drei notwendigen Bedingungen wird entkräftet
– fortlaufende Bedarfsanalyse schließt zirkuläres Warten aus
• Prozesse und ihre Betriebsmittelanforderungen sind zu steuern:
– zu jeder Zeit muss mindestens ein Prozess seinen maximalen
Betriebsmittelbedarf decken können → „sicherer Zustand“
– das System wird (laufend) auf „unsichere Zustände“ hin überprüft
- Zuteilungsablehnung im Falle nicht abgedeckten Betriebsmittelbedarfs
- anfordernde Prozesse nicht bedienen bzw. frühzeitig suspendieren
• À priori Wissen über den maximalen Betriebsmittelbedarf ist erforderlich.
- Öffentlich - Folie 23
CIR CYBER- UND
INFORMATIONSRAUM
Sicherer/ unsicherer Zustand
(am Beispiel der speisenden Philosophen)
• Ausgangspunkt: fünf Gabeln sind insgesamt
vorhanden
– jeder der fünf Philosophen braucht zwei Gabeln zum Essen
• Situation: P0 , P1 und P2 haben je eine Gabel und
zwei Gabeln sind frei
– P3 fordert eine Gabel an → eine Gabel wäre dann noch frei
• sicherer Zustand: einer von drei Philosophen könnte essen
– die Anforderung von P3 wird akzeptiert
– P4 fordert eine Gabel an → keine Gabel wäre dann mehr frei
• unsicherer Zustand: keiner der Philosophen könnte essen
• die Anforderung von P4 wird abgelehnt, P4 muss warten
– haben vier Philosophen je eine Gabel, wird der fünfte gestoppt
- Öffentlich - Folie 24
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraphen
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 25
CIR CYBER- UND
INFORMATIONSRAUM
Erkennung …
(engl. deadlock detection)
• Verklemmungen werden (stillschweigend) in Kauf genommen („Vogel-Strauß-
Algorithmus“) ...
– Nichts im System verhindert das Auftreten von Wartezyklen
– keine der vier Bedingungen wird entkräftet
• Ansatz: Wartegraph erstellen und auf Zyklen hin untersuchen
– zu häufige Űberprüfung verschwendet Betriebsmittel/ Rechenleistung
– zu seltene Űberprüfung lässt Betriebsmittel brach liegen
• Zyklensuche geschieht zumeist in großen Zeitabständen, wenn …
– Betriebsmittelanforderungen zu lange andauern
– die Auslastung der CPU trotz Prozesszunahme sinkt
– die CPU bereits über einen sehr langen Zeitraum untätig ist
- Öffentlich - Folie 26
CIR CYBER- UND
INFORMATIONSRAUM
… & Auflösung
• Erholungsphase nach der Erkennungsphase
• Prozesse abbrechen und dadurch Betriebsmittel frei bekommen
– verklemmte Prozesse schrittweise abbrechen (großer Aufwand)
• mit dem „effektivsten Opfer“ (?) beginnen
– alle verklemmten Prozesse terminieren (großer Schaden)
• Betriebsmittel entziehen und mit dem „effektivsten Opfer“ (?) beginnen
– betreffenden Prozess zurückfahren bzw. wieder aufsetzen
• Transaktionen, checkpointing/ recovery (großer Aufwand)
– ein Aushungern („starvation“) der zurückgefahrenen Prozesse ist zu vermeiden
• IMMER eine Gratwanderung zwischen Schaden und Aufwand:
– Schäden sind unvermeidbar und die Frage ist, wie sie sich auswirken
- Öffentlich - Folie 27
CIR CYBER- UND
INFORMATIONSRAUM
Gliederung
• Wiederholung
• Beispiele
• Verklemmungen von Prozessen
– konsumierbare und nicht-konsumierbare Betriebsmittel
– Modellierung durch Betriebsmittelbelegungsgraphen
• Gegenmaßnahmen, Verklemmungsbekämpfung
– Vorbeugung
– Vermeidung
– Erkennung und Auflösung
– Diskussion
- Öffentlich - Folie 28
CIR CYBER- UND
INFORMATIONSRAUM
Diskussion
• Verfahren zum Vermeiden/ Erkennen sind im Betriebssystemkontext
weniger praxisrelevant
– sie sind kaum umzusetzen, zu aufwändig und damit nicht einsetzbar
• Verklemmungsgefahr ist lösbar durch Virtualisierung von Betriebsmitteln
– Prozesse beanspruchen/ belegen ausschließlich logische Betriebsmittel
– hierbei wird den Prozessen in kritischen Momenten (ohne ihr „Wissen“) das
physische Betriebsmittel entzogen
– dadurch wird die Bedingung der Nichtentziehbarkeit entkräftet
➔ eher praxisrelevant/ verbreitet sind die Vorbeugungsmaßnahmen,
z.B die totale Ordnung von Betriebsmittelklassen!!!
- Öffentlich - Folie 29
CIR CYBER- UND
INFORMATIONSRAUM
Fragen
???
- Öffentlich - Folie 30
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (1)
Auf dem Bild ist ein Deadlock an einer Verkehrskreuzung gezeigt.
a. Zeigen Sie, dass alle 4 nötigen Bedingungen für ein Deadlock
erfüllt sind.
- Öffentlich - Folie 31
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (1)
Auf dem Bild ist ein Deadlock an einer Verkehrskreuzung gezeigt.
a. Zeigen Sie, dass alle 4 nötigen Bedingungen für ein Deadlock
erfüllt sind.
b. Überlegen Sie sich eine einfache Regel, wie Deadlocks in dieser
Situation vermieden werden können.
- Öffentlich - Folie 32
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (2)
Die Prozesse P, Q, R und S benötigen jeweils Ressourcen A, B, C und D.
Gegeben ist die folgende Situation:
· Prozess P hat A belegt und möchte B und C belegen.
· Prozess Q hat C belegt und möchte A belegen.
· Prozess R hat B belegt und möchte D belegen.
· Prozess S möchte A und B belegen.
a) Zeichnen Sie einen Betriebsmittelbelegungsgraphen der obigen Situation.
Befindet sich das System in einem Deadlock?
- Öffentlich - Folie 33
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (2)
- Öffentlich - Folie 34
D
SR
Q
P
C
B
A
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (2)
Die Prozesse P, Q, R und S benötigen jeweils Ressourcen A, B, C und D.
Gegeben ist die folgende Situation:
· Prozess P hat A belegt und möchte B und C belegen.
· Prozess Q hat C belegt und möchte A belegen.
· Prozess R hat B belegt und möchte D belegen.
· Prozess S möchte A und B belegen.
a) Zeichnen Sie einen Betriebsmittelbelegungsgraphen der obigen Situation.
Befindet sich das System in einem Deadlock?
b) Terminieren Sie Prozess Q und geben Sie alle von Q gehaltenen
Ressourcen frei. Wie entwickelt sich das System weiter? Entsteht dabei
ein Deadlock oder nicht?
- Öffentlich - Folie 35
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (2)
- Öffentlich - Folie 36
D
SR
P
C
B
A
???
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (3)
Gegeben sei das folgende System paralleler Prozesse (bzw. von
Threads innerhalb eines Prozesses); s1 bis s4 bezeichnen dabei
binäre Semaphore:
- Öffentlich - Folie 37
Prozess A Prozess B Prozess C Prozess D
while (1) {
s1.P();
s2.P();
work();
s2.V();
s1.V();
}
while (1) {
s1.P();
s3.P();
work();
s3.V();
s1.V();
}
while (1) {
s4.P();
s1.P();
work();
s1.V();
s4.V();
}
while (1) {
s3.P();
s4.P();
work();
s4.V();
s3.V();
}
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (3)
a) Welches ist die Maximalzahl von Prozessen, die sich gleichzeitig im
Zustand work() befinden können?
b) Was versteht man unter einem Deadlock? Erläutern Sie mit Bezug auf
obiges Beispiel die Bedingungen, die im Zusammenhang mit dem Auftreten
von Deadlocks stehen. Erklären Sie dabei auch den Begriff Prozess-
Betriebsmittel-Graph (BM-Belegungsgraph).
c) Ist das System verklemmungsfrei? Verwenden Sie zur Untersuchung der
Zyklus-Bedingung einen Prozess-Betriebsmittel-Graphen.
d) Welche Konsequenzen hat das Vertauschen
der beiden P-Operationen in Prozess A,
der beiden P-Operationen in Prozess B,
der beiden V-Operationen in Prozess B?
e) Geben Sie einen kurzen Überblick darüber, wie man dem Problem
„Verklemmungen“ begegnen kann.
- Öffentlich - Folie 38
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (3)
c)
- Öffentlich - Folie 39
2
CA
D
B
3
1
4
CIR CYBER- UND
INFORMATIONSRAUM
Übung – Deadlocks (3)
d)
- Öffentlich - Folie 40
2
CA
D
B
3
1
4

Weitere ähnliche Inhalte

Empfohlen

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

170925 ö sb deadlocks kollab sw (ä1)

  • 1. CIR CYBER- UND INFORMATIONSRAUM Informationstechnik (2. Schuljahr) Profilwahlrichtung -3- Kollaborationssoftware - Öffentlich - Folie 1 - D E A D L O C K S -
  • 2. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraph • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 2
  • 3. CIR CYBER- UND INFORMATIONSRAUM Wiederholung (1) - Öffentlich - Folie 3 KollabSw
  • 4. CIR CYBER- UND INFORMATIONSRAUM Wiederholung (2) • Prozesse in einem Rechner arbeiten nebenläufig ( Systemmodell) • Grundidee ist das passive Warten • Wartemechanismen führen zu Verklemmungsproblemen Verklemmung = Deadlock - Öffentlich - Folie 4
  • 5. CIR CYBER- UND INFORMATIONSRAUM „Systemmodell“ • betrachten wir ein System mit einer festen Menge von Ressourcen, die unter gegenseitigem Ausschluss von konkurrierenden Prozessen genutzt werden. • jeder Prozess – reserviert eine Ressource, wartet dabei ggf., bis sie frei wird – nutzt die Ressource – gibt die Ressource wieder frei - Öffentlich - Folie 5
  • 6. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraph • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 6
  • 7. CIR CYBER- UND INFORMATIONSRAUM Beispiele (1) - Öffentlich - Folie 7
  • 8. CIR CYBER- UND INFORMATIONSRAUM Beispiele (2) „Problem der dinierenden Philosophen“ - Öffentlich - Folie 8
  • 9. CIR CYBER- UND INFORMATIONSRAUM Beispiele (3) Progress of Q - Öffentlich - Folie 9 Progress of P B Required
  • 10. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraph • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 10
  • 11. CIR CYBER- UND INFORMATIONSRAUM Verklemmung von Prozessen • der Begriff bezeichnet (in der Informatik) - Öffentlich - Folie 11 „ […] einen Zustand, in dem die beteiligten Prozesse wechselseitig auf den Eintritt von Bedingungen warten, die nur durch andere Prozesse in dieser Gruppe selbst hergestellt werden können.“ Jürgen Nehmer und Peter Sturm Systemsoftware: Grundlagen moderner Betriebssysteme dpunkt Verlag GmbH, zweite Ausgabe, 2001
  • 12. CIR CYBER- UND INFORMATIONSRAUM Bedingungen für eine Verklemmung (1) • damit es zu einer Verklemmung kommen kann, müssen alle folgenden Bedingungen erfüllt sein: 1. exklusive Belegung von Betriebsmitteln („mutual exclusion“) - die umstrittenen Betriebsmittel sind nur unteilbar nutzbar 2. Nachforderung von Betriebsmitteln („hold and wait“) - die umstrittenen Betriebsmittel werden erst nach der Nutzung freigegeben 3. kein Entzug von Betriebsmitteln („no preemption“) - die umstrittenen Betriebsmittel sind nicht rückforderbar - Öffentlich - Folie 12
  • 13. CIR CYBER- UND INFORMATIONSRAUM Bedingungen für eine Verklemmung (2) • damit es zu einer Verklemmung kommen kann, müssen alle folgenden Bedingungen erfüllt sein: 1. exklusive Belegung von Betriebsmitteln („mutual exclusion“) 2. Nachforderung von Betriebsmitteln („hold and wait“) 3. kein Entzug von Betriebsmitteln („no preemption“) • erst wenn zur Laufzeit eine weitere Bedingung eintritt, liegt tatsächlich eine Verklemmung vor: 4. zirkuläres Warten („circular wait“) - eine geschlossene Kette wechselseitig wartender Prozesse - mathematisch: es gibt eine Prozessmenge {P0, …, Pn}, so dass jeder Pi auf eine Ressource wartet, die Pi+1 mod n reserviert hat - Öffentlich - Folie 13 „notwendig“ „hinreichend“
  • 14. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraph • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 14
  • 15. CIR CYBER- UND INFORMATIONSRAUM Betriebsmittel … • werden vom Betriebssystem verwaltet und den Prozessen zugänglich gemacht. Man unterscheidet zwei Arten: – wiederverwendbare Betriebsmittel • werden von Prozessen für eine bestimmte Zeit belegt und anschließend wieder freigegeben. • Beispiele: CPU, Haupt- und Hintergrundspeicher, E/A-Geräte, Systemdatenstrukturen wie Dateien, Prozesstabelleneinträge, ... – konsumierbare Betriebsmittel • werden im laufenden System erzeugt (produziert) und zerstört (konsumiert) • Beispiele: Unterbrechungsanforderungen, Signale, Nachrichten, Daten von Eingabegeräten - Öffentlich - Folie 15
  • 16. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraph • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 16
  • 17. CIR CYBER- UND INFORMATIONSRAUM Betriebsmittelbelegungsgraph (1) (engl. resource allocation graph) • ... wird benutzt, um Verklemmungssituationen zu visualisieren und auch automatisch zu erkennen – beschreiben einen aktuellen Systemzustand – die Knoten sind Prozesse und Betriebsmittel – die Kanten zeigen eine Belegung oder eine Anforderung an Betriebsmittel B1 wird durch Prozess P2 belegt Prozess P1 angefordert das Betriebsmittel B2 - Öffentlich - Folie 17
  • 18. CIR CYBER- UND INFORMATIONSRAUM Betriebsmittelbelegungsgraph (2) • Frage: Liegt zirkuläres Warten vor? Wer ist beteiligt? – Es gibt 7 Prozesse A bis G und 6 Betriebsmittel R bis W • aktueller Zustand: – A belegt R und verlangt S – B belegt nichts, verlangt aber T – C belegt nichts, verlangt aber S – D belegt U und S und verlangt T – E belegt T und verlangt V – F belegt W und verlangt S – G belegt V und verlangt U - Öffentlich - Folie 18
  • 20. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraphen • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 20
  • 21. CIR CYBER- UND INFORMATIONSRAUM Vorbeugung (engl. deadlock prevention) • indirekte Methoden entkräften eine der Bedingungen 1–3 1. nicht-blockierende Verfahren verwenden 2. Betriebsmittelanforderungen unteilbar (atomar) auslegen 3. Betriebsmittelentzug durch Virtualisierung ermöglichen - virtueller Speicher, virtuelle Geräte, virtuelle Prozessoren • direkte Methoden entkräften Bedingung 4 4. lineare/ totale Ordnung von Betriebsmittelklassen einführen: - Betriebsmittel Bi ist nur dann erfolgreich vor Bj belegbar, wenn i linear vor j angeordnet ist (d.h. i < j). = Regeln, die das Eintreten von Verklemmungen verhindern ODER Methoden, die zur Entwurfs- bzw. Implementierungszeit greifen - Öffentlich - Folie 21
  • 22. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraphen • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 22
  • 23. CIR CYBER- UND INFORMATIONSRAUM Vermeidung (engl. deadlock avoidance) • Verhinderung von zirkulärem Warten (im laufenden System) durch strategische Maßnahmen: – keine der ersten drei notwendigen Bedingungen wird entkräftet – fortlaufende Bedarfsanalyse schließt zirkuläres Warten aus • Prozesse und ihre Betriebsmittelanforderungen sind zu steuern: – zu jeder Zeit muss mindestens ein Prozess seinen maximalen Betriebsmittelbedarf decken können → „sicherer Zustand“ – das System wird (laufend) auf „unsichere Zustände“ hin überprüft - Zuteilungsablehnung im Falle nicht abgedeckten Betriebsmittelbedarfs - anfordernde Prozesse nicht bedienen bzw. frühzeitig suspendieren • À priori Wissen über den maximalen Betriebsmittelbedarf ist erforderlich. - Öffentlich - Folie 23
  • 24. CIR CYBER- UND INFORMATIONSRAUM Sicherer/ unsicherer Zustand (am Beispiel der speisenden Philosophen) • Ausgangspunkt: fünf Gabeln sind insgesamt vorhanden – jeder der fünf Philosophen braucht zwei Gabeln zum Essen • Situation: P0 , P1 und P2 haben je eine Gabel und zwei Gabeln sind frei – P3 fordert eine Gabel an → eine Gabel wäre dann noch frei • sicherer Zustand: einer von drei Philosophen könnte essen – die Anforderung von P3 wird akzeptiert – P4 fordert eine Gabel an → keine Gabel wäre dann mehr frei • unsicherer Zustand: keiner der Philosophen könnte essen • die Anforderung von P4 wird abgelehnt, P4 muss warten – haben vier Philosophen je eine Gabel, wird der fünfte gestoppt - Öffentlich - Folie 24
  • 25. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraphen • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 25
  • 26. CIR CYBER- UND INFORMATIONSRAUM Erkennung … (engl. deadlock detection) • Verklemmungen werden (stillschweigend) in Kauf genommen („Vogel-Strauß- Algorithmus“) ... – Nichts im System verhindert das Auftreten von Wartezyklen – keine der vier Bedingungen wird entkräftet • Ansatz: Wartegraph erstellen und auf Zyklen hin untersuchen – zu häufige Űberprüfung verschwendet Betriebsmittel/ Rechenleistung – zu seltene Űberprüfung lässt Betriebsmittel brach liegen • Zyklensuche geschieht zumeist in großen Zeitabständen, wenn … – Betriebsmittelanforderungen zu lange andauern – die Auslastung der CPU trotz Prozesszunahme sinkt – die CPU bereits über einen sehr langen Zeitraum untätig ist - Öffentlich - Folie 26
  • 27. CIR CYBER- UND INFORMATIONSRAUM … & Auflösung • Erholungsphase nach der Erkennungsphase • Prozesse abbrechen und dadurch Betriebsmittel frei bekommen – verklemmte Prozesse schrittweise abbrechen (großer Aufwand) • mit dem „effektivsten Opfer“ (?) beginnen – alle verklemmten Prozesse terminieren (großer Schaden) • Betriebsmittel entziehen und mit dem „effektivsten Opfer“ (?) beginnen – betreffenden Prozess zurückfahren bzw. wieder aufsetzen • Transaktionen, checkpointing/ recovery (großer Aufwand) – ein Aushungern („starvation“) der zurückgefahrenen Prozesse ist zu vermeiden • IMMER eine Gratwanderung zwischen Schaden und Aufwand: – Schäden sind unvermeidbar und die Frage ist, wie sie sich auswirken - Öffentlich - Folie 27
  • 28. CIR CYBER- UND INFORMATIONSRAUM Gliederung • Wiederholung • Beispiele • Verklemmungen von Prozessen – konsumierbare und nicht-konsumierbare Betriebsmittel – Modellierung durch Betriebsmittelbelegungsgraphen • Gegenmaßnahmen, Verklemmungsbekämpfung – Vorbeugung – Vermeidung – Erkennung und Auflösung – Diskussion - Öffentlich - Folie 28
  • 29. CIR CYBER- UND INFORMATIONSRAUM Diskussion • Verfahren zum Vermeiden/ Erkennen sind im Betriebssystemkontext weniger praxisrelevant – sie sind kaum umzusetzen, zu aufwändig und damit nicht einsetzbar • Verklemmungsgefahr ist lösbar durch Virtualisierung von Betriebsmitteln – Prozesse beanspruchen/ belegen ausschließlich logische Betriebsmittel – hierbei wird den Prozessen in kritischen Momenten (ohne ihr „Wissen“) das physische Betriebsmittel entzogen – dadurch wird die Bedingung der Nichtentziehbarkeit entkräftet ➔ eher praxisrelevant/ verbreitet sind die Vorbeugungsmaßnahmen, z.B die totale Ordnung von Betriebsmittelklassen!!! - Öffentlich - Folie 29
  • 31. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (1) Auf dem Bild ist ein Deadlock an einer Verkehrskreuzung gezeigt. a. Zeigen Sie, dass alle 4 nötigen Bedingungen für ein Deadlock erfüllt sind. - Öffentlich - Folie 31
  • 32. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (1) Auf dem Bild ist ein Deadlock an einer Verkehrskreuzung gezeigt. a. Zeigen Sie, dass alle 4 nötigen Bedingungen für ein Deadlock erfüllt sind. b. Überlegen Sie sich eine einfache Regel, wie Deadlocks in dieser Situation vermieden werden können. - Öffentlich - Folie 32
  • 33. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (2) Die Prozesse P, Q, R und S benötigen jeweils Ressourcen A, B, C und D. Gegeben ist die folgende Situation: · Prozess P hat A belegt und möchte B und C belegen. · Prozess Q hat C belegt und möchte A belegen. · Prozess R hat B belegt und möchte D belegen. · Prozess S möchte A und B belegen. a) Zeichnen Sie einen Betriebsmittelbelegungsgraphen der obigen Situation. Befindet sich das System in einem Deadlock? - Öffentlich - Folie 33
  • 34. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (2) - Öffentlich - Folie 34 D SR Q P C B A
  • 35. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (2) Die Prozesse P, Q, R und S benötigen jeweils Ressourcen A, B, C und D. Gegeben ist die folgende Situation: · Prozess P hat A belegt und möchte B und C belegen. · Prozess Q hat C belegt und möchte A belegen. · Prozess R hat B belegt und möchte D belegen. · Prozess S möchte A und B belegen. a) Zeichnen Sie einen Betriebsmittelbelegungsgraphen der obigen Situation. Befindet sich das System in einem Deadlock? b) Terminieren Sie Prozess Q und geben Sie alle von Q gehaltenen Ressourcen frei. Wie entwickelt sich das System weiter? Entsteht dabei ein Deadlock oder nicht? - Öffentlich - Folie 35
  • 36. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (2) - Öffentlich - Folie 36 D SR P C B A ???
  • 37. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (3) Gegeben sei das folgende System paralleler Prozesse (bzw. von Threads innerhalb eines Prozesses); s1 bis s4 bezeichnen dabei binäre Semaphore: - Öffentlich - Folie 37 Prozess A Prozess B Prozess C Prozess D while (1) { s1.P(); s2.P(); work(); s2.V(); s1.V(); } while (1) { s1.P(); s3.P(); work(); s3.V(); s1.V(); } while (1) { s4.P(); s1.P(); work(); s1.V(); s4.V(); } while (1) { s3.P(); s4.P(); work(); s4.V(); s3.V(); }
  • 38. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (3) a) Welches ist die Maximalzahl von Prozessen, die sich gleichzeitig im Zustand work() befinden können? b) Was versteht man unter einem Deadlock? Erläutern Sie mit Bezug auf obiges Beispiel die Bedingungen, die im Zusammenhang mit dem Auftreten von Deadlocks stehen. Erklären Sie dabei auch den Begriff Prozess- Betriebsmittel-Graph (BM-Belegungsgraph). c) Ist das System verklemmungsfrei? Verwenden Sie zur Untersuchung der Zyklus-Bedingung einen Prozess-Betriebsmittel-Graphen. d) Welche Konsequenzen hat das Vertauschen der beiden P-Operationen in Prozess A, der beiden P-Operationen in Prozess B, der beiden V-Operationen in Prozess B? e) Geben Sie einen kurzen Überblick darüber, wie man dem Problem „Verklemmungen“ begegnen kann. - Öffentlich - Folie 38
  • 39. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (3) c) - Öffentlich - Folie 39 2 CA D B 3 1 4
  • 40. CIR CYBER- UND INFORMATIONSRAUM Übung – Deadlocks (3) d) - Öffentlich - Folie 40 2 CA D B 3 1 4

Hinweis der Redaktion

  1. Zusammenarbeit (Kollaborationsoftware) verursacht (Ressourcen-)Konflikte. Diese gilt es zwingend (softwaretechnisch) zu lösen.
  2. Beispiel (wiederverwendbare BM): Ein Rechnersystem hat 200 GByte Hauptspeicher. Zwei Prozesse belegen den Speicher schrittweise. Die Belegung erfolgt blockierend. Wenn beide Prozesse ihre erste Anforderung ausführen bevor Speicher nachgefordert wird, ist eine Verklemmung unvermeidbar!!! Beispiel (konsumierbare BM): Beispiel: Synchronisationssignale werden mit Hilfe der Semaphoroperation WAIT und SIGNAL zwischen zwei Prozessen „verschickt“. Jeder Prozess wartet auf ein Synchronisationssignal des anderen, das dieser aber nicht senden kann, da er selbst blockiert ist.
  3. WARTEN bis Klick!!!
  4. … Verfahren wenig praxisrelevant, ein seltenes Beispiel: Microsofts Driver Verifier (seit WinXP integriert) bietet die Option der Verklemmungserkennung (https://developer.microsoft.com/de-de/windows/hardware … Microsofts Hardware Dev Center, hier Suchbegriff „Deadlock Detection“)
  5. zu b) NUR in eine Kreuzung einfahren, wenn ich diese („umkämpfte“ Ressource) mit Sicherheit vollständig passieren kann.
  6. (Animation)
  7. zu b) … wie entwickelt sich das System weiter: Prozess R arbeitet sich ab, in der Folge kommt es zwischen Prozess S und Prozess P zu einer Konkurrenz um Ressource B, hier KANN (bei Zuordnung von B zu S) wiederum ein Deadlock („circular wait“) entstehen.
  8. zu a) Maximalzahl von Prozessen, welche gleichzeitig im Zustand work() sind: -2- - wenn A in work(), dann 1 und 2 gebunden, damit B und C unmöglich in work(), D benötigt 3 und 4, dies ist möglich - wenn C in work(), dann … usw. - Alternative: Bestimmung durch Belegungsmatrix, wie folgt: 1 2 3 4 A x x B x x C x x D x x zu b) Definition Deadlock – Folie 11 Erläuterung der insgesamt drei notwendigen, sowie der einen hinreichenden, Bedingung – Folie 12 & 13 Erläuterung Prozess-Betriebsmittel-Graph – Folie 17 … (siehe nächste Folie) zu e) deadlock prevention – Folie 21 avoidance – Folie 23 detection – Folie 26 dissolution – Folie 27
  9. zu c) Erläuterung SEMAPHORE (= „Signalgeber“) diese fordern eine Ressource für einen Prozess an, der Prozess wartet in der Folge, bis ihm die Ressource zugesprochen wird und läuft erst dann weiter; sobald die Ressource nicht mehr benötigt wird, wird sie durch den Semaphor wieder freigegeben und durch andere „wartende“ Prozesse belegt das System ist nicht verklemmungsfrei
  10. zu d) … Details siehe Tafelbild Vertauschen von: P-Operationen in Prozess A - A kann durch die mögliche Verklemmung B-C-D ebenfalls „festhängen“ UND blockiert damit nun zusätzlich die Ressource 2 (!) P-Operationen in Prozess B - keine Verklemmung möglich, da kein „circular wait“ (weil TOTALE ORDNUNG von Betriebsmittelklassen) V-Operationen in Prozess B - keine Auswirkungen im Beispiel, jedoch man beachte Diskussion „lock ordering“ (http://stackoverflow.com/questions/1951275/would-you-explain-lock-ordering) … Erläuterung (wikipedia): Die Nutzungsoperationen wurden von Dijkstra mit P und V bezeichnet. Dies sind Initialen niederländischer Wörter bzw. Kofferwörter für prolaag und verhoog. Weitere, verbreitete Erklärungen sind passeer (passieren), probeeren (überprüfen) und vrijgeven (freigeben), verhogen (erhöhen). Programmierschnittstellen verwenden mnemonisch deutlichere Bezeichnungen wie wait (warten), acquire (erlangen) oder down (unten) für die P-Operation und signal (signalisieren), release (freigeben), post (abschicken) oder up (oben) für die V-Operation.