Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!decwrl!sun!guy From: guy@sun.uucp (Guy Harris) Newsgroups: net.arch Subject: Re: Very large memories Message-ID: <7244@sun.uucp> Date: Sun, 14-Sep-86 16:44:49 EDT Article-I.D.: sun.7244 Posted: Sun Sep 14 16:44:49 1986 Date-Received: Mon, 15-Sep-86 07:30:14 EDT References: <1164@ncr-sd.UUCP> <2383@peora.UUCP> <689@mips.UUCP> Organization: Sun Microsystems, Inc. Lines: 46 > > > > 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. Does anyone > > know of a virtual memory system that doesn't work this > > way? > > > > Yes! AT&T UNIX System V (at least the demand paging versions). > > In the default case (413 magic number -- demand loaded file & > no sticky-bit set) System V demand-pages the program directly > from the file system. Text (code) pages and unmodified data pages > never get written to any paging device. Furthermore, the 4BSD VM system, while (for a 413 magic number) it does write text pages out to the swap device if it needs their page frame for another page and that page hasn't already been written to the swap device, it will not copy the *entire* program to the swap device. I'd say that covers 90-95% of the paging UNIX systems out there, as they either 1) started out as an S5 paging release, 2) started out as 4BSD, or 3) started out as some non-paging UNIX release and had the 4BSD paging code added. Further, I suspect few, if any, future VM systems for UNIX will copy the *entire* image to a paging file when the image is run; it kind of defeats the whole purpose of making a big image demand-load. > System V also effectively uses all available main memory pages > as a cache for the text and data pages on disk (separate from > the file system buffer cache). This means, for example, that > on a large single-user workstation, when you compile a program the > first time the compiler must be loaded from the disk. But, if you > edit and re-compile, the compiler's pages are still in memory and > will be re-used without going to the disk. As does the 4BSD VM system, and as most other UNIX VM systems are likely to do, so this is also pretty much universal among paging UNIX systems. (P.S. Why do people insist on sticking "AT&T" in front of "System V", or in front of "UNIX" in general? Most UNIXes out there started out, at least, as AT&T releases, so it doesn't really convey any useful information.) -- Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.com (or guy@sun.arpa)