Em um sistema operacional, a estrutura de dados utilizada para organizar chamadas de funções recursivas por meio da inserção ou remoção de elementos via operações como push e pop é denominada
- A)lista estática.
Errada, porque lista estática não é a estrutura clássica usada para organizar chamadas recursivas com push e pop.
- B)fila.
Errada, porque fila segue FIFO, enquanto a recursão exige retirada na ordem inversa da inserção.
- C)hash.
Errada, porque hash é uma técnica de indexação/consulta por chave, não de controle de chamadas em sequência recursiva.
- D)pilha.
Certa, porque a pilha opera com push e pop e segue a lógica LIFO, exatamente a usada para chamadas recursivas.
- E)lista dinâmica.
Errada, porque lista dinâmica é uma forma geral de armazenamento, mas não representa a estrutura específica de controle de recursão.
Gabarito: D
Quando um sistema precisa guardar chamadas de funções recursivas, ele usa uma estrutura que funciona no esquema "o último que entra é o primeiro que sai". Pense assim: cada nova chamada vai para o topo da estrutura, e quando a função termina, a retirada também acontece pelo topo. Isso combina perfeitamente com as operações push (inserir no topo) e pop (remover do topo). Essa lógica é típica da pilha, que é justamente a estrutura usada para controlar a execução de chamadas recursivas. Em cada chamada, o sistema guarda informações como endereço de retorno e variáveis locais, e depois recupera tudo na ordem inversa. É por isso que a recursão "desempilha" as chamadas na volta. As demais alternativas não batem com esse comportamento. Fila trabalha em FIFO, listas são estruturas genéricas de organização, e hash serve para mapeamento por chave, não para controle de chamadas recursivas. Aqui a ideia central é ordem reversa de processamento, e isso é cara de pilha. Se quiser uma regra rápida de prova: push e pop juntos quase sempre apontam para pilha. Em linguagem de concurso, esse é um clássico bem direto, sem muita maldade, só pedindo reconhecimento da estrutura correta.