🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #10954

Re: WB 1.4 (actually Amiga & MMU)

#10954
From: Eric Green
Date: Sat, 14 Jan 1989 06:38
47 lines
3029 bytes
I tend to agree with Matt on this one. What everybody is clamoring for
is NOT a seperate address space for each and every process.  Instead,
they just don't want other folk's processes to whomp on their own
process. What folks are asking for is memory PROTECTION, which does
not necessarily imply seperate address spaces.

Currently, AmigaDOS assumes a single linear address space.  It's a
very efficient way to organize things, for a real-time system. To pass
messages around, just load the address into a register, and make a
system call, just like you do right now.  And when you do a
task-switch, no TLB's or caches to flush, everything stays the same.
So you don't have LONG waits while things are flushed to disk at task
switch (remember, personal computers usually don't have super-fast
16ms ESDI drives hanging off of them). I hear that running a Sun 3
with a slow SCSI drive is positively painful. I'd hate to see the
Amiga reduced to the same level.

The ideal scheme for memory protection would be for each block of
memory to have an associated process ID, and if the writing process
isn't the same process (or a "System" process), barf (technical MIT
term for "Bad ARgument Function" -- see MACLisp sources). There was
once, a long time ago, a MMU chip for the original 68000 which did
something of the sort (though I don't know if it was ever produced).

Unfortunately, I doubt that the Unix-oriented MMU in the 68030 could
do it that way -- you'd have to chase down the list of pages currently
in memory, setting the write protects appropriately.  This is probably
prohibitively inefficient. If you have 8mb of RAM, and, say, 2K pages,
that's 4,000 structures you have to chase down, probably around 20
instructions in the loop... 80,000 instructions total, a sizable
percentage of the CPU's time, and totally unacceptable for a real-time
system). If CBM ever wants to go to a real-time protected-mode
AmigaDOS, I suspect they'll have to "roll their own" MMU, unless the
68030's is more capable than I seem to recall.

Now, the other thing that people would like is resource tracking. For
some reason they seem to confuse that with having a protected-mode OS.
I fail to see the connection -- all that a MMU adds is an easy method
of memory tracking. The OS will still have to keep track of which
process owns which FileHandle/Lock, RastPort, etc., even if there IS a
MMU. 

--
Eric Lee Green    ..!{ames,decwrl,mit-eddie,osu-cis}!killer!elg
          Snail Mail P.O. Box 92191 Lafayette, LA 70509              
Netter A: In Hell they run VMS.
Netter B: No.  In Hell, they run MS-DOS.  And you only get 256k.
Technical Details
Message-ID: <6782@killer.DALLAS.TX.US>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!ames!killer!elg
References: <1656@ardent.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!ames!killer!elg
From: elg@killer.DALLAS.TX.US (Eric Green)
Newsgroups: comp.sys.amiga.tech
Subject: Re: WB 1.4 (actually Amiga & MMU)
Message-ID: <6782@killer.DALLAS.TX.US>
Date: 14 Jan 89 06:38:06 GMT
References: <1656@ardent.UUCP>
Distribution: na
Organization: The Unix(R) Connection, Dallas, Texas
Lines: 47