Hoppa till innehÄllet

Sidfel

FrÄn Wikipedia

Ett sidfel Àr ett avbrott som uppstÄr nÀr ett program försöker komma Ät en virtuell minnescell som inte finns i RAM. Den mjukvara som hanterar avbrottet Àr oftast del av ett operativsystem och hÄrdvaran som orsakar avbrottet Àr oftast MMU-enheten i en processor. Operativsystemet kan försöka ÄtgÀrda sidfelet genom att hÀmta sidans innehÄll frÄn sekundÀrminnet och lagra det i tillgÀngligt primÀrminne eller avsluta programmet om det rör sig om en illegal minnesaccess.

Orsaker till sidfel

[redigera | redigera wikitext]

Ett sidfel kan uppstÄ nÀr ett program försöker att lÀsa eller skriva en minnesadress och

  1. sidan inte finns i primÀrminnet
  2. programmet har inte lÀs- eller skrivrÀttigheter för den sidan
  3. adressen Àr illegal (nollpekare eller pÄ annat sÀtt utanför programmets tillgÀngliga adresser.

Om sidan redan finns i primÀrminnet kallas det ett mjukt sidfel; om sidan inte finns i primÀrminnet Àr det ett hÄrt sidfel och tar mycket lÄng tid att ÄtgÀrda eftersom lÀsning frÄn ett typiskt sekundÀrminne kan ta cirka 10 millisekunder -- under denna tid skulle en processor med 1 GHz klockfrekvens grovt rÀknat kunna utföra 10 miljoner maskininstruktioner.

Sidfel som orsakats av illegala minnesaccesser kan resultera i en programkrasch, ett segmenteringsfel eller core dump beroende pÄ operativsystemsmiljön.