Virtual Memory Wishlist
3 messages in this thread
Actually, it makes some difference whether you are using the 68451 MMU or
the 68851 MMU.
But actually, where most of my concern lies is the area of sharing areas of
memory at other than the page level. In particular, chip memory on the
Amiga is a problem. Chip memory is a resource that you would want to
protect, but the Amiga design is such that you go in and directly fiddle
it. Even if you don't, a defective Copper list can trash chip memory
independently of any MMU (assuming that you can still modify a Copper list
with a protected OS).
To modify AmigaDOS to be completely secure, i.e., one task can not
adversely affect another, would require a lot of effort in this area and
would be very likely to not be fully compatible with current programs.
Chris
For chip memory, I would expect to allocate a page and use it repeatedly
until the page is exausted (that page would not be availible to other task
for allocation). There would be upto one page of waste per task (20 pages
total) of chip memory, and the same for stack, heap, data, and code pages.
If the page discriptor is duplicated into a seperate tree for the user
task, then the other task trees would not be able to access it, only the
OS, user task, and custom chips would see these pages.
For message ports and other task to task communications, do something
simmular. Allocate pages of shared memeory, and use them as needed.
I would not expect the Amiga to become totaly crash proof with the first
use of VM, but at least it would be much harder to crash the OS, and other
task than without VM.
>> Gary <<
I have no doubt that an Amiga OS using VM could be made very crash proof.
What I doubt is that the current ADOS can be made to even come close to
crash proof, even with VM.
Chris