Autor Thema: Hilfe Diese Begriffe kenne ich nicht  (Gelesen 8475 mal)

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« am: 01. October 2004, 15:06 »
Ich dachte man könnte mal ein Topic aufmachen mit begriffen die man nicht kenn:

Was mich persönlich wunder nimmt, was ist der Unterschied zwischen:

- Multitasking
- Multithreading
- Multiprozessing
-..

k.a.

mfg

vish

  • Beiträge: 44
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 01. October 2004, 17:57 »
Also, ich versuch das mal zu erklären:

Multitasking = Multiprogrammierung = Mehrere Prozesse (quasi) gleichzeitig ausführen

Zum Prozess:
Stellen wir uns mal vor, eine Haushälterin möchte einen Kuchen backen. Dazu bräuchten wir die Zutaten (Ressourcen), ein Rezept (das Programm) und den Prozess (Die Haushälterin). Jetzt guckt die Haushälterin zuerst auf  das Rezept (praktisch den Quellcode) und führt die nächste Anweisung aus. Dabei werden Ressourcen verbraucht und irgendwann ist die Haushälterin fertig, weil der Kuchen fertig ist. Folglich ist der Prozess fertig.
Ein Prozess unterliegt dem Sheduler des OS, also wenn das OS sagt, dass jetzt ein anderer Prozess die CPU belegen darf, dann wird der 1. Prozess angehalten und der 2. Prozess fängt an zu laufen.

Zum Thread:
Normalerweise hat ein Prozess einen Ausführungsfaden (unser Rezept), manchmal ist es jedoch besser, wenn man mehrere Ausführungsfäden in einem Adressraum (also dem des startenden Prozesses) quasi parallel ablaufen zu lassen, die, bis auf den gemeinsamen Adressraum, einzelne Prozesse wären.
Multithreading bezeichnet dann die Möglichkeit mehrere Threads in einem Prozess laufen zu lassen.


Falls dies hier nicht korrekt ist, bitte sagen! :)

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #2 am: 01. October 2004, 18:05 »
Aus deinen Erklärungen schliesse ich folgendes:

Prozessorzeit->Aufgeteilt auf alle Prozesse
Prozesszeit->Aufgeteilt auf seine(!) Threads

Gesamtspeicher->Verteilt für Prozess
Prozessspeicher->Aufgeteilt in Daten,Code etc
Code alles Threads Unterschiedlich
Daten alle die selben

So in etwa, so würde ich das ungefähr beschreiben.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

vish

  • Beiträge: 44
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 01. October 2004, 19:58 »
Jep, so in etwa meinte ich das auch!
Meinst du mit "Daten" den Stack? Wenn ja, dann ist das nicht ganz richtig, weil jeder Thread seinen eigenen Stack hat und folglich die Daten nicht alle dieselben sind.

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #4 am: 01. October 2004, 21:08 »
Multitasking:
Das bedeutet das mehrer Programme "gleichzeitig" laufen können. Jedem Programm (Task) wird immer für ein paar Millisekunden der Prozessor zur verfügung gestellt in der der Task weiter ausgeführt wird.

Multithreading:
Ist im Prinzip das selbe wie Multitasking. Jedoch werden hier einzelne Task (Programme) selbst nochmal in "Unterprogramme" unterteilt. Sprich: Ein Textprogramm kann einen Thread haben, der die Tastatureingaben des Useres verarbeitet und einen weiteren Thread der im Hintergrung druckt. Hätte das Programm nur einen Thread, dann müsste der User erst warten bis das Dokument gedruckt ist, bevor er weiter Text eingeben kann.

Multiprozessing:
Ist meines Wissens nach, wenn wirklich mehrere Prozessoren in einem System vorhanden sind und daher auch wirklich mehrere Programme (Task) parallel laufen können. Das mit dem Prallel laufen hat aber auch hier grenzen, da sich in einem solchen System oftmals alle Prozessoren den selben Arbeitsspeicher teilen müssen. Sollte nun also der eine Prozessor gerade auf den Speicher zugreifen, müssen alle anderen Prozessoren warten, bis dieser fertig ist. Somit erhält man also auch hier kein 100%iges paralleles abarbeiten von Tasks.
----------------------
Redakteur bei LowLevel

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« Antwort #5 am: 02. October 2004, 13:48 »
jo vielen dank. nun checke ich es. *thx*

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #6 am: 02. October 2004, 16:15 »
Daten hat mir Stack garnix zutun^^ Stack is Stack, eben was eignes
TJ sagt wieder mal das selbe wie wir, es klingt nur besser:D
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

vish

  • Beiträge: 44
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 02. October 2004, 20:44 »
Tja, er ist eben ein gewiefter ( schreibt man das so? ) Tutorialschreiber! :D

 

Einloggen