Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Das Wort "Thread" hat noch eine andere Bedeutung, naemlich "Process" oder "Task" oder allgemeiner, die "Jobs", die eine Maschine zu erledigen hat, und das koennen ja u. U. sehr viele sein.

Geschrieben

Windows zum Beispiel ist ein Multitasking Betriebssystem. Das bedeutet, daß mehrere Programme "gleichzeitig" laufen können. Jedes Programm ist ein Prozeß. Da man normalerweise aber nur einen Prozessor zur Verfügung hat, kann nur ein Prozeß die Ressource Prozessor benutzen. Unter Multitasking Betriebssystemen findet also ständig ein Wechsel der Prozesse statt. Das hat weitreichende Konsequenzen, weil zum Beispiel die Register der CPU und der Gleichen mehr gesichert werden müssen, damit man sie später, wenn der Prozeß wieder CPU-Zeit bekommt, wieder zur Verfügung hat und die Situation die Gleiche ist wie vor der Unterbrechung.

Ein Thread ist der "kleine Bruder" eines Prozesses, er wird deswegen auch leichter Prozeß genannt. Ein Thread gehört immer zu genau einem Prozeß aber ein Prozeß kann mehrere Threads haben. Hier ist das Probem ähnlich. Hier müssen auch ein paar Daten gesichert werden, bevor innerhalb des Prozesses ein anderer Thread zum Zuge kommt. Allerdings ist ein Threadwechsel schneller, da nicht so viele Daten gesichert werden müssen. Aber es kostet halt Zeit.

HTH

Jan

PS: Oh, da seid ihr ja alle schneller als ich gewesen...

@Woodstock: Das tut mir leid, ich hatte jetzt gar nicht auf der Rechnung, daß die Beiträge auch Threads sind. Die meinte ich aber nicht.

Geschrieben

Hi,

Gilt noch zwischen preemptives und kooperatives Multitasking zu Unterscheiden. Im kooperativen Multitasking ist ein Threadwechsel vom Programm abhängig, sprich erst ein PostMessage erlaubt es dem Kernel die Ausführung an den nächsten Thread zu geben. Galt noch unter Win 3x bzw. 16 Bit. Beim preemptiven Multitasting hingegen werden die Threads so oder so umgeschaltet. Daher müssen auch immer alle Register und Co gesichert werden. Ein Thread bekommt im Zeitscheibenverfahren ca 20 ms zur Verfügung gestellt und dann kommt der nächste. Gilt seit Win 95 bzw. 32 Bit. Ein Prozeß ist ein initial Thread oder primary Thread. Von hier aus kannst können dann weiter Threads erzeugt werden oder auch wiederum neue Prozeße. Der Unterschied .... ach so viel wollte ich nun auch nicht schreiben ;). Jedenfalls können ab Win 95 (preemtiv) auch die alten 16 Bit Programme laufen. Dazu wird ein VM geladen, wo dann ein kooperatives Multitasking abläuft, sprich konkurierende Prozeße. Das Problem mit dem Blinken. Nunja... Das kannst Du mit VC++ (Consolenanwendung) nicht erzeugen, da dort das Bit 7, welches normalerweise für das blinken zuständig ist, als Intensitätsflag für die Hintergrundfarbe eingesetzt wird. Sprich dunkles Hintergrundrot wird heller wenn dieses Bit gesetzt ist. Man kann halt nicht alles haben. Turbo C kann das, aber ich weiß nicht ob es da eine 16-Bit Anwendung erzeugt. Eine Consolenanwendung unter VC++ ist jedenfalls eine 32-Bit Anwendung. Es läuft also nicht in einer VM für 16-Bit Programme, denn nur dort, so schätze ich, würde der Text blinken, da andere Module zum Einsatz kommen. Weiterhin werden in der VM für 16-Bit Programme Zeiger und Interrupts gemappt. Sprich auf entspr. Routinen umgeleitet, Wie z.B. der Zugriff auf den Grafikspeicher. Bei einer 32-Bit Consolenanwendung geschieht dies halt nicht und da, so glaube ich, liegt der Hund begraben.

hth

primatee

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...