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 10: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 15: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 06:51 | 1 |
| What's an MMU?
|
4746.4 | discourse on MMUs | SAUTER::SAUTER | John Sauter | Thu May 16 1991 09: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 11: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 12: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 12: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 18: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 20: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 10: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 10: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 11: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
|