Erstellt von Johannes Müller
vor fast 6 Jahre
|
||
Frage | Antworten |
(1) Was ist ein Thread? | Ein Thread ist eine nebenläufige Ausführungseinheit innerhalb eines Prozesses |
1. Erklären Sie den Unterschied zwischen Prozessen und Threads? | - Prozesse sind im Vergleich zu Thread „schwergewichtiger“ Alle Threads eines Prozesses teilen sich den Speicherbereich (Adressraum) des - Prozesses - • à Code - • à (globale) Variablen - • à Offene Dateien, Netzwerkverbindungen, Ressourcen - • à Heap |
2. Warum ist die Verwendung von Threads sinnvoll? | - Leistungszuwachs kann erfolgen - Es können mehrere Prozessorkerne genutzt werden - Lässt sich schneller erzeugen als ein Prozess |
5. Was sind die Aufgaben des Dispatchers? | - Kontextwechsel - Wechsel zum Usermodus - Sprung zur gesuchten Codestelle, die das Programm neustarten |
(2) Erklären Sie den Unterschied zw. Parallelität und Nebenläufigkeit. Nennen Sie auch dabei die notwendige Komponente für jene Funktion | Parallelität: mehrere Programme/Aufgaben laufen wirklich parallel. Für jeden parallel laufenden Prozess/Thread wird ein Prozessorkern benötigt Nebenläufigkeit: Aufgaben/Programme werden nacheinander im Wechsel ausgeführt. Der Scheduler regelt die Ablaufplanung (Welcher Prozess kommt als nächstes?) |
(3) Erklären Sie 3 Vorteile von Threads gegenüber von Prozessen? | Die Thread-Erzeugung ist schneller und benötigt weniger Ressourcen als die Erzeugung eines Prozesses Wenn ein Thread blockiert/wartet (z.B. auf I/O) können die anderen weiterlaufen wodurch die Anwendung bedienbar bleibt Ressourcen können zw. Threads aufgrund des gemeinsamen Speicherbereichs einfacher geteilt werden |
Bei Threads unterscheidet man zwei Arten: Nennen und erklären Sie diese kurz. | • User Threads o Werden in User-Space verwaltet o Betriebssystem weiß ggf. nichts davon • Kernel-Threads o Werden im Kernel verwaltet o Verwaltung in Thread Control Block |
Warum kann man Threads schneller erzeugen als Prozesse? | Weil bei der Erzeugung eines Prozesses der ganze Hardware-Kontext erstellt werden muss, wohingegen bei der Erzeugung eines Threads nur register und stack erstellt werden müssen |
Was versteht man unter Thread-Cancellation und welche zwei Arten um einen „Target Thread“ zu beenden haben wir kennen gelernt? | Thread-Cancellation= Abbruch eines Threads bevor er fertig ist Zwei Arten: Asynchroner und verzögerter(deferred) Abbruch |
Möchten Sie mit GoConqr kostenlos Ihre eigenen Karteikarten erstellen? Mehr erfahren.