| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 4746.1 | Ask a dumb question... | TLE::ALIVE::ASHFORTH | Lord, make me an instrument of thy peace | Wed May 15 1991 09:56 | 13 | 
|  | Re basenote:
Well, that depends- how soon are you going to start the port, how much time are
you going to put into it, and how good are you?
  _____
 / . . \
{   .   }
 \ \_/ /
  \___/
Cheers,
	Bob
 | 
| 4746.2 | Need an MMU | TLE::RMEYERS | Randy Meyers | Wed May 15 1991 14:21 | 6 | 
|  | Re: .0
>What are the chances of getting OSF/1 up and running on an Amiga?
I strongly suspect that it would require an MMU, so you would need
an accelerator card or a 3000.
 | 
| 4746.3 | What's an MMU | BAHTAT::BAHTAT::HILTON | How's it going royal ugly dudes? | Thu May 16 1991 05:51 | 1 | 
|  |     What's an MMU?
 | 
| 4746.4 | discourse on MMUs | SAUTER::SAUTER | John Sauter | Thu May 16 1991 08:11 | 34 | 
|  |     MMU is Memory Management Unit.  It permits an address specified by a
    program (a "virtual address") to be directed to a supervisor-specified
    location of memory (a "physical address").  Some MMUs also allow the
    supervisor to specify that certain addresses in virtual memory cause
    the running program to trap to the supervisor.
    
    Unix(tm), being a multi-user system, wants to allow each of its
    simultaneous users to write and debug programs at the same time without
    interfering with each other.  Getting a "GURU" because of a programming
    error is not acceptable.  Therefore, it uses the MMU to prevent the
    current user from destroying memory that belongs to other users, or
    to the supervisor.  In addition, it can write parts of a user's memory
    to disk, and mark those parts of the user's virtual address space
    to cause a trap to the supervisor when referenced.  When the trap
    is triggered the supervisor reads the data back from the disk and
    modifies the MMU's tables to permit the reference.  This is paging.
    
    Usually, in a system like this, each user will be given a virtual
    address space starting at 0.  This allows developers to write programs
    that are not position-independent but still shared between simultaneous
    users.  This isn't very important on the 68000, in which writing position-
    independent code is easy, but it is important for some other
    instruction sets.
    
    Many DEC machines have had MMUs.  In the VAX it is a mandatory part of
    the architecture.  All but the smallest PDP-11s have one.  The PDP-10
    line have all had MMUs, though the early machines had rather primitive
    ones.
    
    I believe the first computer with an MMU was either the special IBM
    7090 built for the MIT timesharing project in the early 1960s, or the
    English Electric KDF9, a British machine known to me only through
    rumor.  In any case, the idea has been around about 30 years.
        John Sauter                                              
 | 
| 4746.5 | Multi-tasking Amiga?? | BAHTAT::BAHTAT::HILTON | How's it going royal ugly dudes? | Thu May 16 1991 10:48 | 11 | 
|  |     re -1
    
    Cheers, John.
    
    So the Amiga is a multi-tasking machine without an MMU?
    
    IF it can cope with multi-tasking Amiga DOS, why can't it cope with
    UNIX(tm)?
    I'd accept a few guru's!!
    
    Greg - getting more confused then when I asked the question!!
 | 
| 4746.6 | multi-tasking != multi-user | SAUTER::SAUTER | John Sauter | Thu May 16 1991 11:15 | 14 | 
|  |     Yes, the Amiga is a multi-tasking (but not multi-user) machine without
    an MMU.  AmigaDOS is a much newer operating system than Unix---it uses
    techniques developed since Unix was designed to do efficient, reliable
    multitasking without needing an MMU.  That efficiency and reliability
    is purchased at the expense of not being able to recover from a buggy
    program without a reboot: there is no resource tracking and no way to
    prevent a runaway program from trashing some other task's memory.
    
    On a single-user machine, GURUs are acceptable.  On a multi-user
    machine, particularly one intended for the education market where
    an army of Freshmen will be attached to Amigas, probably 10 or 15
    per CPU, and learning to code in C, having to reboot whenever any
    user makes a mistake isn't acceptable.
        John Sauter
 | 
| 4746.7 | Virtual memory is the key... | TLE::ALIVE::ASHFORTH | Lord, make me an instrument of thy peace | Thu May 16 1991 11:17 | 13 | 
|  | Re .5:
The main reason for an MMU is to allow an OS to map a program's requests for
memory to a pagefile on disk. AmigaDOS uses actual memory, not virtual memory,
which is why people who want to run large programs *have* to have lots of
RAM. In a VM system, such as a VAX, if you don't have much memory, you can
still run large programs- they're just slower. OSF, like U*ix, uses virtual
memory and thus would require an MMU.
I hope I haven't muddied your waters even more-
Cheers,
	Bob
 | 
| 4746.8 | No MMU doesn't imply no resource tracking... | MADRE::MWM |  | Fri May 17 1991 17:17 | 13 | 
|  | It looks like .6 implies that no MMU means you don't have resource tracking.
This isn't the case; OS/9 manages to do resource tracking without an MMU,
and it's possible to get packages to track various resources on the Amiga.
However, you can't get a protected memory environment without an MMU, so
it's not safe to continue running after a program crashes (you don't know
what else it destroyed). A program that doesn't crash can free it's own
resources on exit, so resource tracking doesn't really buy you a great deal.
Methinks the decision not to do resource tracking in an unprotected environment
is a reasonable tradeoff.
	<mike
 | 
| 4746.9 | ATLAS... | VMSNET::WOODBURY |  | Mon May 20 1991 19:39 | 4 | 
|  | Re .4:
	I believe you are thinking of the ATLAS project at some university in 
    Great Britain.  The book I have that mentions it is at home though.
 | 
| 4746.10 | A while ago, quite a while... | ULTRA::BURGESS | Mad Man across the water | Wed May 22 1991 09:55 | 17 | 
|  | re                      <<< Note 4746.9 by VMSNET::WOODBURY >>>
>                                 -< ATLAS... >-
> Re .4:
>	I believe you are thinking of the ATLAS project at some university in 
>    Great Britain.  The book I have that mentions it is at home though.
	ATLAS  was a creation of a colaboration between Ferranti 
(they supplied the money) and Manchester University (they supplied the 
brains) - early sixties.   Oh, there was spin-off - anyone up for 
dating themselves ?  
	Reg	{gimme a 48 bit machine any day  -  
			KDF-9 is fine}
 | 
| 4746.11 |  | POTS::VISSER |  | Tue Oct 22 1991 09:10 | 8 | 
|  |     We've had this discussion before, and I still have a question about
    _adding_ an MMU to an Amiga.  If you put the MMU and CPU on a card and
    plug it into the CPU slot, no other bus master but the CPU is "mapped." 
    For example, a SCSI host adapter that employs DMA doesn't get mapped.  
    
    Comments?
    
    JV
 | 
| 4746.12 | comment | SAUTER::SAUTER | John Sauter | Tue Oct 22 1991 10:54 | 14 | 
|  |     re: .11
    
    Every computer system that I've worked on which has memory mapping
    works this way.  The CPU memory map is not used for DMA.  Some systems
    do nothing for DMA, requiring that the device drivers specify physical
    addresses to the controller.  Other systems provide a separate memory
    map for the DMA controllers.  Still others compromise by providing
    a scatter-gather command list for DMA devices.
    
    The reason for this design is that you want to use the CPU memory map
    to protect processes from each other, but you want to be able to run
    one process' I/O while another process uses the CPU.  Hence you don't
    want to use the CPU memory map for I/O.
        John Sauter
 |