2010-01-25 2 views

Antwort

7

Prozesse haben keinen Stapel. Themen tun. Ein Prozess ist typischerweise ein Adressraum, einige Ressourcen und ein oder mehrere Threads. Die Threads führen den eigentlichen Code des Prozesses aus, so dass sie jeweils ihren eigenen Stack haben.

Der Wiki-Artikel auf Stapeln Weitere Informationen http://en.wikipedia.org/wiki/Call_stack

-1

Aus hat, was ich weiß (und korrigiert mich wenn ich falsch liege), ist jeder Prozess seinen eigenen Speicherbereich gegeben, die drei Segmente enthalten: der Text segement (dh das Programm), das Datensegment (soweit ich weiß, dass es für globale und statische Variablen ist), das Stack-Segment, das eine Anzahl von Dingen wie lokale Variablen enthält, die Parameter der Funktionen, die Adresse, zu der eine Funktion zurückkehren soll.

Jeder Prozess kann einen oder mehrere Threads haben. Die Threads des Prozesses teilen sich den Speicherraum des Prozesses, sie "besitzen" keine eigenen Erinnerungen, das macht sie einfach zu erstellen und zu beenden.

Lassen Sie uns rekapitulieren: der Prozess hat seinen eigenen Stapel, der Thread hat keinen eigenen Stapel.

Wenn ich falsch liege, fühle mich frei, mich zu korrigieren.

Tatsächlich behandelt Mr. Tanenbaums Buch "Betriebssysteme" dieses Problem.