Questão de Sistemas Operacionais — Geral — Quadrix 2026
Sistemas Operacionais›Geral
Código
qa435233
Banca
Quadrix
Órgão
CREF 11
Ano
2026
Cargo
Ana ( )
Julgue o item a seguir acerca dos sistemas operacionais.
A criação de threads, dentro de um mesmo processo, implica a criação de uma cópia independente do espaço de endereçamento virtual, não sendo compartilhados os dados globais e as variáveis estáticas entre o processo e a thread.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Threads: compartilhamento de recursos dentro do processo
Gabarito: letra E (Errado). A criação de threads dentro de um mesmo processo não implica a criação de uma cópia independente do espaço de endereçamento virtual; pelo contrário, as threads de um mesmo processo compartilham o espaço de endereçamento, incluindo dados globais e variáveis estáticas. O item inverte exatamente essa característica fundamental das threads.
Para entender por que o item está errado, é preciso distinguir processo de thread. Um processo é uma instância de um programa em execução, com seu próprio espaço de endereçamento virtual (código, dados, pilha, heap) e recursos associados. Uma thread, por sua vez, é um fluxo de execução independente dentro de um processo. A grande vantagem das threads é justamente o compartilhamento: todas as threads de um mesmo processo enxergam o mesmo espaço de endereçamento, ou seja, podem acessar as mesmas variáveis globais, variáveis estáticas, arquivos abertos e outras estruturas de dados do processo. Isso permite comunicação e cooperação eficientes entre as threads, sem a necessidade de mecanismos complexos de comunicação entre processos (IPC).
Cada thread, no entanto, possui um contexto próprio e mínimo: um conjunto de registradores do processador e uma pilha (stack) própria, para armazenar variáveis locais e controlar chamadas de função. Esse contexto é o que permite que cada thread execute seu próprio fluxo de código, mas ele não inclui uma cópia do espaço de endereçamento. Em outras palavras, as threads compartilham o código, os dados globais e o heap, mas cada uma tem sua pilha e seus registradores.
Um exemplo concreto: imagine um processo de servidor web que atende requisições HTTP. Ele pode criar uma thread para cada requisição. Todas as threads compartilham o mesmo espaço de endereçamento, incluindo as variáveis globais que armazenam, por exemplo, o número total de requisições atendidas. Se uma thread incrementa essa variável, as outras threads veem o valor atualizado. Se cada thread tivesse uma cópia independente do espaço de endereçamento, essa comunicação seria impossível e o modelo de threads perderia todo o sentido.
A confusão que a banca explora aqui é a diferença entre criar um novo processo (que de fato cria um novo espaço de endereçamento virtual, com cópias das variáveis do processo pai, via chamada de sistema fork, por exemplo) e criar uma nova thread (que compartilha o espaço de endereçamento do processo existente). O item descreve o comportamento de um novo processo, não de uma nova thread.
NÃO CAIA NESSA!
A banca troca o comportamento de criação de processo pelo de criação de thread. Ao criar um processo (ex.: fork), há uma cópia do espaço de endereçamento; ao criar uma thread, há compartilhamento. O candidato que confunde esses dois conceitos marca "Certo", mas a resposta correta é "Errado".
Threads no mesmo processo: Compartilham (Espaço de endereçamento virtual, Dados globais, Variáveis estáticas, Heap, Arquivos abertos); Contexto próprio (Registradores, Pilha (stack)); Processo (fork) (Cópia independente do espaço de endereçamento)
Item — ❌ Errado
O item afirma que a criação de threads implica a criação de uma cópia independente do espaço de endereçamento virtual e que dados globais e variáveis estáticas não são compartilhados. Isso é exatamente o oposto do que ocorre. As threads de um mesmo processo compartilham o espaço de endereçamento, incluindo dados globais e variáveis estáticas. Cada thread tem apenas seu próprio contexto de execução (registradores e pilha). Portanto, o item está errado.