Xenix 286?

Chuck Guzis 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"
with "paging":

http://en.wikipedia.org/wiki/Virtual_memory

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.  

Cheers,
Chuck





More information about the cctech mailing list