Path: utzoo!attcan!uunet!ncc!myrias!cg From: cg@myrias.UUCP (Chris Gray) Newsgroups: comp.sys.amiga.tech Subject: Re: Virtual Memory Message-ID: <937@myrias.UUCP> Date: 10 Mar 89 21:01:10 GMT References: <666@microsoft.UUCP> <420003@hpdml93.HP.COM> Organization: Myrias Research Corporation Lines: 48 In article <420003@hpdml93.HP.COM> daly@hpdml93.HP.COM (John Daly) writes: >Is anyone out there in net-land with a 2500 (or some expansion card with >an MMU) working on virtual memory? The rom to ram thing sounds fun, but >the real power of an mmu is preventing those nasty "Not enough memory" >messages (or gurus :-(). I know at least one company is selling software >for Macs with mmus to do this, and Apple's Gassee is quoted on the cover >of the Jan 31 MacWeek saying "Apple will have virtual memory in 1989." > >I think we should beat them with a public domain virtual memory handler >for properly equipped Amigas. I would be working on this right away, >but have several other projects that need immediate attention. I also >am a simple 68000 guy, whith no real knowledge of the additional features >of the 68020 or the mmu for that matter (yet). > >So, once again, is there anybody out there woking on something like this? >Does anyone know of any problems one might encounter doing this? >Are supposed to access the mmu directly, or does C/A have some sort of >software interface we should use? Am I babbling? Where did I learn >how to spell? Adding true virtual memory to an operating system not designed for it and still staying compatible with that operating system is probably impossible. In the case of AmigaDOS, which relies heavily on a shared address space, it most likely is. However... I DO have an A2500 (actually an upgraded A2000), so one day I might play around with this idea: (my 020/851/881 manuals haven't arrived yet) It may be possible to write a program (call it "protected") which will create a protected memory environment for a single program and run that program in that environment. It would have to produce page tables, etc. itself and then directly load the program, etc. into that space. It would have to trap all of the library calls and indirectly support several. (A good initial set would be the DOS library plus a bit of Exec, like AllocMem, Signal, etc.) It would use Exec's tc_Start and tc_Switch (or whatever they're called) task fields to enable/disable the MMU stuff as the task in question is scheduled by Exec. This sort of framework should be able to run programs ported over from Unix in such a way that they can't crash the system. Am *I* completely out to lunch on this one? (I haven't looked at it at all, other than some idle thought - I'm busy on my graphics D & D system now.) -- Chris Gray Myrias Research, Edmonton +1 403 428 1616 {uunet!mnetor,ubc-vision,watmath,vax135}!alberta!myrias!cg