Com relação às características e funções básicas de um siste...
Em um ambiente com múltiplos threads (multithread), não é necessário haver vários processos para se implementarem aplicações concorrentes.
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
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.
"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.
Marquei errada por causa da palavra "aplicações".
Fica difícil... e olha que foi CESPE!
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo