3° Anno TEORIA 7.1 - Slide Procedure e Funzioni | Page 14

Quando un programma è in esecuzione, tutte le sue parti( sottoprogrammi) vengono caricate in memoria centrale in un’ apposita zona di memoria nella RAM per poi essere attivate al momento della chiamata. Una volta terminata l’ esecuzione del programma questa zona di memoria verrà rilasciata liberando la memoria precedentemente occupata( allocazione dinamica del codice da parte del sistema operativo).
Memoria di massa
Quando la CPU incontra una istruzione di chiamata a sottoprogramma( nel nostro esempio successivo indicata con SP1, SP2, SP3 ossia SP < n >) sospende l’ esecuzione del programma corrente e passa ad eseguire le istruzioni contenute nel sottoprogramma chiamato. Terminata l’ esecuzione, la CPU quando arriva all’ istruzione di FINE riprende l’ esecuzione del programma ripartendo dall’ istruzione successiva a quella di chiamata.

Esecuzione di un SOTTOPROGRAMMA: Funzionamento

Quando un programma è in esecuzione, tutte le sue parti( sottoprogrammi) vengono caricate in memoria centrale in un’ apposita zona di memoria nella RAM per poi essere attivate al momento della chiamata. Una volta terminata l’ esecuzione del programma questa zona di memoria verrà rilasciata liberando la memoria precedentemente occupata( allocazione dinamica del codice da parte del sistema operativo).

Memoria di massa

EVENTI Doppio click su. EXE oppure " Esegui "
Segmento HEAP

R

Segmento DATI Segmento CODICE
CONSEGUENZE Il sistema operativo( programma LOADER)
Segmento STACK
Segmento DATI a) Copia i segmenti DATI e CODICE nella RAM Segmento CODICE

. EXE b) Aggiunge i segmenti STACK e HEAP

Processo o TASK

A M

Quando la CPU incontra una istruzione di chiamata a sottoprogramma( nel nostro esempio successivo indicata con SP1, SP2, SP3 ossia SP < n >) sospende l’ esecuzione del programma corrente e passa ad eseguire le istruzioni contenute nel sottoprogramma chiamato. Terminata l’ esecuzione, la CPU quando arriva all’ istruzione di FINE riprende l’ esecuzione del programma ripartendo dall’ istruzione successiva a quella di chiamata.