cclist at sydex.com
Wed Feb 22 13:14:40 CST 2006
On 2/22/2006 at 8:06 AM Brian Wheeler wrote:
>> But I confess I'm not 100% clear on the difference. Does anyone know
>> of a good online reference to explain it?
The wikipedia on memory management isn't too bad; contrast "segmentation"
However, like a lot of computer-related stuff, these terms are
evolutionary. The wiki would have you believe that special hardware is
necessary for either paging or segmentation. Not true at all--JRT Pascal
used segmentation and ran on a Z80 and I've worked on one BASIC
implementation that paged from disk on an 8085.
Similarly, my earlier comment was that a paging system could be implemented
on a 286 if the page size was defined as the segment size limit--64K.
Since the 286 doesn't offer offsets greater than 64K, one would still have
to go through the nonsense of segment/offset calculation (why the 8086
never implemented a single instruction to compute a segment/offset from an
existing segment-offset+displacement is beyond me), every distinct selector
value represents a different page.
To its credit, Windows 3.x did allocate large structures as a series of
consecutively numbered selectors, so that a program could simply compute a
new selector+offset value.
More information about the cctech