Sidfel
| Den hÀr artikeln behöver kÀllhÀnvisningar för att kunna verifieras. (2023-02) à tgÀrda genom att lÀgga till pÄlitliga kÀllor (gÀrna som fotnoter). Uppgifter utan kÀllhÀnvisning kan ifrÄgasÀttas och tas bort utan att det behöver diskuteras pÄ diskussionssidan. |
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
- sidan inte finns i primÀrminnet
- programmet har inte lÀs- eller skrivrÀttigheter för den sidan
- 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.