Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!nuchat!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.sys.amiga Subject: Re: The Next Generation Message-ID: <1099@sugar.UUCP> Date: Sun, 22-Nov-87 10:21:50 EST Article-I.D.: sugar.1099 Posted: Sun Nov 22 10:21:50 1987 Date-Received: Wed, 25-Nov-87 02:57:27 EST References: <2785@megaron.arizona.edu> <17218@glacier.STANFORD.EDU> <360@usl-pc.UUCP> Organization: Sugar Land UNIX - Houston, TX Lines: 46 Summary: Swapping vs. Paging In article <360@usl-pc.UUCP>, jpdres10@usl-pc.UUCP (Green Eric Lee) writes: > In message <17218@glacier.STANFORD.EDU>, jbn@glacier.STANFORD.EDU (John B. Nagle) says: > > 1. Given the way that RAM prices are declining while > > disk access times are not improving, virtual memory > > looks like an idea whose time has passed. > Only if you have a single-tasking operating system. Certainly you can > get enough physical memory nowadays to run ANY respectable program. > But what if you have FIFTEEN 2 megabyte programs loaded up?... Swap them. I know swapping is not as chic as paging, but it should be possible. It requires fewer smarts on the part of the operating system, because the working set for any program is either in or out of memory. It also doesn't incur the overhead of page faulting. On the other hand, it does require a lot more I/O per swap. Here's my fantasy for the Amiga: 68020 with MMU. NO VM. Task address space: 0-1M Chip memory, shared and private. 1M-16M I/O and Shared fast memory. 16M+ Mapped (managed) private memory. Not all of 0-16M is addressible by every task, of course. Just stuff that's MEMF_PUBLIC. The stuff in private memory can be swapped out. The program won't know or care if it's in a different place in real memory when it gets back. Give it a signal (SIGB_SWAPPED) when it gets back in, so it can handle any cleanup. Of course this may all be really running in whatever memory you have, both inside and outside 16M. Add another Alloc bit. MEMF_SYSTEM. Like MEMF_PUBLIC but not shared by other tasks unless they've got the system flag set in their TCB. This should be completely compatible with existing software, so long as it has been scrupulous about MEMF_PUBLIC. -- -- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter -- Disclaimer: These U aren't mere opinions... these are *values*.