Em relação aos conceitos de multithreading e de processo, a...

Próximas questões
Com base no mesmo assunto
Q1394692 Sistemas Operacionais
Em relação aos conceitos de multithreading e de processo, assinale a alternativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Vamos analisar a questão referente aos conceitos de multithreading e de processos.

Primeiramente, a alternativa correta é a alternativa D.

A alternativa D afirma: "Nos sistemas operacionais que implantam threads em nível de sistema (modelo 1:1), o escalonamento é orientado a threads e não a processos, já que todo processo tem pelo menos uma thread."

Essa alternativa está correta porque, no modelo 1:1 de multithreading, cada thread de usuário é mapeada para uma thread do sistema. Isso significa que o sistema operacional trata cada thread individualmente, realizando o escalonamento de threads em vez de processos. Assim, o gerenciamento de threads está mais diretamente integrado ao kernel, permitindo uma melhor utilização de recursos e maior responsividade no sistema.

Agora, vamos analisar as outras alternativas para entender por que elas estão incorretas:

A - "A programação com threads só faz sentido em processadores que possuem mais de um núcleo (core); caso contrário, deve-se empregar o modelo de processo para expressar concorrência."

Essa alternativa está errada porque a programação com threads também faz sentido em processadores de núcleo único. Mesmo em sistemas de núcleo único, o uso de threads pode melhorar a organização do programa e permitir a execução concorrente de tarefas, embora não paralela. A troca de contexto entre threads pode ser mais eficiente que entre processos.

B - "As threads compartilham o espaço de endereçamento do processo que as criou, ou seja, acessam as mesmas áreas de código, de dados globais, de heap (monte) e de pilha."

Essa alternativa está parcialmente correta, mas com um erro crucial: as threads compartilham o código, os dados globais e o heap, mas cada thread tem sua própria pilha de execução. Portanto, o compartilhamento não ocorre na área de pilha.

C - "As threads são empregadas apenas para explorar o processamento paralelo, enquanto os processos são destinados apenas para a programação concorrente."

Essa alternativa está incorreta porque threads e processos podem ser usados tanto para programação concorrente quanto para processamento paralelo. A diferença entre eles está mais relacionada ao compartilhamento de recursos e ao custo de criação e gerenciamento.

E - "Quando um processo filho termina, as threads criadas durante a execução desse processo filho são herdadas pelo processo pai."

Essa alternativa está incorreta porque, quando um processo termina, todas as threads associadas a ele também são finalizadas. Não há herança de threads pelo processo pai.

Espero que essa explicação tenha ajudado a esclarecer seus conhecimentos sobre multithreading e processos. Caso tenha mais dúvidas, estarei aqui para ajudar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

obrigado ajudou muito

ALTERNATIVA A

O ERRO DA ALTERNATIVA É DESMERECER O USO DE THREADS EM ARQUITETURA DE APENAS 1 NUCLEO, LEMBRANDO QUE ELE É MULTITAREFA SIMULANDO O PARALELISMO

As threads compartilham o espaço de endereçamento do processo que as criou, ou seja, acessam as mesmas áreas de código, de dados globais, de heap (monte) e de pilha. O erro da alternativa "b" é que o Controlador de programa, pilha, registradores específicos e estados são itens privados da tread, ou seja, não são compartilhados com o processo que a criou.

A thread is a basic unit of CPU utilization, consisting of a program counter, a stack, and a set of registers, ( and a thread ID. ) Traditional ( heavyweight ) processes have a single thread of control - There is one program counter, and one sequence of instructions that can be carried out at any given time.

https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo