🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: MEMF_PHYSICAL?

#12793
From: Valentin Pepelea
Date: Mon, 22 May 1989 21:19
45 lines
2745 bytes
Dave Thomas QA <thomas@cbmvax.uucp> writes in Message-ID: <6943@cbmvax.UUCP>

> Memory protection is going to be very difficult to implement on the
> Amiga without breaking 99% of the programs out there, but virtual memory
> without protection can probably be done with much less impact on the
> software base.

Actually it is the other way around. Virtual memory will cause many programs to
break because they mishandle critical sections using Forbid()/Disable(). Memory
protection may cause them to break only if they try to access non MEMF_PUBLIC
memory, but that is really easy to fix. If that happens, simply pop up a
requester saying "Task xxx tried to write on memory belonging to task yyy".
Then offer gadgets with the following functions:

1. Allow task xxx to overwrite any memory belonging to task yyy.
2. Allow task xxx to overwrite any memory.
3. Kill task xxx.
4. Guru.

The nice thing about this solution is that it is fully backwardly compatible
with old software.

But here I have to point out that memory protection can not be implemented
fully to allow recovery in 100% of cases. The problems we are faced with is
how do we protect MEMF_CHIP memory, which may be modified by the coprocessors.
And how about the BFFxxx address locations? These are examples, there is a
little more to care about. I better not mention the lack of resource tracking
and the problems therefore incurred. But a nice thing about implementing memory
protection is that it can be implemented in stages, each offering better
protection and recovery thqan the previous.

Memory protection, unlike virtual memory, can only be done by CBM staff with
full access to the OS sources. The memory allocation routines have to be
modified to allot page-aligned blocks of memory, the loader has to be modified
to place the segments properly in in the different types of memory, etc. One
nice thing about memory protection implementation

Valentin
_________________________________________________________________________
"An  operating  system  without         Name:   Valentin Pepelea
 virtual memory is an operating         Phonet: (613) 231-7476 (New!)
 system without virtue."                Bitnet: 451061@Uottawa.bitnet
                                        Usenet: Use cunyvm.cuny.edu gate
         - Ancient Inca Proverb         Planet: 451061@acadvm1.UOttawa.CA
Technical Details
Message-ID: <8905222148.AA05879@jade.berkeley.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!UOTTAWA.BITNET!451061

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!UOTTAWA.BITNET!451061
From: 451061@UOTTAWA.BITNET (Valentin Pepelea)
Newsgroups: comp.sys.amiga.tech
Subject: Re: MEMF_PHYSICAL?
Message-ID: <8905222148.AA05879@jade.berkeley.edu>
Date: 22 May 89 21:19:48 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Lines: 45