Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site lanl.ARPA Path: utzoo!watmath!clyde!bonnie!akgua!gatech!ut-sally!seismo!cmcl2!lanl!jlg From: jlg@lanl.ARPA Newsgroups: net.arch Subject: Virtual mem Message-ID: <34548@lanl.ARPA> Date: Mon, 9-Dec-85 20:17:53 EST Article-I.D.: lanl.34548 Posted: Mon Dec 9 20:17:53 1985 Date-Received: Wed, 11-Dec-85 04:09:41 EST Distribution: net Organization: Los Alamos National Laboratory Lines: 27 > Now people are claiming that 2 Gigabytes means you don't need virtual > memory. I'd like to point out that while it probably would mean that your > program can be completely in main memory, you (at least I) would still want > the wonders of segmentation (read-only, shared, bounds checks). Moreover, > it allows you to not page the entire program into memory from disk. (Which > could be expensive and needless for my 1 Gigabyte program (:-)). I know about all the advantages of bounds checks etc. But on big machines I've been without them for so long that I hardly miss them except during code development. A production code runs correctly doesn't it 8-)? However, I can't see your point about not loading your whole code. Why does a program reference any data that it's not going to use? And if it uses the data, then certainly it should be loaded. If your program is a gigabyte long then sooner or later all of that gigabyte must be active. My experience with large codes is that they use nearly all the data that they reference nearly all the time (for example, a lattice gauge theory code that steps through the entire lattice on the inner loop of the code - unless you want to page fault right and left the simplest approach is to load the whole lattice ). To be sure, there are times when paging would be convenient. But speed and convenience are not necessarily compatible. J. Giles Los Alamos