stack
(1) A Macintosh folder view (see
Stacks).
(2) A set of hardware registers or a reserved amount of memory used for arithmetic calculations, local variables or to keep track of internal operations (the sequence of routines called in a program). For example, one routine calls another, which calls another and so on. As each routine is completed, the computer returns control to the calling routine all the way back to the first one that started the sequence. Stacks used in this way are LIFO based: the last item, or address, placed (pushed) onto the stack is the first item removed (popped) from the stack.
Stacks are also used to hold interrupts until they can be serviced. Used in this manner, they are FIFO stacks, in which the first item onto the stack is the first one out of the stack. See
internal stack failure,
stack dump and
stack fault.
(3) In a network, a hierarchy of software layers in both clients and servers that are required in order to communicate with each other. See
protocol stack.
(4) A hierarchy of software. Starting in the 2000s, the term has become popular to mean any hierarchy of application software. For example, the phrase "they do not offer a complete stack" implies that a software company does not offer the complete set of applications that would be common in that particular industry or niche. See
application stack.
(5) An earlier Macintosh development system (see
HyperCard).