9 Speichermodell eines Prozesses

Um das Verhalten von C-Programmen besser zu verstehen, ist es hilfreich, eine (vereinfachte) Vorstellung von Programmen und Prozessen zu haben.

Ein Programm (oder ein Teil eines Programmes) kann in mehreren Formen auftreten, unter anderem:

Die letztere Form, also das Programm während der Ausführung, heißt üblicherweise Prozeß.

Je nach verwendetem Rechnersystem können solche Prozesse unterschiedlich dargestellt werden, aber viele Gemeinsamkeiten lassen sich erkennen, wenn man die Betrachtung weit genug vereinfacht. Im Folgenden beschränke ich mich auf wenige Punkte, die für das Verständnis von C-Programmen wesentlich sind; mehr Einzelheiten sind in allgemeineren Einführungen in die Informatik zu finden.

Ein Prozeß kann nur laufen, wenn eine entsprechende Systemumgebung vorhanden ist:

Der Arbeitsspeicher eines Prozesses ist nun zumindest in folgende Bereiche, sogenannte Segmente unterteilt:

Alle diese Zusammenhänge sind im Abbildung 4 skizziert.

Abbildung 4: Typische Speichersegmente eines Prozesses
\begin{figure}{\center\epsfxsize =\textwidth\epsffile{bildsegmentesrc.eps} }
\end{figure}

Der dargestellte Quelltext definiert einige Objekte im Speicher (die Einfärbung der einzelnen Elemente entspricht den zugehörigen Speicherbereichen):

AnyWare@Wachtler.de