As threads auxiliam o sistema operacional no paralelismo de ...

Próximas questões
Com base no mesmo assunto
Q91124 Sistemas Operacionais
Acerca dos fundamentos de sistemas operacionais, julgue os itens
que se seguem.

As threads auxiliam o sistema operacional no paralelismo de atividade quando há simultaneamente múltiplas atividades em diversas aplicações.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - Certo

As threads, também conhecidas como linhas de execução, são componentes cruciais para o paralelismo em sistemas computacionais. Elas permitem que um processo possa ter múltiplas sequências de instruções executando concorrentemente, aproveitando melhor os recursos da CPU e reduzindo o tempo de espera por operações de entrada e saída.

Em um cenário onde diversas aplicações estão rodando simultaneamente, a presença de threads permite que o sistema operacional distribua o tempo de processador entre as várias tarefas de forma mais dinâmica e eficiente. Cada aplicação pode ter uma ou mais threads, e o sistema operacional pode alternar entre elas rapidamente (em um processo conhecido como multitarefa), dando a impressão de que muitas atividades estão ocorrendo ao mesmo tempo, mesmo em processadores com apenas um núcleo.

Em sistemas com múltiplos núcleos, o uso de threads é ainda mais eficaz, pois elas podem ser executadas em paralelo de verdade, cada uma em um núcleo separado, aumentando consideravelmente a velocidade de processamento. Isso é parte do que se chama de paralelismo de atividade, referindo-se à capacidade de executar várias operações independentes em paralelo, seja em nível de hardware com múltiplos núcleos, seja em nível de software com o agendamento inteligente das threads.

Portanto, a alternativa está correta porque ressalta a importância das threads na realização de paralelismo, o que é um conceito fundamental na operação de sistemas modernos, onde o desempenho e a resposta rápida são essenciais para uma boa experiência do usuário e eficiência no processamento de tarefas.

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

Sim, é uma forma mais barata de se promover paralelismo de atividades pois os processos têm endereçamentos e recursos distintos, o que torna caro ao sistema operacional realizar a troca de contexto dos processos, isto é, pegar a pilha, ponteiro de pilha e contador de programa da memória e trazer para os registradores, para executar as instruções do processo e depois, no escalonamento de um novo processo, copiar tudo isso novamente para a memória e dessa forma salvar o estado de execução desse processo.

Já as threads compartilham esse espaço de endereçamento e são mais fáceis de multiplexar.

De fato, nas threads executadas no espaço de usuário, o sistema operacional nem mesmo enxerga que elas existem, todo o escalonamento é relaizado pela biblioteca de threads.

Fiquei confuso nessa!!!

"Threads em diversas aplicações", não teríamos uma thread para cada aplicação, ou seja , não teríamos vários processos? E caso tenhamos vários processos, os endereçamentos são exclusivos para cada um, tornando o item errado.

Suponho que para uma mesma aplicação a questão estaria certa.

me ajudem aí!!!!

Essa questão deveria ser considerada ERRADA, pois ela afirma que "As threads auxiliam o sistema operacional no paralelismo de atividade", sendo que, na verdade, não é no paralelismo, mas sim na concorrência, os quais são conceitos diferentes. No paralelismo ocorre simultaneidade, enquanto na concorrência ocorre chaveamento. A possibilidade de haver paralelismo é quando há multiplos núcleos de processamento, o que não vem ao caso. As instruções em threads são feitas de forma concorrente (chaveamento) e não simultaneamente como fala a questão.

Um bom texto para entender melhor o assunto: https://chaosonrails.wordpress.com/2010/09/05/concorrencia-versus-paralelismo/

Na ótica de escalonamento em ambientes com mais processadores não é possível que múltiplos threads de um processo possam ser executados em diferentes processadores simultaneamente, porque o sistema operacional executa apenas processos e não threads. Com isso existe um limite com relação ao grau de paralelismo da aplicação, pois as threads de um mesmo processo podem ser executadas em somente um processador por vez.

c-

EMm sistemas multithreading, a implementacao de thread é nivel kernel e permite que os processos, os quais sao programas em execucao, tenham acesso a recursos criados pelo SO em 3 tipos: contexto de software (limite aos recursos), de hardware (program stack, counter, registradores etc) e espaco de enderecamento (onde as instrucoes q o processo fara ficam). Uma instrucaoo do processo pode ser dividida em threads, cada thread se diferenciando pela tarefa que executa e divindindo a mesma area de dados do programa principale mesmo contexto de software

Clique para visualizar este comentário

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