Path: utzoo!attcan!uunet!tut.cis.ohio-state.edu!ucbvax!UMIX.CC.UMICH.EDU!krowitz%richter From: krowitz%richter@UMIX.CC.UMICH.EDU (David Krowitz) Newsgroups: comp.sys.apollo Subject: Re: sr9 to sr10 Message-ID: <9003051659.AA24525@richter.mit.edu> Date: 5 Mar 90 16:59:58 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 27 SR10 is "Just Like Real Unix" (JLRU) ... all memory space which is declared by the program is allocated as soon as the program is started, even if the memory is never actually used during the execution. Under SR9, memory was allocated in the Aegis style -- ie. memory space was allocated the first time the program actually uses it during the execution of the program. Since your program never uses the 1,000,000 4-byte integer array, the SR9 machine never allocates the disk space needed for the virtual memory of the array. The SR10 machine allocates the disk space just as soon as the program is started. This prevents the program from getting part way into its execution before finding out that the disk is too full for it to allocate the memory its needs. The drawback is that the program always must allocate the full amount of memory even if it is not going to use it all. It's one of the drawbacks of Unix compatibility. There is an undocumented and unsupported switch for /com/bind which causes and SR10 program to use SR9 Aegis style memory allocation. I believe that it is "-vm_sparse" or "-sparse_vm" or something like that. -- David Krowitz krowitz@richter.mit.edu (18.83.0.109) krowitz%richter.mit.edu@eddie.mit.edu krowitz%richter.mit.edu@mitvma.bitnet (in order of decreasing preference)