GATE | GATE CS 2011 | Questão 16
Um thread é geralmente definido como um “processo leve” porque um sistema operacional (SO) mantém estruturas de dados menores para um thread do que para um processo. Em relação a isso, qual das alternativas a seguir é VERDADEIRA?
(A) Por thread, o SO mantém apenas o estado de registro da CPU
(B) O SO não mantém uma pilha separada para cada thread
(C) Por thread, o SO não mantém o estado de memória virtual
(D) Por thread, o sistema operacional mantém apenas informações de programação e contabilidade
Resposta: (C)
Explicação: Threads compartilham espaço de endereço de Processo. Virtualmente, a memória se preocupa com processos, não com Threads.
Um thread é uma unidade básica de utilização da CPU, consistindo em um contador de programa, uma pilha e um conjunto de registradores (e um ID de thread.) Como você pode ver, para um único thread de controle - há um contador de programa, e uma sequência de instruções que podem ser realizadas a qualquer momento e para aplicativos multi-threaded - há vários threads dentro de um único processo, cada um tendo seu próprio contador de programa, pilha e conjunto de registros, mas compartilhando código, dados comuns, e certas estruturas, como arquivos abertos.
Opção (A): como você pode ver no diagrama acima, NÃO SOMENTE o registro da CPU, mas os arquivos de pilha e de código, os arquivos de dados também são mantidos. Portanto, a opção (A) não está correta, pois diz que o sistema operacional mantém apenas o estado de registro da CPU.
Opção (B): de acordo com a opção (B), o SO não mantém uma pilha separada para cada thread. Mas, como você pode ver no diagrama acima, para cada thread, uma pilha separada é mantida. Portanto, esta opção também está incorreta.
Opção (C): de acordo com a opção (C), o SO não mantém o estado de memória virtual. E está correto, pois o OS não mantém nenhum estado de memória virtual para thread individual.
Opção (D): de acordo com a opção (D), o SO mantém apenas informações de programação e contabilidade. Mas não é correto, pois contém outras informações como pilha de registros de CPU, contadores de programa, arquivos de dados, arquivos de código também são mantidos.
Referência:
https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html
Esta solução foi contribuída por Nitika Bansal
Quiz desta questão
Aprenda todos os conceitos do GATE CS com aulas gratuitas ao vivo em nosso canal do youtube.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva