Betriebssysteme #14 - Einführung Threads, Eigenschaften von Threads, Vorteile, Thread Typen deutsch IT BREAK https://www.youtube.com/watch?v=PnE7xdMKwc4 Transkript (automatisch erstellt) 0:00 hallo again willkommen zu einem neuen Video heute wird es ganz allgemein um das Thema Stretch gehen und ich wünsche euch ganz viel Spaß beim schauen 0:08 [Musik] genau wir werden heute das Thema Feld zum allgemeinen mal anreißen ich werde euch einen groben Überblick geben es 0:23 wird nicht so ganz in die Tiefe gehen ich möchte einfach Einsteigern das Thema fürs sehr leicht verdaulich hier aufbereiten was ist ein Pferd überhaupt 0:31 ein Pferd im Allgemeinen ist ein nebenläufiger programmfaden und er wird auch als lightweight Prozess bezeichnet ein Pferd hilft uns eben 0:40 Aufgabenstellungen zu strukturieren und zu parallelisieren keine Sorge es bleibt nicht theoretisch ich habe natürlich ein Beispiel vorbereitet jeder Fred gehört 0:48 zu einem Prozess und kann aber auch nur innerhalb von einem Prozess laufen allerdings kein 1% auch mehrere Plätze enthalten das ganze nimmt man dann Multi 0:58 Training sorry für den Rechtschreibfehler hier genau das ganze mal zu veranschaulichen habe ich mir hier ein Beispiel rausgesucht dass man 1:05 kennt jeder hat schon mal irgendein wird Dokument bearbeitet oder erstellt und wie passiert Aussehen naja irgendwo haben wir den Körner und auf dem läuft 1:14 eben das Programm wir haben hier eine Tastatur in diesem Programm laufen ein oder mehrere Prozesse ich habe jetzt erstmal einen gemacht in diesem Prozess 1:21 läuft eben ein Fred welche Aufgaben konkret eines dritt sein kann schauen wir uns gleich auch noch mal an ein Unterschied den ich hier schon mal 1:27 erwähnen möchte so würde es jetzt aussehen bei dem singleflagge System wenn wir jetzt mehrere von diesem Programm für jeden quasi in einem 1:35 Prozess haben dann wird es eben multiplayering genannt das ganze habe ich auch noch mal in einem extra Video für euch vorbereitet das wird auch noch 1:42 online kommen mittlerweile ist Multiplayer auch Standard sowas kann jetzt so ein Pferd z.B sein wir sind in Word schauen uns alle Grafik an das kann 1:49 ein Projekt sein wir tippen etwas ein diese Tastenanschläge können einfach sein oder aber die Rechtschreibprüfung die wird im Hintergrund immer durchführt 1:59 kann auch ein Pferd sein das heißt wenn wir das Programm offen haben finden gleichzeitig verschiedene Prozesse statt und diese Prozesse enthalten eben im 2:07 Normalfall mehrere friends die auch wieder unterschiedliche Aufgaben zugeordnet haben und damit das ganze funktioniert gibt es bestimmte 2:14 Eigenschaften die es Reds haben die schauen wir uns jetzt auch einmal an jeder Set hat zum Beispiel einen eigenen programmcounter warum weil da eben die 2:23 Anweisung drin steht die als nächstes ausgeführt werden soll zum einen das eben aufgeteilt ist quasi welcher Fred was macht und zum anderen ist es auch 2:32 noch mal hilfreich für scheduling wenn ihr zum Thema Skate Julien und euch noch mal ein paar Sachen ins Gedächtnis rufen wollt ich habe ihr euch ein paar Videos 2:39 noch mal verlinkt zum anderen enthalten Threads oder speichern jetzt ein systemregister und darin ist die aktuelle arbeitsvariable gespeichert mit 2:47 dem Leben der fährt arbeitet die ausführungshistorie ist im Stack abgespeichert und ganz wichtig Dreads teilen sich gemeinsam Speicher und 2:56 Ressourcen von dem Programm der den Fred erstellt hat das ist ganz wichtig weil da kommen wir dann zu bestimmten Vorteilen die mit sich bringen und die 3:07 Vorteile schauen wenn es jetzt mal an der erste Vorteil ist dass die Zeit des Kontext Wechsels minimieren wenn wir zwischen Prozessen wechseln haben wir 3:17 einen Kontextwechsel und dadurch dass eben Fretz noch mal eine kleinere Einheit sind und auch zum Beispiel mehrere Straits eben innerhalb von einem 3:25 Prozess arbeiten können haben wir dann eine Zeitersparnis die Aufgaben werden noch mal weiter verfeinert und man muss eben zum Beispiel nicht immer zwischen 3:33 den Prozessen wechseln sondern die Friends innerhalb eines Prozess übernehmen die verschiedenen Aufgaben das nächste was Reds mit sich bringen 3:41 ist eben die Gleichzeitigkeit innerhalb von einem Programm wie können wir uns das vorstellen na ja die Tasks die einen Programm ausführt zum Beispiel eben wird 3:50 Rechtschreibprüfung Tastenanschläge Grafik anzeigen sind ja alles verschiedene Aufgaben die dadurch dass es unterschiedliche Prozesse sind bzw 3:58 genauer das ist unterschiedliche streets sind werden aufgeteilt und können aufgrund der Struktur von preds eben gleichzeitig vor allem auch in Multi 4:08 kursystemen stattfinden das davon nicht möglich und wenn wir dann kein Training hätten wäre es zum Beispiel nicht möglich gewesen gleichzeitig sagen wir 4:17 mal sich eine Grafik anzeigen zu lassen und im Hintergrund der Rechtschreibprüfung laufen zu lassen gerade hier auch noch mal im Hinblick 4:23 auf sketuling und da eben auf zum Beispiel multikues getuing hin verwiesen da haben wir eben die Möglichkeit dass die Flats eben aufgeteilt werden die 4:32 Tasks verfeinert werden durch die Trends und das Ganze eben parallelisiert werden kann wir haben dadurch auch noch mal eine effizientere Kommunikation warum 4:40 weil das Programm bzw die Trends und Prozesse innerhalb eines Programms sich die Ressourcen gemeinsam teilen und damit auch festgelegt wird hey ich 4:50 brauche den und den Arbeitsspeicher ich brauche die und die Rechnerkapazität und dadurch kann er eben der Prozess oder das Programm im allgemeinen diese 4:58 Informationen einfacher Hand haben ja und hier auch wieder beim Thema scary Link etc kann das dann eben leichter verarbeitet werden insgesamt wird es 5:07 dann zu einer größeren und effizientere Nutzung von multip Prozess war Architekturen ja auch noch mal warum wenn wir uns an die von Neumann 5:15 Architektur erinnern und dann vor allem auch das Thema mit den virtuellen und physischen Speicheradressen das Problem haben wir zum einen bei der 5:23 multiprozessor Architektur nicht mehr weil man sich hier den Speicherraum teilt und die virtuellen Adressen eben aufteilen kann die können auch mit Freds 5:31 eben noch mal effizienter genutzt werden eben weil die sich die Ressourcen Teilen mit dem Programm dass die Stretch und Prozess erzeugt hat damit haben wir eben 5:40 insgesamt eine schnellere effizientere und auch ja noch mal parallele Nutzung der gesamtressourcen und verletzt erleichtern dann eben einfach uns ein 5:49 bisschen das Leben eine Sache die ich auch noch ganz kurz der Vollständigkeit halber ansprechen möchte sind zwei verschiedene Arten von Sets da werden 5:58 wir aber nur ganz rudimentär drauf eingehen zum einen gibt es eben die Flats auf Anwender Ebene die werden vom benutzerdefiniert laufen auf Benutzer 6:07 Ebene und die basieren meistens auf einer Bibliothek Betriebssystem wird dann eben als API zum Erstellen der Flats bereitgestellt und das ganze wird 6:16 dann eben nicht auf Cornel Ebene verwaltet das heißt das ganze wird abstrahiert der Körner weiß gar nicht dass ja diese Threads laufen und damit 6:24 haben wir auch noch mal ein bisschen schnellere Kommunikation und ein einfaches Management der Threads und als zweites haben wir dann eben noch die 6:31 Körner Level preds das heißt das sind auch Freds die vom Betriebssystem verwaltet werden und die Verwaltung wird dann eben haben können übernommen was 6:39 das Ganze ein bisschen komplexer zu managen macht und daher auch ein bisschen langsamer ist als bei den User friends das war meine nicht ganz so kurz 6:46 aber trotzdem noch recht oberflächliche Einführung zu dem Thema Fritz wenn ihr Anregungen zu dem Thema habt und euch bestimmte Themen wünscht dann schreibt 6:54 es gerne in die Kommentare ansonsten hoffe ich dass euch das Video geholfen hat und wir sehen uns beim nächsten Mal wieder bis dann 7:01 [Musik]