More than one Code segment???
BV> Ok.... I though that *nix called these segments (hence
BV> "segmentation fault") and Windows called them pages
BV> and they were the same except that pages are fixed
BV> size and segments can be any size. Are they at all similar?
The difference does not stem from operating systems. It stems from
processors. Some processors have paging. Some processors have
segmentation. Some, like those with the Intel x86 architecture, have
both. The reason that paging errors are "segmentation faults" on Unix
is an accident of Unix history. Early Unices ran on processors that
only had segmentation, not paging. (The very earliest Unices ran on
processors that had neither.) The nomenclature is preserved, even
though the actual hardware events that cause the signal to be raised
are not the same on (say) x86 processors as they are on PDP-11/45s.
Moreover: Some operating systems, most notably the *BSDs, map various
page faults onto the "bus error" signal rather than onto the
"segmentation fault" signal.
For the differences between paging and segmentation, get yourself a
good introductory-level textbook on computer architectures. Or attend
a course on the subject such as (picking at random from Google Web
results) these ones: <URL:[url]http://faculty.juniata.edu./rhodes/os/[/url]