Registri
Il termine LIFO è acronimo inglese di Last In First Out (Ultimo ad entrare, primo ad uscire). Esprime il concetto relativo al modo di immagazzinare dati in cui l'ultimo valore introdotto è il primo ad uscire. Si rappresenta di solito con una pila di piatti, in cui l'ultimo appoggiato in cima è necessariamente il primo ad essere prelevato, mentre il primo introdotto è raggiunto per ultimo.
FIFO
Elettronica
Il concetto è impiegato in memorie utilizzate come buffer per regolare il flusso di dati tra periferiche a differente velocità, ad esempio tra memorie RAM e processore. Un altro impiego è nella regolazione della velocità nei lettori di CD audio.
Informatica
Il metodo FIFO è frequentemente utilizzato in programmazione, sia a livello di sistema operativo nella gestione dei processi, per compensare flussi di dati, per esempio nei buffer di scrittura, sia a livello di applicazione (si pensi solamente alla regolazione delle code si stampa).
Gestione delle code
Un esempio pratico del metodo FIFO sono le code che in un paese civile si fanno per ottenere un servizio, come pagare al supermercato o farsi tagliare i capelli dal parrucchiere: idealmente si viene serviti nello stesso ordine con cui ci si è presentati. Questo è esattamente il funzionamento di una coda.
Questo tipo di struttura dati è molto utilizzata in Informatica, ad esempio nella gestione delle operazioni da eseguire da parte di un sistema operativo, ed è fondamentale nelle telecomunicazioni, in particolare nelle reti a commutazione di pacchetto, dove descrive la gestione dei pacchetti in attesa di essere trasmessi su un collegamento. Le proprietà statistiche delle code sono studiate nella teoria delle code.
Una tipica struttura dati può essere implementata - in C++ - come segue:
struct fifo_node
{
struct fifo_node *next;
value_type value;
};
class fifo
{
fifo_node *front;
fifo_node *back;
fifo_node *dequeue(void)
{
fifo_node *tmp = front;
front = front->next;
return tmp;
}
queue(value)
{
fifo_node *tempNode = new fifo_node;
tempNode->value = value;
back->next = tempNode;
back = tempNode;
}
};
Contabilità e logistica
Il metodo FIFO è uno dei possibili metodi per la valorizzazione delle scorte di magazzino. Consiste nel valorizzare gli scarichi del magazzino a partire dai primi carichi effettuati, ad esempio:
Il giorno 15 di ogni mese si ricevono merci da un fornitore, che vengono poi rivendute. A fine anno vengono valorizzate con il metodo FIFO.
Supponiamo che siano state vendute esattamente metà delle merci. Con il metodo FIFO calcoleremo come vendute (e quindi scaricate) le merci acquistate da gennaio a giugno compreso, perché sono le prime in ordine cronologico. Le rimanenti merci in magazzino corrisponderanno alle quantità acquistate e non vendute da luglio a dicembre.
In fase di valutazione del magazzino risulta importante scegliere il metodo da utilizzare, poiché i risultati possono variare anche di parecchio (se, ad esempio, vi sono state grosse fluttuazioni nei prezzi delle merci considerate nel corso dell'esercizio). In logistica è in genere logico e razionale utilizzare il metodo FIFO nel flusso logistico, in quanto le prime merci o materie prime arrivate dovranno essere le prime ad essere consumate, per evitarne l'obsolescenza, o addirittura la scadenza (per le merci deperibili); per questo motivo è noto anche con il nome di FEFO (First Ended (o expired), First out).
LIFO
Contabilità
Il metodo LIFO è uno dei diversi possibili impieghi della gestione delle scorte di magazzino. In relazione al tipo di metodo utilizzato per la valorizzazione delle scorte, e ve ne sono molti(LIFO, FIFO, NIFO, medio ponderato progressivo, ecc...), si perviene a risultati di reddito e di valore delle scorte stesse differenti. Con il metodo LIFO infatti, se l'ultima merce acquistata è la prima ad essere venduta, il magazzino tenderà ad essere costituito da merci più remote, ed in una realtà di aumento dei prezzi con il tempo, il reddito sarà più basso: ai ricavi correnti si contrappongono costi recenti, quindi più alti di quelli passati, considerati, ad esempio con il metodo FIFO (First In First Out).
Elettronica
Nei microprocessori una memoria RAM con logica LIFO costituisce lo stack dove vengono depositati i dati relativi ad accumulatori e puntatori prima dell'esecuzione di salti con ritorno.
Informatica
A livello di sistema operativo la tecnica LIFO è impiegata per immagazzinare temporaneamente i dati per l'esecuzione di chiamate di sottofunzioni nidificate. Questo avviene utilizzando una particolare struttura dati chiamata pila o stack.
Si utilizza anche per accumulare gli operandi e i risultati di funzioni, come nel caso del linguaggio PostScript.







