Com relação às características e funções básicas de um siste...

Próximas questões
Com base no mesmo assunto
Q110901 Sistemas Operacionais
Com relação às características e funções básicas de um sistema operacional, julgue os itens seguintes.

Em um ambiente com múltiplos threads (multithread), não é necessário haver vários processos para se implementarem aplicações concorrentes.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

Ao abordar a capacidade de um sistema operacional de executar aplicações concorrentes, é importante entender a diferença entre processos e threads. Um processo é uma instância de um programa em execução, contendo seu próprio espaço de endereçamento e recursos alocados pelo sistema operacional. Já uma thread, por outro lado, é uma sequência de tarefas executáveis dentro de um processo que podem rodar em paralelo, compartilhando o mesmo espaço de endereçamento e recursos do processo ao qual pertencem.

Em um ambiente multithread, uma única aplicação pode ter múltiplas threads rodando de forma concorrente. Isso significa que a aplicação pode realizar várias tarefas ao mesmo tempo sem a necessidade de instanciar múltiplos processos. Cada thread pode ser considerada como um caminho de execução independente, o que permite uma maior eficiência e menor custo de contexto em comparação com a execução de múltiplos processos.

Portanto, a afirmação de que não é necessário haver vários processos para se implementarem aplicações concorrentes em um ambiente multithread está correta, pois as threads permitem que tarefas concorrentes sejam realizadas dentro do mesmo processo. Essa abordagem tem várias vantagens, incluindo o menor consumo de recursos do sistema e a possibilidade de compartilhar dados mais facilmente entre as threads, já que todas elas residem no mesmo espaço de endereçamento.

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

Threads são linhas de execução dentro de um processo.

Um processo tem seu endereço de memória, seus registradores, descritores de arquivos abertos e sua pilha.
 Acontece que multiplexar processos para uma CPU é caro porque a cada escalonamento do novo processo, seu estado tem que ser recuperado, isto é, seu ponteiro de pilha, seu contador de programa, seus dados para os registradores...

Então a galera pensou em threads, que podem ser escalonadas intra-processo.

Cada thread, dentro um processo, possui sua propria pilha, seu proprio contador de programa e seus registradores, porém como estão dentro de um mesmo espaço de endereço de memória ( o do processo), uma thread pode muito bem acessar e modificar a pilha ou outras coisas de outra thread.

Isso não é necessariamente um problema porque threads tem um propósito mais específico que processos. Geralmente as threads trabalham juntas para se chegar à um objetivo global comum, como atender as requisições em um webserver. Para cada requisição de usuário pode ser criada uma thread.
Enunciado muito mal elaborado.

"implementarem aplicações concorrentes"

"Aplicações" é algo muito abstrato. O cara em uma prova ao ler isso fica na dúvida se a banca se refere a um processamento qualquer concorrente ou falando de programas/softwares que executam de forma concorrente.
Concordo com o comentário do colega acima. Qual a definição de aplicação? Se for um arquivo binário (executável), obviamente a questão está incorreta! (não há como carregar dois binários distintos com um único PID, process ID).
Exatamente!
Marquei errada por causa da palavra "aplicações".
Fica difícil... e olha que foi CESPE!
Pessoal. Para que tanta confusão para uma questão tão simples. A questão está corretíssima, isso, porque, o que é um ambiente multihread? É um ambiente onde há duas ou mais threads rodando dentro de um ÙNICO processo. Então, a questão ainda não pega pesado, pois ela diz: "não é necessário", realmente não é necessário haver mais de um processo. No ambiente Multithead, a aplicação concorrente -de threads- ocorre sim, porém em um único processo. Abraços e bons estudos.

Clique para visualizar este comentário

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