Porque é que a mudança de contexto é má para o desempenho do computador?
A mudança de contexto, que ocorre quando um processo é pausado pela CPU e outro processo começa a ser executado, pode afetar o desempenho de um sistema de computador por algumas razões. O ato de mudar o contexto não é em si muito demorado. O verdadeiro desempenho vem do fato de que diferentes processos têm diferentes espaços de endereço de memória virtual, então todos os caches no sistema precisam ser invalidados e limpos. Uma vez que há uma diferença tão grande em quão rápido uma CPU pode ser executada em comparação com a rapidez com que instruções e dados podem ser recuperados da memória principal, essas coisas são armazenadas em cache perto da CPU em caches onboard. Até mesmo um ponteiro para um mapeamento de endereços virtuais para endereços físicos é armazenado em cache para que o acesso à memória seja mais rápido. Quando um novo processo é carregado pela CPU com um espaço de endereço diferente e mapeamento de endereços virtuais para endereços físicos, todos os dados nos caches são inválidos e precisam ser limpos. Isso deixa a cache vazia, o que significa que a recuperação de instruções e dados da cache da memória principal terá muito mais lenta do que a recuperação de novas instruções, já que haverá uma grande desaceleração da memória.