Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!ukc!cam-cl!news From: nbvs@cl.cam.ac.uk (Nicko van Someren) Newsgroups: comp.sys.acorn Subject: Virtual Memory (Was: SCSI interfaces - background capability) Message-ID: <1991Jun30.103408.24281@cl.cam.ac.uk> Date: 30 Jun 91 10:34:08 GMT References: <9106251106.AA05878@ucbvax.Berkeley.EDU> <1991Jun27.212244.5025@rata.vuw.ac.nz> Reply-To: nbvs@cl.cam.ac.uk (Nicko van Someren) Organization: U of Cambridge Comp Lab, UK Lines: 39 Back when RISC OS first came out there was very little need for VM on the Archimedes simply because there was very little software around to run. Now that users have a large software base at their disposal they are tempted to use it and use up memory in the process. As far as I can see there are two main problems involved in giving RISC OS virtual memory. Firstly the kernel and modules of the OS do not cope well with data aborts and secondly not every one has a fast 'swap device' to use as the backing store. The first problem is in fact not as bad is it might be. In RISC OS tasks only ever get switched during a WIMP poll. If we made the provisions that a) the memory in the RMA, screen (naturally) and system areas never got swapped out and b) No task could have a WIMP slot bigger that the physical memory size then we could forego true VM for paged applications. A task could ask for a slot of any size as long as it was capable of fitting in memory in one go and then all or part of the WIMP slot could be stored to disk when the task was not the active one. While this has many drawbacks, for instance the system does not know when a page has been touched so it must save any page it wants to swap out, it does give a workable VM system as far as the user is concerned and further more the only changes to code that need to be made are rewrites of the WIMP paging code and the WIMP call that fetches memory from another tasks work space. The second problem, that not all users have a fat paging device, is in my opinion not a reason not to do the job. RISC OS file switch is fast enough that the WIMP could be made to page to a file, the size of which could be set by the user. Since any application that is paged in is always all in memory when it is running, and since the filer application is in the RMA, you could even set up to page to an 800K file on a floppy on an A3000 and file switch and ADFS would prompt you to change discs at the right moment. Users of bigger machines could use there hard discs and if you have eco/ether net then the paging could happen there. Acorn have, in the recent past, declared that they are a 'Market driven company'. We, the users of usenet, are your market Acorn. SO GET ON WITH IT! Nicko +-----------------------------------------------------------------------------+ | Nicko van Someren, nbvs@cl.cam.ac.uk, (44) 223 358707 or (44) 860 498903 | +-----------------------------------------------------------------------------+