Che cos'è un errore di pagina?
Un errore di pagina è un'operazione che si verifica su un computer con memoria virtuale, una tecnica che consente a una parte di un disco rigido di aumentare la memoria fisica del computer. La maggior parte degli errori di pagina si verificano quando un programma tenta di accedere alle informazioni che sono state inserite nel file di memoria virtuale sul disco rigido. Questa è una normale funzione della memoria virtuale e il computer risponderà caricando le informazioni appropriate nella memoria fisica. Un tipo più grave di errore di pagina associato a arresti anomali ed errori del computer può verificarsi quando un programma cerca informazioni in una posizione di memoria che non esiste o è protetta. Ciò può essere causato da hardware difettoso o software scritto male.
I moderni sistemi informatici dividono la memoria in blocchi più piccoli noti come pagine, a ciascuna pagina si accede da un indirizzo specifico. La maggior parte dei sistemi supporta anche un concetto noto come memoria virtuale, in cui le pagine possono essere spostate dalla RAM (Random Access Memory) fisica del computer e in un file di memoria virtuale memorizzato sul disco rigido del computer, e di nuovo nella RAM, se necessario. I dettagli di questo complesso schema di gestione della memoria sono nascosti dal software; un'applicazione non ha modo di sapere se una pagina in un determinato indirizzo è caricata o meno nella RAM o nella memoria virtuale. Si verifica un errore di pagina quando un programma tenta di leggere o manipolare una parte della memoria che non è caricata nella RAM o che si trova in un indirizzo imprevisto.
Nonostante il nome minaccioso, un errore di pagina è generalmente un'azione normale e prevista e la maggior parte delle volte un utente non noterà mai che si è verificato un errore. Si tratta di un tipo di operazione nota come "trap", che significa che le istruzioni del programma che hanno causato l'errore vengono temporaneamente intercettate o intrappolate mentre il computer esamina l'indirizzo di memoria in questione. Se l'indirizzo è valido, ma non è attualmente caricato nella RAM del computer, le informazioni vengono trasferite dal file di memoria virtuale sul disco rigido nella memoria fisica e il programma riprende il normale funzionamento. Questo è noto come "scambio" o "paging in" ed è comune a quasi tutti i personal computer, indipendentemente dal sistema operativo o dalla quantità di RAM installata. Una quantità di RAM insufficiente, tuttavia, provoca il riordino costante delle pagine di memoria tra il disco rigido e la memoria fisica, con conseguente deterioramento delle prestazioni.
Il secondo possibile esito di un errore di pagina si verifica quando viene trovato un indirizzo di memoria richiesto non valido o protetto. Questo tipo di errore, noto anche come errore di segmentazione, può essere causato da moduli di memoria difettosi, dischi rigidi difettosi o software mal funzionante. Un programma speciale viene inviato al programma che ha provocato l'errore, che di solito provoca la chiusura improvvisa del programma. A seconda del sistema operativo, gli errori di pagina più gravi possono causare il malfunzionamento del sistema operativo di un computer, lasciando agli utenti un criptico Blue Screen of Death (BSoD) o un messaggio di panico del kernel.