General Protection Fault

General Protection Fault (GPF) é um termo em inglês para Falha Geral de Proteção, que indica um tipo de erro de exceção fatal que o Windows não consegue identificar, geralmente relacionado a violações de memória.

Ocorrência editar

Para alcançar o estado de execução, o software utiliza a memória para realizar seu trabalho. Os programas compatíveis com o Windows precisam reservar memória para funcionarem. Se os programas não reservarem a memória da maneira correta, eles podem substituir potencialmente o espaço na memória reservado para outros programas. Quando isso acontece, as conseqüências podem ser inúmeras, incluindo perda de dados importantes armazenados no disco rígido. Um GPF (ou outros erros relacionados a memória) podem ocorrer para impedir que isso aconteça.

A falha ocorre quando o registrador de deslocamento de um segmento gera um endereço físico no outro segmento, ou seja, um segmento invade o outro segmento. No modo real este evento provoca o travamento do microprocessador, pois nesse modo o microprocessador não possui salva-guardas que detecte o GPF.

Para que a GPF não ocorra, é necessário que alguns dos segmentos, que no modo real podem ocupar até 64KBytes, não ocupem efetivamente todos esses endereços do segmento, e o sistema operacional(SO) visando otimizar o uso da memória, para que esta não fique fragmentada, o SO inicia o segmento subseqüente na área não utilizada do segmento anterior.