FIFO

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Esta página ou secção não cita nenhuma fonte ou referência, o que compromete sua credibilidade (desde maio de 2010).
Por favor, melhore este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto por meio de notas de rodapé. Encontre fontes: Googlenotícias, livros, acadêmicoScirusBing. Veja como referenciar e citar as fontes.

Em Ciência da Computação, FIFO (acrônimo para First In, First Out, que em português significa primeiro a entrar, primeiro a sair) refere-se a estruturas de dados do tipo fila. Tem uma estrutura diferente da estrutura de uma LIFO (que significa Last In, First Out, as pilhas).

As listas são amplamente utilizadas em programação para implementar filas de espera. Em uma fila de tipo FIFO os elementos vão sendo colocados na fila e retirados (ou processados) por ordem de chegada. A idéia fundamental da fila é que só podemos inserir um novo elemento no final da fila e só podemos retirar o elemento do início.

Como exemplo de aplicação para filas, pode-se citar a fila de processos de um sistema operacional. Nela, é estabelecido um tempo t a ser usado por cada um dos processos. Se durante a execução de um processo o tempo passa de 0 a t, este é posto na fila e o processo seguinte é executado. Se o processo seguinte não terminar de ser executado no tempo t, ele é posto na fila e o processo subsequente é executado, e assim por diante até todos os processo serem executados.

Em termos de controle de estoque, refere-se a um método de armazenamento onde os itens são consumidos por ordem de chegada.


Aplicações[editar | editar código-fonte]

Os algoritmos FIFO's são comumente usados em circuitos eletrônicos de buffer e controle de fluxo, que vai desde o hardware até o software. Na forma de um hardware o FIFO consiste basicamente de um conjunto de ler e escrever ponteiros, armazenamento e lógica de controle. Armazenamento pode ser SRAM, flip-flops, fechos ou qualquer outra forma adequada de armazenamento. Para o FIFO, de tamanho não-trivial, uma SRAM de porta dupla geralmente é utilizada quando uma porta é usada para a escrita e a outra para leitura.

O FIFO síncrono aonde o mesmo clock é usado para leitura e escrita. Um FIFO assíncrono utiliza diferentes relógios para leitura e escrita.Uma aplicação comum de um FIFO assíncrono utiliza um código de Gray (código binário refletido),ou qualquer unidade de código a distância, para a ler e escrever os ponteiros para garantir a geração de bandeira confiável.Uma nota mais preocupante é que se deve necessariamente usar a aritmética de ponteiro para gerar bandeiras para implementações assíncronas FIFO. Por outro lado, pode-se usar a abordagem de um balde "de fuga" ou a aritmética de ponteiro para gerar bandeiras nas implementações síncronas FIFO.

Exemplos de sinalizadores de status FIFO incluem: cheios, vazios, quase cheio, quase vazio, etc.

Outras estruturas algébricas usadas em Engenharia da Computação[editar | editar código-fonte]

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]

http://www.ime.usp.br/~pf/algoritmos/aulas/fila.html

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.