Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!orion.oac.uci.edu!ucivax!gateway From: milne@ICS.UCI.EDU (Alastair Milne) Newsgroups: comp.windows.ms Subject: non-Windows app memory limit? Message-ID: <9009202153.aa07945@ICS.UCI.EDU> Date: 21 Sep 90 04:56:18 GMT Lines: 48 Dear Folks, Here is a nice basic matter whose answer I'll bet lots of people already know, but I seem unable to find the right spot in my manual or 386 books. I am running Windows 3.0 on a PS/2 model 80. It has 2 meg, but enough disc swap space for Program Manager to report almost 5 Meg available. I try to run Turbo Pascal 5.0, giving it a nice generous allocation (Turbo is a real memory hog), and Windows tells me there's too little memory, why don't I please quit another application? Since the only other application running is Program Manager itself, this is not only useless but quite irritating (you'd think it would know whether there were actually other applications running). Same sort of story with other non-Windows applications. I know the thing is quite happy about swapping because I can run a number of the Windows applications that came with it simultaneously, and the hard disc merrily clicks away as they all do their various things. So why is it so unhappy about providing virtual memory for a virtual 86 task? I am using HIMEM.SYS, but not EMM386.SYS (or any other expanded memory manager). The principal competitors for memory are PCNFS.SYS and the NDIS ethernet drivers, and Windows' RAMdisk. So, in a nutshell: - Is Windows 3, in "enhanced" mode, in fact supposed to be able to create and run as many virtual 8086's as can fit into virtual memory (at 640K each)? By my understanding of the hardware, when the 386 is in protected mode, all tasks get virtual memory (as long as there's a handler for it), whether they're virtual 86's or anything else. - when a virtual 8086 is created, is it fresh for new use, or does it bring things along from the original one from which Windows was executed? - more generally, what is the relationship between Windows-generated virtual 8086's, and the original from when DOS fired up in real mode? This part really confuses me when discussing conventional, high, and extended memory in connection with Windows 3? I know all this must be properly explained somewhere, but I have already spent more time than I can afford trying to find it, so the indulgence of the net would be much appreciated. Thanks, Alastair Milne