Ominide 1144 punti

Eseguire un sottoprogramma

Per eseguire un sottoprogramma è necessario utilizzare un’apposita istruzione di chiamata al sottoprogramma, prevista da tutti i linguaggi di programmazione.
Quando la CPU incontra un’istruzione di chiamata, interrompe temporaneamente l’elaborazione del programma chiamante e comincia a eseguire il sottoprogramma chiamato. Una volta terminata l’esecuzione del sottoprogramma, la CPU riprende l’esecuzione del programma, ripartendo dall'istruzione successiva a quella di chiamata.
Bisogna ricordare che il sottoprogramma viene caricato in memoria al momento della chiamata e, terminata l’esecuzione, viene rilasciato, liberando la memoria occupata. Questo metodo di gestire la memoria da parte del sistema operativo viene detto allocazione dinamica.
Per potersi ricordare da quale istruzione si deve riprendere l’esecuzione in seguito a un sottoprogramma, la CPU utilizza un’apposita struttura che si chiama pila dei record di attivazione. La pila, definita anche stack, è una tipo particolare di struttura all'interno di cui i dati possono essere inseriti o estratti solo mediante un’estremità che viene chiamata testa della pila.

Questa caratteristica permette l’estrazione dei dati nell'ordine inverso in cui sono stati inseriti: l’ultimo dato inserito sarà il primo a uscire. Per questo motivo, la pila è conosciuta anche come struttura LIFO.
Quando la CPU esegue un’istruzione di chiamata, utilizza i dati contenuti nel record di attivazione relativo, mentre quando esegue un’istruzione FINE, utilizza la pila delle attivazioni per estrarre l’indirizzo dell’istruzione da cui riprendere l’esecuzione del sottoprogramma chiamante.

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email