Path: utzoo!attcan!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!know!zaphod.mps.ohio-state.edu!lavaca.uh.edu!menudo.uh.edu!sugar!peter From: peter@sugar.hackercorp.com (Peter da Silva) Newsgroups: comp.sys.amiga.tech Subject: Re: Files larger than available memory. Message-ID: <6713@sugar.hackercorp.com> Date: 6 Oct 90 12:19:36 GMT References: <924@ucsvc.ucs.unimelb.edu.au> <1990Sep23.174736.16118@lavaca.uh.edu> <83986@tut.cis.ohio-state.edu> <1990Sep27.124036.9866@msuinfo.cl.msu.edu> <1990Sep27.154312.21380@msuinfo.cl.msu.edu> Reply-To: peter@sugar.hackercorp.com (Peter da Silva) Organization: Sugar Land Unix - Houston Lines: 24 In article eachus@linus.mitre.org (Robert I. Eachus) writes: > Second, I like the library idea, and doing it right should be > easy and highly portable. Create a swap.device -- actually two, one > for machines with MMU's and one for machines without. Programs would > be would be guaranteed that the most recently seeked to page was > valid. From experience with Forth, I would recommend that you guarantee the *two* most recently opened pages. You need to be able to do: from = swapin(fromaddr, length, RONLY); to = swapin(toaddr, length, RDWR); memcpy(to, from, length); Also, I don't see why a device. A library, where you call "swap_open(name)", so your swapped pages don't have to be in the same address space as anyone elses. For MMU systems, swapin(addr, length, RONLY) would be a no-op. With RDWR it would just mark all pages in that range dirty... or if you use trap on access you can make it a no-op as well... but why discard a useful hint? -- Peter da Silva. `-_-' .