Programs larger than real memory on an 80286 ???
Jim O'Connor
jim at fsc2086.UUCP
Sun Sep 11 15:29:04 AEST 1988
In article <466 at uport.UUCP>, plocher at uport.UUCP (John Plocher) writes:
> In article <235 at extro.ucc.su.oz> glenn at extro.ucc.su.oz (G. Geers [ext 3241]) writes:
> >I am curious to know why Xenix 2.1.3 sets a maximum user process size
> >restriction (329 kb with 640 kb installed on an AT).
> >Does microport also have this restriction ???
>
> Microport Unix V/AT requires that the complete image of a process be in
> memory while it is being executed. This is because the 286 does not
> support demand paging like the 386 does. On a 640K system, the kernel
On page 9-1 of the Intel _80286 Operating Systems Writer's Guide_, it states:
"The memory legitimately addressed by the tasks running on an 80286 (the
[italics] virtual memory) may exceed the actual memory available.
. . .
Virtual memory isolates programmers from the amount of real memory in a
computer system. . . .
The 80286 provides the essential hardware mechanisms without which virtual
memory systems would not be possible. . .
In each segment descriptor, the 80286 architecture provides an [italics]
accessed bit [ei] and a [italics] present bit [ei] to aid the operating system
in simulating the virtual memory space with available RAM. . . ."
The rest of the chapter goes on to explain, in quite a bit of detail, how to
support demand paging. I believe your statement above to be incorrect.
Mr. Geers' gripe is a legitimate one. Apparently the 80286 has been able to
support virtual memory systems, yet the 80286 OS designers chose to leave it
out. I would be interested in hearing why. Surely you all bought the Intel
book I mentioned, I don't think I paid more than $20 dollars for it, and I
was just a curious programmer.
In the future, it would be appreciated if you had all your facts straight when
justifying design decisions. Of course, if the data published by Intel is
incorrect, the pie is on my face instead. :-)
Since there is all that demand paged code written for the 386, I don't
suppose anyone wants to retrofit it to the 286, now that we know it
should be possible?
More information about the Comp.unix.microport
mailing list