In a network, a hierarchy of software layers in both clients and servers that are required to communicate with each other. See protocol stack
and OSI model
The set of programs used in the computer. A stack can refer to software infrastructure only (see software stack
) or to the applications the company gives its employees (see application stack
). It may also refer to an industry set or a developer set of programs. For example, the phrase "they don't offer a complete stack" could imply that a software company has an incomplete set of applications for a particular industry or niche.
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.
It Can Be "The" Programming Language
An entire programming language can be stack based; for example, Bitcoin's Script is entirely stack based and embedded in its transactions (see Bitcoin transaction
). See internal stack failure
, stack dump
and stack fault
Various functions in a Mac (see Stacks