Seria possível evitar um switch de contexto (o switch de P2 para P1) por não agendar P2 para ser executado enquanto aguarda a conclusão da operação do disco. Presumivelmente, se você fizesse isso, P1 retomaria a execução um pouco mais cedo, com um TLB mais quente.
Você não pode evitar toda a alternância de contexto porque a chamada do sistema envolve uma alternância de contexto (usuário para o kernel), assim como a retomada de P1 após a interrupção de conclusão do dispositivo. Mas você poderia evitar dois switches do contexto do usuário (embora apenas um dos switches afetem o tempo de P1).
Portanto, se sua única medida de desempenho for a rapidez com que P1 é executado, você poderá extrair um pouco mais dedicando essa CPU a P1 e não permitindo que nenhum outro processo seja executado. Mas sabemos que a atividade do disco é lenta em comparação com a alternância de contexto, e a questão é sobre o desempenho
geral , não sobre o P1 sozinho. Portanto, faz sentido programar o P2 para ser executado durante a espera, mesmo que ele introduza um pequeno atraso na retomada do P1 depois.