Existe uma grande variedade de sistemas computacionais que d...

Próximas questões
Com base no mesmo assunto
Ano: 2004 Banca: CESPE / CEBRASPE Órgão: SEASTER - PA
Q1182824 Sistemas Operacionais
Existe uma grande variedade de sistemas computacionais que devem ser controlados pelos sistemas operacionais. Por essa razão, várias soluções foram desenvolvidas para resolver a questão do compartilhamento de recursos computacionais entre os usuários e as aplicações. Mesmo diante dessa heterogeneidade, alguns conceitos e soluções são aplicados de forma abrangente. A respeito dos conceitos, estruturas e mecanismos dos sistemas operacionais, julgue o item a seguir.
Um processo leve, ou thread, é uma unidade de processamento que pode ser escalonada pelo sistema operacional e caracteriza-se por executar seqüencialmente e por não poder ser interrompida. 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E (Errado)

Tema central da questão: A questão aborda o conceito de threads (ou processos leves), um dos fundamentos de sistemas operacionais modernos, essenciais para o entendimento de concorrência e execução paralela em programas.

Teoria resumida: Uma thread é uma unidade básica de execução dentro de um processo, compartilhando recursos como memória e arquivos com outras threads do mesmo processo. Ela é escalonável pelo sistema operacional, pode ser executada concorrentemente com outras threads e geralmente executa instruções de forma sequencial. No entanto, threads podem ser interrompidas: o sistema operacional pode suspender sua execução a qualquer momento para dar lugar a outra thread, principalmente em sistemas multitarefa preemptivos.

Fontes: Silberschatz, Galvin e Gagne - "Operating System Concepts"; Tanenbaum - "Modern Operating Systems".

Justificativa da alternativa correta: A alternativa afirma que a thread "não pode ser interrompida", o que é incorreto. O sistema operacional pode sim interromper (preemptar) a execução de uma thread para dar lugar a outra, garantindo o compartilhamento eficiente dos recursos do processador entre múltiplas tarefas e usuários. Assim, não é correto afirmar que threads são ininterruptas.

Dicas de interpretação e pegadinhas: Palavras como "não pode" ou "sempre" costumam indicar afirmações absolutas, que raramente estão corretas em questões técnicas. Fique atento quando o enunciado restringe excessivamente o comportamento de um conceito. Se você se lembrar que há sistemas multitarefa (preemptivos) em que o SO pode interromper threads, já sabe identificar o erro.

Resumo: Thread é, sim, uma unidade escalonável e sequencial de execução, mas pode ser interrompida pelo sistema operacional. Logo, a alternativa está errada.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

Thread não pode ser interrompida ? estranho. Dei como errado mas no gabarito está como certo.

https://itectec.com/unixlinux/shell-how-to-kill-a-particular-thread-of-a-process/ QUESTÃO CERTA

para interromper a thread, basta usar thread.interrupt()

In Java Threads, if any thread is in sleeping or waiting state (i.e. sleep() or wait() is invoked), calling the interrupt() method on the thread, breaks out the sleeping or waiting state throwing InterruptedException. If the thread is not in the sleeping or waiting state, calling the interrupt() method performs normal behavior and doesn't interrupt the thread but sets the interrupt flag to true. 

https://www.geeksforgeeks.org/java/interrupting-a-thread-in-java/

Clique para visualizar este comentário

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