On Thu, 15 Apr 1999, Ury Segal wrote:
>Not always. Segmentation Fault is caused by any Segmentation problem, not
>just permissions problem.
>
>For example, assume that a given Address A is not mapped. Is it true to say that
>
>a program is not "allowed" to touch... but to touch what? Since that address
>isn't even mapped, you can't say anything about it's attribute - neither the
>privilage level ( Ring in x86, x>2 ) , or Page mode , or Page type - neither
>of them exist.
Duh I knew I left something out:
In Linux, which has virtual memory, the 'faults' are treated in turn. For
example, if a page is swapped, and is accessed, a mapping exception (I
don't remember the proper name) happens, and the page gets loaded, then
the permission bit collision can happen or not (the permission bits are
saved and loaded with the page afaik).
There are such things as 'double faults' and 'triple faults'. A triple
fault shuts down the CPU (or resets it ?) afaik. Udi ? ;)
Double and triple faults are only common in OS and firmware development
<g>.
Peter