Imagem de fundo

Considere um sistema operacional com memória virtual paginada e, para esta questão, ado...

Considere um sistema operacional com memória virtual paginada e, para esta questão, adote o modelo clássico de Translation Lookaside Buffer (TLB), no qual as entradas do TLB não são marcadas com o processo/espaço de endereçamento ao qual pertencem. Nesse cenário, a troca de contexto entre duas threads do mesmo processo tende, em geral, a ser menos custosa do que a troca entre dois processos distintos. Assinale a alternativa que explica corretamente, do ponto de vista da memória virtual, por que isso ocorre.


A

Na troca de contexto entre threads do mesmo processo, o contexto de memória virtual permanece o mesmo, pois elas compartilham o espaço de endereçamento. Já na troca entre processos distintos, o sistema precisa trocar esse contexto, fazendo com que as traduções antigas do TLB deixem de ser aproveitáveis e precisem ser invalidadas, o que eleva o custo dos acessos subsequentes até o reabastecimento do TLB.


B

Na troca de contexto entre threads do mesmo processo, os registradores de uso geral não precisam ser salvos nem restaurados, pois todas as threads de um processo compartilham o mesmo conjunto de registradores, eliminando esse overhead da operação de comutação.


C

A troca de contexto entre threads é mais barata porque o escalonador recalcula prioridades apenas para trocas entre processos, não entre threads; trocas de threads dispensam completamente qualquer reavaliação de fila de prontos.


D

Na troca de contexto entre threads do mesmo processo, o sistema operacional reutiliza a pilha de execução da thread anterior, evitando a alocação de nova pilha e reduzindo o tempo de comutação.


E

A troca de contexto entre processos exige que o sistema operacional envie sinais de interrupção a todos os processos em execução e aguarde suas confirmações antes de escalonar o próximo; threads do mesmo processo dispensam esse protocolo de sinalização.