Home>>Procedure rientranti

Una procedura è detta rientrante se può essere richiamata da più task senza generare conflitti. Tipicamente i problemi possono nascere se la procedura, durante la sua esecuzione, modifica delle variabili globali o statiche, poiché ne esiste un'unica copia in memoria.

Per realizzare procedure rientranti è necessario applicare le seguenti tecniche:

  • far uso, quando possibile, di variabili allocate nello stack (parametri e variabili locali) al posto delle variabili globali o statiche;
  • proteggere le variabili statiche e globali all'interno di sezioni critiche, in modo da impedirne l'accesso contemporaneo da parte di task differenti.

L'implementazione di alcune procedure (richiamabili contemporaneamente da più task) può richiedere l'uso di variabili globali o statiche con un valore distinto per ogni task chiamante; alcuni sistemi operativi (come ad esempio VxWorks) forniscono la possibilità di aggiungere delle variabili al contesto del task; ogni volta che si verifica un cambio di contesto, il valore della variabile è aggiornato con il valore memorizzato nel contesto corrente.


Aggiungi commento




  Country flag
biuquote
  • Commento
  • Anteprima
Loading


Calendario

<<  febbraio 2012  >>
lumamegivesado
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar

Archivio

Licenza d'uso
Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:

Licenza Creative Common