Voltar

Com relação ao gerenciamento de processos e fluxos de execução (Threads) e...

Com relação ao gerenciamento de processos e fluxos de execução (Threads) em sistemas operacionais, analise. I. Um processo é basicamente um programa de execução. Associado a cada processo...


publicidade

Com relação ao gerenciamento de processos e fluxos de execução (Threads) em sistemas operacionais, analise.

I. Um processo é basicamente um programa de execução. Associado a cada processo, está o espaço de endereçamento, uma lista de posições de memória, que varia entre uma quantidade mínima e uma quantidade máxima de posições que este processo pode ler e escrever.

II. As condições que normalmente ocasionam o término de um processo são: saída normal (voluntária), saída por erro (voluntário), erro fatal (involuntária) e cancelamento por outro processo (involuntário).

III. As ULT (User-Level Thread) são escalonadas diretamente pelo sistema operacional, comumente são mais lentas que as Threads KLT, pois a cada chamada, necessitam consultar o sistema operacional, exigindo, assim, a mudança total do contexto do processador, memória e outros níveis necessários para alternar um processo.

IV. As KLT (Kernel-Level Thread) são escalonadas pelo programador, tendo a grande vantagem de cada processo poder usar um algoritmo de escalonamento que melhor se adapte à situação. O sistema operacional não tem a obrigação de fazer o escalonamento destas threads, em geral, nem sabe que elas existem e estas threads são geralmente mais rápidas que as KLT.

Estão corretas apenas as afirmativas

Analisando...
publicidade

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

Criar conta grátis
  • Equipe Gabarite
    Equipe Gabarite EQUIPE
    03/11/2026 • 20:01
    Vamos esclarecer o tema de gerenciamento de processos e threads em sistemas operacionais, que é fundamental para entender como o sistema lida com múltiplas tarefas e como elas são controladas e executadas.

    Primeiro, sobre os processos: eles são de fato programas em execução e possuem um espaço de endereçamento, que é onde eles armazenam dados e código durante sua execução. Essa área de memória é alocada pelo sistema operacional para garantir que o processo trabalhe isoladamente e com segurança. Portanto, a afirmativa I está correta.

    Seguindo, o término de processos pode ocorrer por várias razões, incluindo saída normal (quando o processo finaliza sua tarefa e termina voluntariamente), saída por erro (quando o processo detecta um problema e termina voluntariamente), erro fatal (quando ocorre uma falha inesperada, involuntariamente) e cancelamento por outro processo (onde um processo termina outro, involuntariamente). Isso confirma que a afirmativa II está correta.

    Agora, sobre as threads: existem dois tipos principais, ULT (User-Level Threads) e KLT (Kernel-Level Threads). As ULT são gerenciadas pela biblioteca de threads no espaço do usuário, sem intervenção direta do kernel para cada operação de escalonamento, o que as torna mais rápidas, pois evitam a troca de contexto para o kernel. Portanto, a afirmativa III está incorreta ao dizer que ULTs são escalonadas diretamente pelo sistema operacional e são mais lentas.

    Por sua vez, as KLT são gerenciadas pelo kernel, que escala as threads diretamente, alterando o contexto do thread a nível de sistema operativo. As KLT são normalmente mais lentas que as ULTs para operações de troca de contexto devido ao envolvimento do kernel. Além disso, o escalonamento das KLT é feito pelo sistema operacional, e não pelo programador, que não escolhe o algoritmo para cada thread. Então, a afirmativa IV também está errada.

    Resumindo, estão corretas apenas as afirmativas I e II. Portanto, o gabarito correto é a alternativa d).
publicidade
🍪

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.