Main Page | See live article | Alphabetical index

Segmentation fault

A segmentation fault is a particular error condition that can occur in computer programming. The short definition is that the program attempts to access a memory location that it is not allowed to access, or attempts to access a memory location in a way it is not allowed to (eg, attempts to write a read-only location). Systems based on processors like the Motorola 68000 tend to refer to these things as Address or Bus errors.

Segmentation is one approach to memory management and protection in the operating system. It has been superseded by paging for most purposes, but much of the terminology of segmentation is still used, "segmentation fault" being an example of this. Some operating systems still have segmentation at some logical level even though paging is used as the main memory management policy.

UNIX programmers are likely to use the term synonymously with "segmentation violation" and the associated signal, SIGSEGV.