• Keine Ergebnisse gefunden

Aufgabe 2: Thread-Zustands ¨ uberg¨ange

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe 2: Thread-Zustands ¨ uberg¨ange"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. rer. nat. Roland Wism ¨uller

Aufgabenblatt 4

(Besprechung ab 11.11.2021)

Vorlesung Betriebssysteme I Wintersemester 2021/22

Aufgabe 1: Thread-Zust¨ande und Zustands ¨ uberg¨ange

a) Geben Sie die drei wichtigsten Zust¨ande eines Threads an und erl¨autern Sie sie kurz.

b) Geben Sie die m¨oglichen Zustands¨uberg¨ange an, sowie jeweils ein Beispiel, wann der ¨Ubergang ausgef¨uhrt wird.

Aufgabe 2: Thread-Zustands ¨ uberg¨ange

Auf einem Rechner mit einer CPU (d.h., einem Core) gibt es zwei ThreadsT1undT2. ThreadT1ist rechenbereit, Thread T2wird gerade ausgef¨uhrt. Nun machtT2einen Systemaufruf, um auf einen Tastendruck auf der Tastatur zu warten.

Welche Zustands¨uberg¨ange werden

a) beim Eintritt in den BS-Kern bzw. w¨ahrend der Abarbeitung des Systemaufrufs, b) beim Austritt aus dem BS-Kern

ausgef¨uhrt? Geben Sie jeweils den Zustands¨ubergang sowie den Thread an, der den ¨Ubergang ausf¨uhrt!

Aufgabe 3: Elemente von Prozessen und Threads

Welche der folgenden Elemente (bzw. Ressourcen) geh¨oren bei einem Betriebssystem, das mehrere Threads pro Prozess unterst¨utzt, zum Prozeß (sind also allen Threads des Prozesses gemeinsam) und welche sind f¨ur jeden Thread privat?

a) Offene Dateien

b) Tabelle zur Abbildung von logischen auf physische Adressen c) Priorit¨at f¨ur den CPU-Scheduler

d) Datenregister des Prozessors e) Programmcode

f) Befehlsz¨ahler g) Kellerzeiger

h) Lokale Variable einer Funktion bzw. Methode

Aufgabe 4: Threadwechsel

Beschreiben Sie die zweiwesentlichenSchritte, die neben der Auswahl des n¨achsten auszuf¨uhrenden Threads bei einem Threadwechselinnerhalb desselben Prozessesdurchgef¨uhrt werden m¨ussen.

Aufgabe 5: Timer-Interrupt

Warum ist es f¨ur die ordnungsgem¨aße Funktion eines Betriebssystems in der Regel erforderlich, daß die Rechnerhardware periodisch (in der Regel alle 10-20ms) einen Interrupt (

”Timer-Interrupt“) erzeugt?

1

Referenzen

ÄHNLICHE DOKUMENTE

• Gibt es für einen Puffer genau einen Producer und einen Consumer, weckt das notify() des Consumers (wenn überhaupt, dann) stets den Producer

The basic rule for using mutual exclusion is straightforward: in a multi-threaded program all shared mutable data must be protected by associating it with some mutex, and you

• Funktion blockiert, bis ¨ uber einen Deskriptor readfds, writefds oder exceptfds Daten gelesen oder geschrieben werden k¨ onnen bzw. eine Datei ihren Status

➥ Anmerkung: alle Modelle in diesem Abschnitt gelten in der selben Form auch f ¨ur klassische Prozesse (mit genau einem Thread)... 2.2

Erweitern Sie das Programm so, daß ein zweiter Thread erzeugt wird, der eine Referenz auf dasselbe Objekt erh¨alt. Warten Sie vor dem Ausdrucken der Zahl, bis auch dieser Thread

 Ein Thread stellt nur eine Einheit für das Scheduling dar, so dass nun innerhalb eines Betriebssystems-Prozesses mehrere Threads ablaufen können.. Leichtgewichtige

pthread_create() Anlegen eines neuen Threads pthread_join() Warten auf Ende des Threads pthread_exit() Beenden des rufenden Threads pthread_detach() Abkoppeln vom Vater.

– Endliche Menge von Zust¨anden, endliche Menge von Eingabesymbolen – Ein fester Startzustand, null oder mehr akzeptierende Zust¨ande. – Uberf¨uhrungsfunktion ¨ bestimmt ¨