Acasă Audio Ce este o defecțiune de segmentare (Segfault)? - definiție din techopedia

Ce este o defecțiune de segmentare (Segfault)? - definiție din techopedia

Cuprins:

Anonim

Definiție - Ce înseamnă Segmentation Fault (Segfault)?

O defecțiune de segmentare (Segfault) este o eroare returnată de hardware cu protecție de memorie care spune sistemului de operare că a avut loc o încălcare a accesului la memorie. Sistemul de operare reacționează, de obicei, spunând despre procesul de jignire despre eroare printr-un semnal și apoi sistemul de operare efectuează un fel de acțiune corectivă. Acest lucru se întâmplă deoarece un proces sau un program încearcă să acceseze memoria care nu i se atribuie.

O eroare de segmentare este, de asemenea, cunoscută sub numele de încălcare de acces.

Techopedia explică Segmentation Fault (Segfault)

O defecțiune de segmentare este adesea cauzată de erori în programarea unui proces sau a unei aplicații în care programul este condus la accesarea memoriei care nu a fost alocată pentru el, ci pentru alte programe sau pentru sistemul însuși. Un proces nu are voie să atingă memoria care nu este rezervată, deoarece trebuie să solicite întotdeauna memorie înainte de a o folosi. Prin urmare, atunci când atinge din greșeală memoria care nu i se atribuie, apare o încălcare a accesului.


Defecțiunile pot fi, de asemenea, cauzate de o funcție recursivă, care poate utiliza tot spațiul de stivă pe care este alocat și încurcarea rapidă pe memoria care nu i-a fost atribuită. În unele sisteme, aceasta este considerată o revărsare de stivă, dar pentru altele este pur și simplu un fel de încălcare a accesului.


O defecțiune de segmentare poate fi gestionată de un proces printr-un instrument de gestionare a semnalelor personalizate, dar de multe ori este folosit manipulatorul de semnal implicit al sistemului de operare, care, de obicei, duce la încheierea anormală a procesului, numit crash sau OS-ul forțând un dump core .

Ce este o defecțiune de segmentare (Segfault)? - definiție din techopedia