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