[net.micro.amiga] Amiga MMU question

u557593877ea@ucdavis.UUCP (Bruce K. Martin) (10/25/85)

  A question for the Amiga experts.  I don't pretend to be an expert on the
subject, but doesn't a multitasking enviroment need some sort of memory
protection to keep processes from clobering each other.  It is my understanding
that the Amiga does not have an MMU.  So this protection must be in software.
How does this work, and how reliable is it.  Could I simply write a program
to march through memory and write over all other processes.
  Any answers would be appreciated.  Thanks in advance...

				Bruce Martin

neil@amiga.UUCP (Neil Katin) (10/27/85)

In article <192@ucdavis.UUCP> u557593877ea@ucdavis.UUCP (Bruce K. Martin) writes:
>  A question for the Amiga experts.  I don't pretend to be an expert on the
>subject, but doesn't a multitasking enviroment need some sort of memory
>protection to keep processes from clobering each other.  It is my understanding
>that the Amiga does not have an MMU.  So this protection must be in software.
>How does this work, and how reliable is it.  Could I simply write a program
>to march through memory and write over all other processes.
>  Any answers would be appreciated.  Thanks in advance...
>
>				Bruce Martin


Multitasking does NOT require an MMU.  Processes are allocated separate
places in memory, and then are timesliced (the same way one would if one
did have an mmu...).  There is no protection between different processes.
One could write a program that trashes memory, and therefore the system
(hence the infamous "GURU MEDITATION...").

Correctly written programs run without any problems, however.

	Neil Katin
	Commodore-Amiga Inc.

bjorn@dataioDataio.UUCP (Bjorn Benson) (10/29/85)

>     ...but doesn't a multitasking enviroment need some sort of memory
>protection to keep processes from clobering each other.

Yes.

>						...It is my understanding
>that the Amiga does not have an MMU.  

Yes, it doesn't.

>				    ...So this protection must be in software.

Yes, it should be.

>How does this work, and how reliable is it.

There is none, and thus I have no reliability figures.

>					Could I simply write a program
>to march through memory and write over all other processes.

Yes.  One such program can be found by following my 5 easy steps to a crash:

(1)	Boot up, dual drives, the works.  Get to desktop.
(2)	Remove both disks (after the red lights are off!)
(3)	Move one disk icon over the other.
(4)	Answer "continue" to all requesters.
(5)	Watch your Amiga go into spasms.

				Just had a bad day...
				  Bjorn Benson

freed@aum.UUCP (Erik Freed) (10/30/85)

> >  A question for the Amiga experts.  I don't pretend to be an expert on the
> >subject, but doesn't a multitasking enviroment need some sort of memory
> >protection to keep processes from clobering each other.It is my understanding
> 

> Multitasking does NOT require an MMU.  Processes are allocated separate
> places in memory, and then are timesliced (the same way one would if one
> did have an mmu...).  There is no protection between different processes.
> One could write a program that trashes memory, and therefore the system
> (hence the infamous "GURU MEDITATION...").
> 
> Correctly written programs run without any problems, however.
  ^^^^^^^^^^^^^^^^^
> 

I think that this statement should be shanged to "bug free" software should
run without any problem. For single user systems this might be reasonable.
The place where you need the MMU is where there are multiple users each of
which could be in the process of debugging software. I will be interested,
now that there are alot of multitasking no-protection systems around, to see if
they are usable in a professional scenario where a crash could do more harm
than just annoy the user...
-- 
-------------------------------------------------------------------------------
                           Erik James Freed
			   Aurora Systems
			   San Francisco, CA
			   {dual,ptsfa}!aum!freed

waycott@mot.UUCP (John Waycott) (11/06/85)

> 
> > Multitasking does NOT require an MMU...
> > 
> > Correctly written programs run without any problems, however.
>   ^^^^^^^^^^^^^^^^^
> I think that this statement should be shanged to "bug free" software should
> run without any problem....
> ... I will be interested,
> now that there are alot of multitasking no-protection systems around, to see if
> they are usable in a professional scenario where a crash could do more harm
> than just annoy the user...

