Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

FIFO (computing and electronics)

Algorithm Classification

First in, first out, written FIFO, is a method for organizing the manipulation of a data structure, often a data buffer, so that the oldest entry, the head of the queue, is processed first. It is used in computing and in systems theory, and a FIFO can be built in hardware as an electronic logic circuit or in software. Applications are wide: disk controllers use FIFO as a disk scheduling algorithm to order input and output requests, network bridges, switches and routers hold data packets in FIFOs on their way to the next destination, operating system scheduling gives each process processor time in the order it is demanded, and digital video and audio streams are buffered in FIFOs so that software or hardware with incompatible data rates can exchange data. Software FIFOs are typically built on a circular buffer or a list structure and are mostly not thread safe, so they need locking when several threads touch the same chain. Where the pipes-and-filters model is available, a FIFO is another name for a named pipe. An electronic FIFO uses two counters acting as read and write address registers, a memory array that is usually dual-ported, and status and control logic, and it buffers and controls flow between devices running at different data rates.

Facts
Problem Solved
Serving requests in the order they arrive 1
Sources
1. FIFO (computing and electronics) (Wikipedia)
  • Applications
    FIFOs are used in operating system scheduling to give every process central processing unit (CPU) time in the order in which it is demanded
  • In Group: Programming Patterns and Approaches, Lead
    is a method for organizing the manipulation of a data structure
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.