# FIFO

Il termine FIFO è l'acronimo inglese di First In First Out che rappresenta il metodo di transito in una coda (di oggetti di qualunque natura, anche virtuali): "primo ad entrare, primo ad uscire".
Il termine, nato in ambito gestione magazzino è stato "importato" in elettronica ed in informatica, dove assume rilevanza nella gestione del traffico tra memorie ed unità logiche e operative.

## Descrizione di base

Il metodo FIFO rappresenta la modalità di immagazzinamento di oggetti fisici in cui il primo oggetto introdotto è il primo ad uscire. Un esempio di immagine rappresentativa del concetto è quella di un tubo con una estremità da cui entrano gli oggetti e l'altra dalla quale escono. L'ordine di uscita è uguale a quello di entrata. Si può esemplificare con un dispenser di prodotti in un supermercato, in cui gli articoli vengono introdotti dall'alto ed il cliente li preleva dal basso, permettendo la rotazione di tutti i prodotti; o più semplicemente una serie di persone che disposte in fila indiana attendono di essere servite al bancone di una biglietteria.
Il metodo FIFO si contrappone al metodo LIFO (Last In First Out, cioè "ultimo ad entrare, primo ad uscire"), in cui è l'ultimo oggetto inserito ad essere estratto per primo.

## 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).

## 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.

### Comunicazione tra processi (IPC Inter Process Communication)

Il termine FIFO viene anche usato per descrivere un tipo di comunicazione interprocesso presente in diversi sistemi operativi, detto anche named pipe.