4° Anno TEORIA 2. Allocazione dinamica della memoria | Page 2

10: Allocazione dinamica della memoria Vers. 9.3 – Dicembre 2025
SPECIALE: L’ esecuzione di un sottoprogramma
Per eseguire un sottoprogramma è necessario utilizzare una apposita istruzione di chiamata di sottoprogramma che è prevista da tutti i linguaggi di programmazione.
Meccanismo di funzionamento
Quando un programma non è in esecuzione risiede su una MEMORIA DI MASSA e subito dopo la compilazione ed il linkaggio, sarà costituito esclusivamente dal codice o istruzioni e dai dati ed occuperà un’ area di memoria( la cui dimensione in BYTE dipende esclusivamente dalle istruzioni e dai dati utilizzati) che è possibile essere pensata come suddivisa in due segmenti:
- il Segmento“ CODICE” o“ ISTRUZIONI”: area contenente le istruzioni del programma( codice) scritte in linguaggio macchina
- il Segmento“ DATI”: area contenente variabili e costanti allocate staticamente
Quando un programma è in esecuzione( chiamato anche TASK o processo) viene allocato in memoria centrale( RAM) e gli viene assegnato, dal sistema operativo( un particolate programma chiamato loader), nella memoria di lavoro( RAM) anche una zona di memoria aggiuntiva rispetto a quella posseduta quando è“ in quiete”.
Un programma in esecuzione quindi occuperà una zona della memoria di lavoro che è possibile pensare ora suddivisa in quattro segmenti:
- il Segmento“ CODICE” o“ ISTRUZIONI”: vedi descrizione già data in precedenza
- il Segmento“ DATI”: vedi descrizione già data in precedenza- il Segmento“ STACK”: area destinata a gestire la“ PILA DELLE ATTIVAZIONI”
- il Segmento HEAP( lett. mucchio) di sistema: area destinata a raccogliere i dati gestiti dinamicamente che come tali verranno allocati e deallocati dinamicamente( che verranno illustrati IN SEGUITO)
Una volta terminata l’ esecuzione del programma questa zona di memoria allocata nella RAM verrà rilasciata liberando la memoria precedentemente occupata( allocazione dinamica del codice da parte del sistema operativo)
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 2