Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!ncr-sd!stubbs From: stubbs@ncr-sd.UUCP (Jan Stubbs) Newsgroups: net.arch Subject: Re: Very large memories Message-ID: <1172@ncr-sd.UUCP> Date: Tue, 16-Sep-86 16:53:53 EDT Article-I.D.: ncr-sd.1172 Posted: Tue Sep 16 16:53:53 1986 Date-Received: Tue, 16-Sep-86 22:04:38 EDT Reply-To: stubbs@ncr-sd.UUCP (0000-Jan Stubbs) Organization: NCR Corporation, San Diego Lines: 45 In article <2383@peora.UUCP> joel@peora.UUCP (Joel Upchurch) writes: > >>Jan Stubbs ....sdcsvax!ncr-sd!stubbs >>3) The real reason for virtual memory (and the one which won't >>away when memories get big) is that I can quickly load the >>working set of a large program, execute it, and go on to the next >>program, while a real memory system might be still loading its program. >> >>In fact, I can start executing when the first page gets in, on >>a properly implemented system where everything is already >>in paging format. >> >>This assumes that the working set is smaller than the program, >>and that the programmer didn't do some work to only load those >>pieces of program and data which were needed this time. > > I may be missing something important, but this doesn't > sound right to me. I followed what Jan said about starting > up faster (more about that later), but it seems to me that > you'll use up that and a lot more in page faults. Since you > are reading the program piecemeal into virtual memory you > are going to be a lot slower because of the extra seek and > rotational delays. It is sort of like a guy driving on a > surface street, instead of going over and getting on the > freeway. You get started faster, but you hit all those > traffic lights. The only case that is valid is if the > overwhelming majority of the pages in the program are > never referenced. Exactly, and I contend that this is often the case. Take an ADA compiler for example, maybe most programs won't use but a small subset of the constructs available, then the code to handle those constructs won't need to be paged in. Your freeway analogy is perfect - most trips are short, so take the direct route by surface street. > > Another consideration, is that on at least some virtual > memory systems I've worked with, the the system transfers > the program over to some sort of paging file, before it > starts, which means that you end up reading the whole > program in anyway, and writing it out to boot. Yes, but maybe you only load the page file once (kind of like setting the sticky bit in a UNIX swap file). >