This is a data structure that keeps track of function calls. Manages the execution of function calls in a Last-In-First-Out (LIFO) order. Each time a function is invoked, a new frame is pushed onto the stack; once the function completes, the frame is popped off. This mechanism ensures functions are executed in the correct order.