Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ulowell!cbmvax!thomas From: thomas@cbmvax.UUCP (Dave Thomas QA) Newsgroups: comp.sys.amiga.tech Subject: Re: MEMF_PHYSICAL? Message-ID: <6955@cbmvax.UUCP> Date: 23 May 89 15:03:45 GMT References: <8905222148.AA05879@jade.berkeley.edu> Reply-To: thomas@cbmvax.UUCP (Dave Thomas QA) Organization: Commodore Technology, West Chester, PA Lines: 39 In article <8905222148.AA05879@jade.berkeley.edu> 451061@UOTTAWA.BITNET (Valentin Pepelea) writes: > > Dave Thomas QA 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. > > Valentin Your solution would probably work, but the sheer number of programs which do not properly ask for MEMF_PUBLIC would cause this requester to show up quite frequently. Think of the number of programs which have gadget and menu structures compiled into their code. These data hunks should not be MEMF_PUBLIC (or else there is not much use in having memory protection) yet Intuition needs to access (both read and write) them. How many programs have IOStdReq's declared as local variables instead of allocating them dynamically? I don't think having a requester pop up every time I try to pull down a menu is going to be an acceptable solution. Dave -- Dave Thomas, Commodore Amiga Test Engineering UUCP ...{allegra,rutgers}!cbmvax!thomas