Path: utzoo!mnetor!uunet!husc6!bbn!rochester!crowl From: crowl@cs.rochester.edu (Lawrence Crowl) Newsgroups: comp.arch Subject: Re: Today's dumb question... Message-ID: <9558@sol.ARPA> Date: 10 May 88 14:16:13 GMT References: <503@xios.XIOS.UUCP> <2676@pdn.UUCP> <674@cernvax.UUCP> Reply-To: crowl@cs.rochester.edu (Lawrence Crowl) Organization: U of Rochester, CS Dept, Rochester, NY Lines: 32 In article <674@cernvax.UUCP> hjm@cernvax.UUCP (Hubert Matthews) writes: > - virtual memory is useful only when an application won't fit in > physical memory. But memory is cheap, so with lots of Mbytes > who needs it, especially if the program is written well. Here are some counter-examples. Others can provide more. The benefit varies with your application. inter-process protection - If a process cannot address memory belonging to another, then it cannot trash it. Even when security is not an issue, correctness is. I prefer not to see errant programs trashing others. There are other approaches. copy on write - Virtual memory allows one to implement copy semantics without actually copying the data. This makes Unix fork and passing very large messages more efficient. single level store - One can manage huge amounts of data within a virtual address space without having to write file access code. The virtual address space becomes an easy file system. The operating system ensures that the portions I am actually working with are present. Does this mean my application "won't fit". Well if I knew I had to use real memory, I would use memory in a much more conservative manner. Since virtual memory affects my programming style, it is not a does/does not fit question. tagged addresses - Some implementers of Lisp use some bits of a large sparse address space to implement tags. If the address space were physical, it would require gigabytes of physical storage. Memory is not that cheap. -- Lawrence Crowl 716-275-9499 University of Rochester crowl@cs.rochester.edu Computer Science Department ...!{allegra,decvax,rutgers}!rochester!crowl Rochester, New York, 14627