Преглед садржаја:
- Дефиниција - Шта значи грешка сегментације (Сегфаулт)?
- Техопедиа објашњава грешку сегментације (Сегфаулт)
Дефиниција - Шта значи грешка сегментације (Сегфаулт)?
Грешка сегментације (сегфаулт) је грешка коју хардвер враћа са заштитном меморијом која оперативном систему говори да је дошло до повреде приступа меморији. Оперативни систем обично реагује тако што сигнализује прекршитељском процесу грешку путем сигнала, а затим ОС извршава неку врсту корективне радње. То се догађа зато што процес или програм покушава приступити меморији која му није додељена.
Грешка сегментације је такође позната као кршење приступа.
Техопедиа објашњава грешку сегментације (Сегфаулт)
Грешка сегментације често је изазвана грешкама у програмирању процеса или апликације у којима се програм води ка приступној меморији која му није додељена већ за друге програме или за сам систем. Процесу није допуштено додиривати меморију која није резервирана за њега, јер она увијек мора захтијевати меморију прије него што је користи. Стога, када случајно додирне меморију која му није додељена, долази до кршења приступа.
Сегфаултс могу такође бити узроковане рекурзивном функцијом која може искористити сав простор скупа који јој је додијељен и брзо упасти у меморију која му није додијељена. У неким се системима ово сматра преливањем снопа, али за друге је то једноставно својеврсно кршење приступа.
Грешка сегментације може се ријешити процесом преко прилагођеног руковаоца сигнала, али често се користи подразумевани руковатељ сигнала ОС-а, што обично резултира тиме да се прекршајни процес прекине, назван пад, или ОС присиљава избацивање језгре .