Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!sun-barr!texsun!texbell!uhnix1!sugar!karl From: karl@sugar.hackercorp.com (Karl Lehenbauer) Newsgroups: comp.sys.amiga.tech Subject: Re: Virtual Memory / doable 1.4 request Message-ID: <3856@sugar.hackercorp.com> Date: 23 May 89 02:08:47 GMT References: <8905200449.AA20664@postgres.Berkeley.EDU> Organization: Sugar Land Unix - Houston Lines: 46 I think VIRTUAL is an attribute that should be settable for tasks' code segments. (The means of defining working space size and such have yet to be defined. Perhaps it should be inherited from the CLI? Yeah, and it could be in the icon info for workbench launches.) It has been mentioned that MEMF_VIRTUAL requests must default to physical memory on machines without MMUs and that the existence of machines without MMUs is a compelling argument for why requests for virtual memory should be explicit. I am in wholehearted agreement. I think also that virtual memory under AmigaDOS is something that should mostly be explicitly under the control of the programmer. Many AmigaDOS tasks are highly realtime (games, music programs, *anything* that twiddles the display in an animated/copper list manner) and will simply totally screw up if they take page faults. But even a heavily realtime program could use VM judiciously if it was under explicit control (some requests are for virtual memory, others are not) of the program and the programmer had carefully considered what could safely be virtual. Mapped files would about always be OK as one has to do disk I/O for disk files anyway. (It goes without saying that only new programs could make use of this, but I'll say it anyway to prevent a followup that says it.) Also you need really excellent disk performance to do serious VM; that is, to take more than a few page faults a second and not thrash. Many MMU-equipped systems will fall down in this area, including mine. Finally, I think VM will be of limited usefulness to most people. While OS/2 weenies blather that they can have four gigabyte virtual tasks, they don't have the storage or the application to make use of it. Likewise, the Amiga is readily and reasonably affordably expandable to many megabytes and there are few programs that have need of that much. (I bet most people who want VM already have at least 3 MB of RAM.) I am not saying that VM will not be useful or that it should not be done, quite the contrary I think it is an interesting exercise, practically mandated by the existence of the 68851 on the A2620 (and on-chip MMU on the 68030s), merely that most Amigas will not have MMUs and fast-enough disks to see its widespread use. Bummer. You can't do mapped files without an MMU. That means mapped files would be not work with non-MMU Amigas. OK, you *could* do it if you didn't demand page the file in on non-MMU machines but rather copied the whole thing in on first open and then wrote the whole thing out on last close and maybe at checkpoint intervals or whatever. It's sick, I know. -- -- uunet!sugar!karl | "Woof!" -- Free Usenet BBS (713) 438-5018