FIFO (computing and electronics): Difference between revisions

Content deleted Content added
m Bot: Replace deprecated <source> tag and "enclose" parameter [https://lists.wikimedia.org/pipermail/wikitech-ambassadors/2020-April/002284.html]
top: Fix hyphens
Line 2:
[[File:Fifo queue.png|thumb|350px|Representation of a FIFO (queue) with ''enqueue'' and ''dequeue'' operations.]]
 
'''FIFO''' -- an [[acronym]] for '''first in, first out''' -- in computing and in [[systems theory]], is a method for organising the manipulation of a data structure -- often, specifically a [[buffer (data)| data buffer]] -- in which each earlier-arriving item, among those remaining to be processed (and described, during that processing, as being the 'head' of -- or 'at the head of' -- that [[Queue (data structure)|queue]].
 
Such processing is analogous to service, or provision, in [[first-come, first-served]] (or FCFS) fashion -- much as occurs when an orderly collection of people, in turn, leave the queue to receive some form of attention (each in the same sequence in which they had arrived at the queue's 'tail').
 
FCFS is also the [[jargon]] term for the FIFO [[Scheduling (computing)|operating system scheduling]] algorithm, which gives every process [[central processing unit]] (CPU) time in the order in which it is demanded. FIFO's opposite is [[LIFO (computing)|LIFO]], last-in-first-out, where the youngest entry or 'top of the stack' is processed first.<ref name="Kruse">{{cite book|last=Kruse|first=Robert L.|title=Data Structures & Program Design (second edition)|edition=second (hc) textbook|origyear=1984|year=1987|others=Joan L. Stone, Kenny Beck, Ed O'Dougherty (production process staff workers)|publisher=Prentice-Hall, Inc. div. of Simon & Schuster|___location=Englewood Cliffs, New Jersey 07632|isbn=0-13-195884-4|quote="The definition of a finite sequence immediately makes it possible for us to attempt a definition of a list: A 'list' of terms of type T is simply a finite sequence of elements of the set T. ... The only difference among stacks and queues and more general lists is the '''operations''' by which changes or accesses can be made to the list."|pages=[https://archive.org/details/datastructurespr0000krus_n1p0/page/150 150]|url-access=registration|url=https://archive.org/details/datastructurespr0000krus_n1p0/page/150}}</ref> A [[priority queue]] is neither FIFO or LIFO but may adopt similar behaviour temporarily or by default. [[Queueing theory]] encompasses these methods for processing [[data structures]]<nowiki/>, as well as interactions between strict-FIFO {{queues.}}