I have worked with Alpha Microsystems' computers for many years.  These are
multi-user machines used mostly in small-medium sized businesses.  Although
they have no MMU protection, my experience has been that these systems crash
almost exclusively due to program bugs.  On the other hand, I have found
complete crashes to be the exception, rather than the rule when a program
runs into the weeds.

I feel, however, that the state of the technology is such that MMU's should
be a matter of course in any new computer designs.  Alpha Micro's systems
are successful because they are used almost exclusively in business
applications where very little program development goes on and users are
using canned programs where the serious bugs have been removed.
-- 
John Waycott, Motorola Microsystems, Tempe, AZ, (602) 438-3164
{seismo!terak, trwrb!flkvax, utzoo!mnetor, ihnp4, attunix}!mot!waycott
oakhill!mot!waycott@ut-sally.ARPA

hr@uicsl.UUCP (11/07/85)

RE:
"> Multitasking does NOT require an MMU.  Processes are allocated separate
> places in memory, and then are timesliced..."

Actually, I have seen a TIMESHARING system that didn't have an MMU.
A couple of groups here had Alpha Micro systems. The processor was
the Western Digital "almost an LSI-11" chip set. The operating system
looked to the user a LOT like DEC's TOPS-10. PPN [1,2] was the system
account, for instance.

All the high level languages, like Lisp, generated position
independent code. They also checked to make sure that the users didn't
get outside of their areas. If you wrote in assembler, you could do
nasty things.

Since most of the users were doing word processing or simple programs,
and were friendly, the system seemed fairly stable.


A question for those who know. How much would a simple MMU have cost to
implement? Stride sells one for either $400 or $600 (I can't remember).
The Amiga was obviously designed to meet a specific price point. Why
else would they have made the 256KB an option? Our local dealer has
apparently not sold a single 256KB only system.


						harold ravlin
					{ihnp4,pur-ee}!uiucdcs!uicsl!hr

jbs@mit-eddie.UUCP (Jeff Siegal) (11/08/85)

In article <436@mot.UUCP> waycott@mot.UUCP (John Waycott) writes:
>> 
>> > Multitasking does NOT require an MMU...
>> > 
>> > Correctly written programs run without any problems, however.
>>   ^^^^^^^^^^^^^^^^^
>> I think that this statement should be shanged to "bug free" software should
>> run without any problem....
...
>> they are usable in a professional scenario where a crash could do more harm
>> than just annoy the user...
>
...
>using canned programs where the serious bugs have been removed.
                       ========================================
                          ?    ?     ?     ?     ?     ?    ?

How do you know that before your payroll (or A/R) file is corrupted by
"that one last bug?"

Jeff Siegal - MIT EECS

gwe@cbdkc1.UUCP ( George Erhart x4021 CB 3D288 WDS ) (11/08/85)

In article <151400006@uicsl> hr@uicsl.UUCP writes:
>
>RE:
>"> Multitasking does NOT require an MMU.  Processes are allocated separate
>> places in memory, and then are timesliced..."
>Actually, I have seen a TIMESHARING system that didn't have an MMU.
>A couple of groups here had Alpha Micro systems. The processor was
>the Western Digital "almost an LSI-11" chip set. The operating system
>looked to the user a LOT like DEC's TOPS-10. PPN [1,2] was the system

Long ago and far away, there was a little timeshare system called UNIX that
ran on a PDP11/20 with 56k of usable ram. I have used this system, it was
sold to educational institutes for $200-$400. It was called Mini-Unix and
was a cut down copy of Version 6. There is no doubt in my mind that some
smart soul could find a copy and port it! I know that a version was made that
ran on a PDP11/03 (a.k.a. LSI 11) with floppies! Having an MMU is nice if
you was a more reliable system, but it is not a requirement for timesharing.
-- 
George Erhart at AT&T Bell Laboratories Columbus, Ohio 
614-860-4021 {ihnp4,cbosgd}!cbdkc1!gwe

tim@ISM780B.UUCP (11/09/85)

This is where the 80386 is going to win big.  Unless the hardware guys are
real perverse, it will be impossible to make a 386 based system that can't
support a real multi-user multi-tasking _safe_ operating system.

About the only thing they could do is provide a fragmented phyisical
address space, where the fragments are smaller than 4k.  Of course,
someone will probably take this as a challenge...