Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!julius.cs.uiuc.edu!apple!agate!linus!linus!eachus From: eachus@linus.mitre.org (Robert I. Eachus) Newsgroups: comp.sys.amiga.tech Subject: Re: Files larger than available memory. Message-ID: Date: 2 Oct 90 15:33:09 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> Sender: usenet@linus.mitre.org Organization: The Mitre Corporation, Bedford, MA Lines: 33 In-reply-to: dailey@frith.uucp's message of 27 Sep 90 15:43:12 GMT A couple of comments on this issue. First don't use T: for paging. This has come to be the place to put small temporary files, and most users have it assigned to RAM: or some other ram disk. The best idea would be to use a new name such as SWAP: 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. The swap device would have to write all pages opened read/write when it was necessary to flush them on the non-MMU version, but could check the hardware flags on the MMU version. I lean strongly toward making SWAP: a normal file system, with the normal protocol for using it being to delete the file instead of closing it. If the swap.device flushed pages after a user settable interval of non-activity this would mean that editors, etc. could provide automatic file backup with no effort. What do people think? This unfortunately sounds like a project for Dave Haynie or Bill Hawes who certainly have more to do than they can handle. (In particular we really need just one person writing stuff which manages the page table entries, this MUST be compatible with setcpu.) -- Robert I. Eachus with STANDARD_DISCLAIMER; use STANDARD_DISCLAIMER; function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...