Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informtica
FIFO se utiliza en estructuras de datos para implementar colas. La implementacin puede efectuarse con ayuda de arrays o vectores, o bien mediante el uso de punteros y asignacin dinmica de memoria. Si se implementa mediante vectores el nmero mximo de elementos que puede almacenar est limitado al que se haya establecido en el cdigo del programa antes de la compilacin (cola esttica) o durante su ejecucin (cola pseudoesttica dinmica). Sea cual sea la opcin Esquema de funcionamiento de una cola FIFO. elegida, el nmero de elementos que podr almacenar la cola quedar determinado durante toda la ejecucin del programa. As, el sistema debe reservar el tamao de memoria necesario para acoger todos los datos, sea cual sea el nmero de elementos usados. En algunas aplicaciones, esto supone un problema ya que puede desconocerse el nmero de elementos a contener en la cola. La sencilla solucin de reservar ms memoria de la que se supone que se necesitar, puede conducir a un despilfarro de la memoria (la cola puede est llena, aprovechando toda la memoria reservada; o bien, nunca terminar de llenarse, ocupando recursos innecesarios en memoria). Sin embargo, si se usa asignacin dinmica de memoria, el nmero mximo no est declarado en tiempo de compilacin sino en tiempo de ejecucin, es decir, se reserva memoria a medida que se necesite expandir el tamao de la cola (adaptndose al tamao necesario en cada momento en funcin de los elementos que hay en la cola), haciendo un mejor uso de la memoria disponible. Uno de los usos de las colas es la exploracin "en anchura" de un rbol binario de bsqueda. Otro uso tpico de las colas, es la gestin de descargas de una aplicacin P2P.
Contabilidad
En contabilidad FIFO es un mtodo para registrar el valor de un inventario. Su uso es apropiado cuando se cuenta con varios lotes de un mismo producto. Este mtodo presume que el primer producto ingresado en el almacn ser el primero en salir por efectos del inventario.
Electrnica
Los FIFOs se usan comnmente en circuitos de electrnica para almacenaje y hacer control de flujo. Hablando de hardware un FIFO consiste bsicamente en un conjunto de punteros de lectura/escritura, almacenamiento y lgica de control. El almacenamiento puede ser SRAM, flip-flops, latches o cualquier otra forma adecuada de almacenamiento. Para FIFOs de un tamao importante se usa usualmente una SRAM de doble puerto, donde uno de los puertos se usa para la escritura y el otro para la lectura. Un FIFO sincrnico maneja el mismo reloj (clock) tanto para las lecturas como para las escrituras. Un FIFO asicrnico es aquel que utiliza diferentes relojes (clocks) uno para lectura y otro para la escritura. Cuando se habla de FIFOs asincrnicos se introduce el tema de la meta-estabilidad. Una implementacin comn de un FIFO asincrnico usa un Cdigo Gray (o cualquier cdigo de unidad de distancia) para los punteros de lectura y escritura de modo de
First in, first out asegurarse una generacin de banderas (flags) segura/estable. Otra nota adicional respecto de la generacin de banderas es que uno debe necesariamente usar punteros aritmticos para generar banderas para implementaciones asincrnicas de FIFO. Por otro lado, uno puede usar tanto un acercamiento "leaky bucket" o punteros aritmticos para generar banderas en una implementacin FIFO sincrnica. Como ejemplo de banderas de estado FIFO, se pueden enumerar: full (lleno), empty (vaco), almost full (casi lleno) o almost empty (casi vaco).
Vase tambin
LIFO FIFO y LIFO (contabilidad)
Licencia
Creative Commons Attribution-Share Alike 3.0 Unported http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/