Obsah:
- Definice - Co znamená chyba segmentace (segmentace)?
- Techopedia vysvětluje chybu segmentace (Segfault)
Definice - Co znamená chyba segmentace (segmentace)?
Porucha segmentace (segfault) je chyba vrácená hardwarem s ochranou paměti, která oznamuje operačnímu systému, že došlo k narušení přístupu k paměti. Operační systém obvykle reaguje vyprávěním o přestupku o chybě prostřednictvím signálu a poté OS provede nějaký druh nápravných opatření. K tomu dochází, protože proces nebo program se pokouší získat přístup k paměti, která není k němu přiřazena.
Porucha segmentace je také známa jako narušení přístupu.
Techopedia vysvětluje chybu segmentace (Segfault)
Porucha segmentace je často způsobena chybami v programování procesu nebo aplikace, ve které je program veden k přístupu do paměti, která nebyla přidělena pro ni, ale pro jiné programy nebo pro samotný systém. Proces se nesmí dotýkat paměti, která není pro něj vyhrazena, protože před použitím musí vždy vyžadovat paměť. Proto, když náhodně dotkne paměti, která není přiřazena, dojde k narušení přístupu.
Segfaults může být také způsoben rekurzivní funkcí, která může využívat veškerý zásobníkový prostor, který je přiřazen, a rychle zasáhnout do paměti, která mu není přiřazena. V některých systémech se to považuje za přetečení zásobníku, pro jiné je to prostě druh narušení přístupu.
Porucha segmentace může být zpracována procesem prostřednictvím uživatelského obslužného programu signálu, ale často se používá výchozí obslužný program signálu, který obvykle vede k abnormálnímu ukončení procesu trestného činu, nazývaného havárie, nebo OS nutí skládku jádra. .
