O que é a mudança de contexto?
Um dos maiores passos adiante no design e operação de unidades centrais de processamento (CPUs) veio quando os designers de sistemas operacionais de computadores desenvolveram técnicas para permitir que os usuários multitassem. Multitarefa em referência a computadores é a prática de executar dois ou mais programas ao mesmo tempo. Do ponto de vista do usuário final, isso pode não parecer complicado ou exagerado, mas na verdade representa um salto considerável no design do sistema. Na multitarefa, a CPU deve conciliar todas as operações para os diferentes programas ativos, registrando onde está com cada programa enquanto o usuário alterna entre eles. A mudança de contexto é o processo que permite à CPU lembrar e restaurar os estados para uma variedade de programas ativos, permitindo que ele conclua esse ato de malabarismo.
Durante a comutação de contexto, a CPU diminui qualquer programa que esteja lidando atualmente, armazenando o local específico em que estava nesse programa para que possa retomar seu progresso posteriormente. Para colocar isso em perspectivaVE, a troca de contexto é um pouco como ler vários livros ao mesmo tempo, alternando constantemente entre eles enquanto sempre lembrava dos números da página para cada um. As informações "Número da página" para programas durante uma operação de comutação de contexto são mantidas pelo Bloco de Controle de Processos (PCB). Às vezes, o PCB também é chamado de "SwitchFrame". Esta informação é armazenada na memória na CPU real, até que seja necessária novamente.
A troca de contexto ocorre durante três situações possíveis: manuseio de interrupção, multitarefa e comutação de usuário. No manuseio de interrupções, outro programa "interrompe" o programa atual enquanto estiver em execução. Depois que a CPU recebe a interrupção, ela executa uma troca de contexto para fazer malabarismos entre o programa em execução e o programa solicitando dados imediatos. Na multitarefa, a CPU falha entre os programas, dando uma fatia de tempo de processamento de Tieu para cada um e executando uma operação de troca de contexto para mudar entre os dois. Para alguns sistemas operacionais, uma chave de contexto também é realizada durante uma chave de usuário para o sistema operacional, embora isso não seja expressamente necessário.
O sistema operacional ou o hardware do computador podem controlar a comutação de contexto. Alguns sistemas operacionais modernos e são projetados para controlar a troca de contexto através do próprio sistema operacional, ignorando qualquer suporte de hardware interno para o procedimento. Isso permite que o sistema operacional salve mais informações durante uma mudança de contexto, permitindo que ele preserve mais informações sobre o interruptor.