Nos conceitos de ciência da computação, um processo é um mód...

Próximas questões
Com base no mesmo assunto
Q233863 Sistemas Operacionais
Nos conceitos de ciência da computação, um processo é um módulo executável que pode conter threads. Um conceito importante sobre threads que estão contidas no mesmo processo é que
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é A - podem compartilhar a memória do processo.

Vamos entender por que a alternativa A está correta e aproveitar para revisar alguns conceitos importantes sobre processos e threads em sistemas operacionais.

Processos são unidades de execução que possuem seu próprio espaço de memória e recursos. Eles são isolados uns dos outros, o que significa que um processo não pode acessar diretamente a memória de outro processo. Isso garante proteção e estabilidade ao sistema.

Por outro lado, threads (ou linhas de execução) são subunidades de um processo. Elas são usadas para realizar tarefas simultâneas dentro do mesmo processo e compartilham o mesmo espaço de memória e recursos do processo que as criou. Essa característica facilita a comunicação entre as threads, pois elas podem acessar as mesmas variáveis e estruturas de dados diretamente.

Vamos analisar as alternativas:

A - podem compartilhar a memória do processo.
Essa afirmação está correta. Como mencionado, todas as threads de um mesmo processo compartilham o mesmo espaço de memória, o que inclui variáveis globais, memória heap (dinâmica) e segmentos de código.

B - evitam que processos concorrentes acessem recursos do processo principal.
Essa afirmação está incorreta. Threads de um processo não têm o papel de evitar que processos concorrentes acessem recursos do processo principal; essa responsabilidade é do sistema operacional, que gerencia o acesso e a sincronização entre processos.

C - acessam a memória estática ao contrário de processos convencionais.
Essa afirmação está incorreta. Tanto threads quanto processos podem acessar a memória estática. A diferença não está no tipo de memória acessada, mas sim na forma como o espaço de memória é gerenciado e compartilhado.

D - controlam o acesso da memória dinâmica (heap) dos processos externos.
Essa afirmação está incorreta. Threads não têm controle sobre a memória heap (dinâmica) de processos externos. Elas somente compartilham e controlam a memória dentro do próprio processo que as criou.

E - possuem proteção contra problemas comuns de processos, como vazamento e acessos inválidos da memória.
Essa afirmação está incorreta. Threads, assim como processos, não possuem proteção intrínseca contra problemas como vazamentos de memória e acessos inválidos. Essas proteções devem ser implementadas pelo programador por meio de boas práticas de programação e uso correto de mecanismos de sincronização.

Portanto, a alternativa que melhor descreve um conceito importante sobre threads é a alternativa A: podem compartilhar a memória do processo.

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

a) podem compartilhar a memória do processo. Correto, há uma heap compartilhada para as threads de um processo
b) evitam que processos concorrentes acessem recursos do processo principal. Errado, á idéia de thread é exatamente o contrário (processos concorrentes acessarem recursos compartilhados)
c) acessam a memória estática ao contrário de processos convencionais. Errado, Essa assertiva esta sem pé nem cabeça :)
d) controlam o acesso da memória dinâmica (heap) dos processos externos. Errado, compartilha a heap com as outras threads do processo. Processos externos só podem compartilhar áreas via chamadas explicitas a funções do SO
e) possuem proteção contra problemas comuns de processos, como vazamento e acessos inválidos da memória. Errado o SO (Criação e manutenção da tabela de páginas) e a CPU (Mapeamento memória virtual / Memória Física via tabela de páginas) é quem são responsáveis por isso

a-

Thread é o conceito de subprocesso,porem usa a mesma area da mermoria do que o processo original. Principal vantagem é economia de recursos porque nao cria PCB(process control block) porque o contexto é o mesmo que o do processo. Um processo pode ter varios threads dividindo o mesmo espaço, diferenciando somente os dados processados por eles. 

Clique para visualizar este comentário

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