[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

4746.0. "OSF/1 on an Amiga" by BAHTAT::BAHTAT::HILTON (How's it going royal ugly dudes?) Wed May 15 1991 10:34

    Maybe a really dumb question, but what are the chances of getting OSF/1
    up and running on an Amiga?
    
    Greg
T.RTitleUserPersonal
Name
DateLines
4746.1Ask a dumb question...TLE::ALIVE::ASHFORTHLord, make me an instrument of thy peaceWed May 15 1991 10:5613
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.2Need an MMUTLE::RMEYERSRandy MeyersWed May 15 1991 15:216
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.3What's an MMUBAHTAT::BAHTAT::HILTONHow's it going royal ugly dudes?Thu May 16 1991 06:511
    What's an MMU?
4746.4discourse on MMUsSAUTER::SAUTERJohn SauterThu May 16 1991 09:1134
    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.5Multi-tasking Amiga??BAHTAT::BAHTAT::HILTONHow's it going royal ugly dudes?Thu May 16 1991 11:4811
    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.6multi-tasking != multi-userSAUTER::SAUTERJohn SauterThu May 16 1991 12:1514
    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.7Virtual memory is the key...TLE::ALIVE::ASHFORTHLord, make me an instrument of thy peaceThu May 16 1991 12:1713
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.8No MMU doesn't imply no resource tracking...MADRE::MWMFri May 17 1991 18:1713
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.9ATLAS...VMSNET::WOODBURYMon May 20 1991 20:394
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.10A while ago, quite a while...ULTRA::BURGESSMad Man across the waterWed May 22 1991 10:5517
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.11POTS::VISSERTue Oct 22 1991 10:108
    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.12commentSAUTER::SAUTERJohn SauterTue Oct 22 1991 11:5414
    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