Pfranzy schrieb:
Also sind( kleinere) Befehls-Abschnitte Threads? (wie z. B bei Netflix dad herunterladen von Daten vom Server, Kommunikation mit den Server, decoding usw.)?
So wie du deine Beispiele aufschreibst nicht unbedingt (also ein kann, aber nicht "muss").
Das Video ist nicht schlecht - hat aber potentiell ein paar Ungenauigkeiten die problematisch für Anfänger sind (auch weil obiges Beispiel aus dem Video ist).
"Prozesse und Threads. Auf Rechnern mit mehreren Prozessoren sogenannten SMP Systemen können mehrere Tasks gleichzeitig ausgeführt werden. Damit sich diese nicht in die Quere kommen, ist die Synchronisation einzelner Threads essentiell."
("Prozesse, Threads, SMP Systeme, Tasks (?), Synchronisation von Threads, später wird "Kontextwechsel" erwähnt)
(vgl. auch
DE-
EN Wikipedia zu Threads).
Threads ist auch eine parallele Entwicklung bei Hardwareherstellern (CPU Features:SMT) und Softwareherstellern (Betriebssystem-Entwicklern). - siehe Tabelle bei DE-wikipedia
Historisch gab es zuerst Computer mit 1 "Anwendung" / Programm - dann mehrere Programme / Prozesse und Prozess-Scheduling und bei mehreren Prozessoren (CPUs) oder mehreren Rechnern dann Probleme mit der Synchronisation.
Mit "Universalcomputern" und Systemen die immer zuerst Aufgaben "scheinbar" (durch Scheduling) parallel ausführen gibt es dann theoretische Überlegungen bzw. praktische neue Features wie "Threads" und Multi-Threading (SMT) auf Hard+Software Ebene - bei denen bestimmte Annahmen / Regeln aufgestellt / definiert werden - da dann die Auslastung / Effizienz eines solchen Systems besser ist:
Wichtig ist dann für Threads zB:
welches sind gemeinsame Ressourcen aller Threads eines Prozesses, minimale Ressourcen mit denen ein Thread auf einer CPU / SMT laufen kann (unterschiedliche Kontextinformationen die ein Thread ggü einem Prozess hat) - zb Feature "Thread Local Storage"
oder die Effizienz von wechseln (Scheduling) zwischen Threads eines Prozesses und dem Wechsel zwischen Prozessen
"echte" Hardware / CPU-Ebene (Register, Microcode bei Ausführung) -> wird abstrahiert von -> Betriebssysteme Ebene (zB Win/Linux Unterschiede) -> abstrahiert für den "User"