From: Andrew Reilly on
On Mon, 26 Oct 2009 01:29:17 -0500, ArarghMail910NOSPAM wrote:

> On Mon, 26 Oct 2009 04:43:21 GMT, Brett Davis <ggtgp(a)yahoo.com> wrote:
>
> <snip>
>>
>>x86 started with base+bounds, even giving a plentiful set of offset
>>registers. Almost no one used it, and those registers were recycled for
>>other uses.
> It did? x86? When? Where? Any Docs? <snip>

That's more or less how the 286 MMU worked, and (I think) versions of QNX
and Minix and perhaps Xenix have worked with that model, too.

Probably helps that there were vaguely similar base+bound MMUs around for
Z8000 and PDP-11 variants, both of which had something-like-unix that
used them. (Not sure about the 68000 MMU capabilities: maybe they went
straight to paging, following the lead of VAX?)

The early ARM systems had a funky memory protection-but-no-mapping system
with very large granularity for mapping (32k), which made BSD Unix hard,
but worked OK for their own OS (which was a unified address space thing.)

Cheers,

--
Andrew
From: ArarghMail910NOSPAM on
On 26 Oct 2009 08:30:25 GMT, Andrew Reilly
<andrew-newspost(a)areilly.bpc-users.org> wrote:

>On Mon, 26 Oct 2009 01:29:17 -0500, ArarghMail910NOSPAM wrote:
>
>> On Mon, 26 Oct 2009 04:43:21 GMT, Brett Davis <ggtgp(a)yahoo.com> wrote:
>>
>> <snip>
>>>
>>>x86 started with base+bounds, even giving a plentiful set of offset
>>>registers. Almost no one used it, and those registers were recycled for
>>>other uses.
>> It did? x86? When? Where? Any Docs? <snip>
>
>That's more or less how the 286 MMU worked, and (I think) versions of QNX
That's not how I remember it, but I will dig out the manual and see.

>and Minix and perhaps Xenix have worked with that model, too.
I know that there was a 286 Xenix because I have a copy. I bought the
wrong version, and couldn't return it. Still have it.

386 version, also. If I could find a copy of TCP/IP for the 386
Xenix, I might actually use it for something. But SCO dropped support
for it YEARs ago. :-)

<snip>
--
ArarghMail910 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the extra stuff from the reply address.
From: Mayan Moudgill on
Joe Pfeiffer wrote:

> Mayan Moudgill <mayan(a)bestweb.net> writes:
>
>
>>Brett Davis wrote:
>>
>>
>>>As for any idea of using no MMU and a completely shared memory space
>>>like a graphics chip. That is insane. Having a thousand other
>>>processes running broken code and scribbling all over my data and
>>>code, leads to a design that will never work in the real world. Its
>>>a house of cards, in a room full of angry two year olds.
>>>
>>
>>Umm... MMU != memory protection. Various forms of base+bound
>>protection could be implemented that would give you protection without
>>needing an MMU.
>
>
> This depends critically on your definition of MMU. I'd regard
> base+bound as a really primitive MMU; you seem to require something
> stronger in order to count as an MMU.

Generally, MMU => virtual memory

And that is *probably* how the original poster thought of it too: he states:

> Otherwise you have 100 threads/CPUs fighting over MMU pages
From: Mayan Moudgill on
Brett Davis wrote:

> In article <_-OdnSjff4QDa3nXnZ2dnUVZ_omdnZ2d(a)bestweb.net>,
> Mayan Moudgill <mayan(a)bestweb.net> wrote:
>
>
>>Brett Davis wrote:
>>
>>
>>>As for any idea of using no MMU and a completely shared memory space
>>>like a graphics chip. That is insane. Having a thousand other processes
>>>running broken code and scribbling all over my data and code, leads to a
>>>design that will never work in the real world. Its a house of cards, in
>>>a room full of angry two year olds.
>>>
>>
>>Umm... MMU != memory protection. Various forms of base+bound protection
>>could be implemented that would give you protection without needing an MMU.
>
>
> x86 started with base+bounds, even giving a plentiful set of offset
> registers. Almost no one used it, and those registers were recycled for
> other uses.

No, it didn't; it started of with (a variant of) segments, which are
completely different than base+bound.

> RAM is so plentiful now that if you went with fine grain memory
> protection, you would just round up allocations and give out full pages.
> Makes paging out to disk easy, which is needed when the user closes the
> lid on his laptop, and everything is saved.
>

You wanted protection, not translation or paging support. If real memory
= address space, when do you page? BTW: preserving the memory image does
not require paging.
From: Joe Pfeiffer on
Brett Davis <ggtgp(a)yahoo.com> writes:

> In article <_-OdnSjff4QDa3nXnZ2dnUVZ_omdnZ2d(a)bestweb.net>,
> Mayan Moudgill <mayan(a)bestweb.net> wrote:
>
>> Brett Davis wrote:
>>
>> > As for any idea of using no MMU and a completely shared memory space
>> > like a graphics chip. That is insane. Having a thousand other processes
>> > running broken code and scribbling all over my data and code, leads to a
>> > design that will never work in the real world. Its a house of cards, in
>> > a room full of angry two year olds.
>> >
>>
>> Umm... MMU != memory protection. Various forms of base+bound protection
>> could be implemented that would give you protection without needing an MMU.
>
> x86 started with base+bounds, even giving a plentiful set of offset
> registers. Almost no one used it, and those registers were recycled for
> other uses.

8086 had base but no bound, and the base could be modified by a user
program (in fairness, it didn't have user/system modes).

286's segmented memory was much, much more complex than branch+bound.

> RAM is so plentiful now that if you went with fine grain memory
> protection, you would just round up allocations and give out full pages.
> Makes paging out to disk easy, which is needed when the user closes the
> lid on his laptop, and everything is saved.
>
> Does anyone use base+bounds in any market?
>
> Brett

--
As we enjoy great advantages from the inventions of others, we should
be glad of an opportunity to serve others by any invention of ours;
and this we should do freely and generously. (Benjamin Franklin)