A capacidade de um sistema operacional moderno de executar múltiplas aplicações de forma aparentemente simultânea é uma de suas características mais fundamentais. Essa funcionalidade depende de um gerenciamento sofisticado das unidades de execução pelo núcleo do sistema, que aloca os recursos computacionais de maneira controlada. A compreensão da natureza teórica dessas unidades e de como os recursos são distribuídos entre elas é essencial para entender o funcionamento interno do sistema. Com base nos princípios de gerenciamento de tarefas no sistema operacional Windows, assinale a alternativa que descreve corretamente a relação entre processos e threads.
- A Um processo e uma thread são unidades de execução independentes, mas os processos são gerenciados pelo escalonador do Windows de forma preemptiva, enquanto as threads são gerenciadas de forma cooperativa, dependendo de outras threads para liberar o processador.
- B Um processo cria múltiplas threads para otimizar a execução, e cada thread recebe do sistema operacional um espaço de endereço de memória completamente isolado e independente, garantindo que a falha em uma thread não afete as demais.
- C Um processo é a instância de um programa em execução que contém recursos alocados, como espaço de endereço de memória e arquivos, enquanto uma thread é a unidade de execução dentro de um processo, que compartilha esses recursos com outras threads do mesmo processo.
- D Um processo é a unidade básica de escalonamento da CPU, que opera dentro de uma thread, sendo esta última a responsável por alocar o espaço de memória e os demais recursos do sistema necessários para a execução.