Search Header Logo
SPR 2.2/3.1

SPR 2.2/3.1

Assessment

Presentation

Computers

University

Practice Problem

Hard

Created by

Carla Matthews

Used 1+ times

FREE Resource

13 Slides • 5 Questions

1

4. Tut SPR; Blatt 2 Ergänzung, Blatt 03

​​Link zu den Tutoriumsunterlagen:​

media

2

Blatt 2 - Aufgabe 2.3

Überblick Schedulingverfahren

3

Multiple Choice

Wie viele Scheduling-Verfahren hattet ihr in der Vorlesung? (preemptive und non-preemptive-Varianten zählen als 2 verschiedene Verfahren)

1

6

2

8

3

11

4

13

4

Multiple Select

Welche dieser Verfahren sind optimal in Bezug auf die Antwortzeit?

1

SRTN

2

Prio-P

3

RR

4

SJN

5

Multiple Select

Welche dieser Verfahren sind optimal bezüglich der Fairness?

1

RR

2

HRRN

3

ML-FB

4

LCFS-PR

6

Aufgabe 2.4 d)

online- vs offline-Scheduling

[Folie 6]

7

Online- vs Offline-Scheduling

offline:

  • alle Informationen über aktuelle und zukünftige Prozesse bekannt (Ankunft, Prio, usw.) = Voraussetzung

  • Schedule kann Ablauf der Prozesse konzipiert werden

online:

  • arbeiten mit unvollständigen Informationen --> dafür keine Voraussetzungen

  • wird zur Laufzeit konzipiert

8

Aufgabe 2.4 e)

hard- vs soft-real-time-systems

[Folie 33]

9

hard- vs soft-real-time

hard-real-time-systems:

  • Verletzung von Sollzeitpunkten/Deadlines nicht tolerierbar
    --> gefährdend!!

  • oft offline-Algorithmen notwendig

soft-real-time-systems:

  • Verletzung von Sollzeitpunkten/Deadlines tolerierbar aber qualitätsmindernd

media
media

10

Blatt 3

Threadsynchronisation

11

Multiple Choice

Ein Mutex ist ein Semaphor mit initialem Zähler == 0

1

Wahr

2

Falsch

12

Semaphor vs Mutex

Semaphor:

!erst dekrementieren, dann auf nicht-negativ überprüfen

media

​Mutex:

- Mutex = Mutual exclusion (gegenseitiger Ausschluss)
--> immer nur ein Prozess in kritischem Bereich

- Semaphor mit initialem Zähler = 1

ADS

- mutex locked: Prozess betritt kritischen Bereich und schließt alle weiteren aus

- mutex unlocked: Prozess ist aus kritischem Bereich raus und gibt frei

[Folie 21 ff.]

13

kritische Abschnitte

= Operationsfolgen, bei denen eine nebenläufige oder verzahnte Ausführung zu Fehlern führen kann

  • Beispiele: Zugriff auf exklusiv benutzbare Betriebsmittel und Funktionen; Modifikation gemeinsamer Strukturen (z.B. verkettete Liste); Zugriff auf globale Variablen

  • Lsg: Synchronisation durch z.B. Semaphore, Mutex, Signal und wait

​​[Folie 12]

14

Beispiel kritischer Bereich - globale Variable bei parallelen Threads

Ein einziger Befehl in unserem Code führt zu mehreren Befehlen in Assembly-Code. Unsere Befehle sind also nicht atomar und Threadwechsel ohne Synchronisation können (z.B. durch mittlerweile veraltete Daten) zu Fehlern führen:

media
media

Thread-Umschaltung

15

Signal und wait

Situation:
Ein Thread A wartet bis eine Bedingung durch einen anderen Thread erfüllt wird. Ein weiterer Thread B signalisiert A, wenn die Bedingung erfüllt ist.

​[Folie 6 ff.]

16

Multiple Choice

Aktives Warten ist CPU-effizienter als blockierendes Warten.

1

Wahr

2

Falsch

17

  • wartender Prozess = blockiert

  • wird explizit durch Signal deblockiert (Arbeit auf "Signal-Seite")

blockierendes Warten

  • wiederholte Statusabfrage des Signals durch wartenden Prozess

  • verbraucht unnötig CPU-Kapazität

busy waiting

Signal und wait-Realisierungen

media
media

18

Spurious wakeups

= ein Prozess der auf eine Bedingung/ein Signal wartet wird deblockiert, obwohl diese gar nicht erfüllt wird

  • entsteht meist durch race condition:

    • mehrere Prozesse warten auf Signal, dass Ressource zur Verfügung steht

    • Signal kommt --> mehrere wachen auf

    • schnellster Prozess bekommt Ressource --> Ressource steht nun nicht mehr zur Verfügung und die anderen Prozesse wurden fälschlicherweise "geweckt"

  • Deshalb: condition immer mit while-Schleife überprüfen!

  • mehr dazu: https://en.wikipedia.org/wiki/Spurious_wakeup

4. Tut SPR; Blatt 2 Ergänzung, Blatt 03

​​Link zu den Tutoriumsunterlagen:​

media

Show answer

Auto Play

Slide 1 / 18

SLIDE