Stack

Da Wikipedia, l'enciclopedia libera.
Semplice rappresentazione di uno stack

Il termine stack o pila, in informatica, indica un tipo di dato astratto che viene usato in diversi contesti per riferirsi a strutture dati, le cui modalità d'accesso ai dati in essa contenuti seguono una modalità LIFO (Last In First Out), ovvero tale per cui i dati vengono estratti (letti) in ordine rigorosamente inverso rispetto a quello in cui sono stati inseriti (scritti).

Caratteristiche[modifica | modifica wikitesto]

Il nome di questa struttura dati è infatti la stessa parola inglese usata, per esempio, per indicare una "pila di piatti" o una "pila di giornali", e sottende per l'appunto l'idea che quando si pone un piatto nella pila lo si metta in cima, e che quando si preleva un piatto si prelevi, analogamente, quello in cima (da cui la dinamica LIFO), anche se è possibile inserire o prelevare elementi anche dalla coda, infatti più in generale la pila è un particolare tipo di lista in cui le operazioni di inserimento ed estrazione si compiono dallo stesso estremo.

Utilizzo[modifica | modifica wikitesto]

Il termine viene usato in informatica in modo più specifico in diversi contesti:

  • la struttura dati a stack è un tipo di struttura dati che un programma può implementare e utilizzare per il proprio funzionamento;
  • lo stack è un elemento dell'architettura dei moderni processori, e fornisce il supporto fondamentale per l'implementazione del concetto di subroutine (vedi call stack);
  • le macchine virtuali di quasi tutti i linguaggi di programmazione ad alto livello usano uno stack dei record di attivazione per implementare il concetto di subroutine (generalmente, ma non necessariamente, basandosi sullo stack del processore);
  • la memoria degli automi a pila dell'informatica teorica è uno stack.
  • la gestione di più versioni dello stesso software nel medesimo sistema operativo. Per installare, occorre partire in ordine cronologico, dalla più vecchia alla più recente; per disinstallare, occorrerà seguire l'ordine opposto, dalla più recente alla più vecchia. Ad esempio per avere due versioni di Microsoft Office, la 2003 e la 2007, si dovrà prima installare la 2003. Diversamente, la versione 2003 sovrascriverà la più recente 2007, installata per prima. Viceversa, per la rimozione: prima si dovrà rimuovere la 2007, anche se vogliamo rimuovere solamente la 2003, e successivamente reinstallare la 2007. Rimuovendo prima la più vecchia, la versione 2003, la 2007 diviene inutilizzabile.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica