From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: DPMI-Alloc with 192MB RAM - how ? Date: Sun, 25 Jul 1999 17:22:01 CDT Organization: Rice University, Houston, Texas Lines: 25 Message-ID: <379b8e09.sandmann@clio.rice.edu> References: <7n7si0$ae1$1 AT news DOT luth DOT se> <3797dc74 DOT sandmann AT clio DOT rice DOT edu> <7n9gpq$5lf$1 AT antares DOT lu DOT erisoft DOT se> <3798d38d DOT sandmann AT clio DOT rice DOT edu> <7nepsn$34o$3 AT news DOT luth DOT se> NNTP-Posting-Host: clio.rice.edu X-NewsEditor: ED-1.5.9 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > Charles Sandmann (sandmann AT clio DOT rice DOT edu) wrote: > : In r5 the maximum will be 2Gb which would consume an extra 64Kb. Dos memory is > : a precious resource which is needed for DMA buffers, nested images, and > : pagetables. The number of users which needed more than 128Mb of virtual > : is very small ... > > Are you saying this extra 64KB (or 4KB) is needed for every nested > program? No, only once for the DPMI provider. But page tables for large memory is a big problem. It takes 4Kb for each 4Mb memory address space you have touched. So, if you want to use 384Mb physical memory (no virtual) then you need 384Kb of memory just for the page tables. With DOS needs, DJGPP low memory needs, and other DPMI needs - you can't afford to just waste any of it. Some very small memory machines (640K/1Mb total memory 386s) are supported by CWSDPMI - and it must use DOS memory for all purposes. The extra 64K would cut your memory usage without paging by 64Mb, and 64Kb of DPMI on a 640K machine makes a huge performance difference. > Yeah, max. 2GB is cool! Will there be any limitations on how much of > those 2GB needs to be physically present? No - you should be able to run a 2Gb program on a 640K machine if you have enough disk and patience. This requires faulting the page tables themselves which can really slow things down.