Loading...
 

Crystal Stack und Heap

Stack und Heap

Stack und Heap stellen Speicherbereich dar. Wie und wo die Speicher verwaltet wird hängt grundsätzlich vom verwendetem System ab. Arbeitet man sehr hardwarenah (z.B. Embedded Systems, Microcontroller usw.), hat man direkten Zugriff aufs RAM und somit Einfluss darauf, wo diese Speicherbereiche liegen. Liegt der Anwendung ein Betriebssystem zugrunde, wird der Speicher von diesem verwaltet gibt Speicher an einzelen Prozesse frei.

Der Stack

Der Stack wird als FIFO (First In, First Out) verwaltet. Das bedeutet, dass der Stack beim Ablegen neuer Daten anwächst und wenn diese Daten nicht mehr gebraucht werden, schrumpft er wieder.

Der Zugriff auf die Daten erfogt über Zeiger (Pointer) und ist sehr effizient.

Der Heap

Der Heap wird nicht so stark strukturiert verwaltet die er Stack. Benötigt ein Prozess neuen Speicherbereich, kann dieser über das Betriebssystem angelegt werden.