[comp.windows.ms] non-Windows app memory limit?

milne@ICS.UCI.EDU (Alastair Milne) (09/21/90)

   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

pnl@hpfinote.HP.COM (Peter Lim) (09/25/90)

>   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
>
How much memory does TP 5.0 need ?

>   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.
>
This looks like a really big crowd to me. All these network drivers are
real memory hogs. So, how much free memory below 640K do you have before
running Windows ? Take that number, minus a further 8K to 20K is what
you can have in a DOS session under Windows (assuming you are running
in enhanced mode). Doesn't matter how much VM or XMS or EMS you have.


Regards,                       ## Life is fast enough as it is ........
Peter Lim.                     ## .... DON'T PUSH IT !!          >>>-------,
                               ########################################### :
E-mail:  plim@hpsgwg.HP.COM     Snail-mail:  Hewlett Packard Singapore,    :
Tel:     (065)-279-2289                      (ICDS, ICS)                   |
Telnet:        520-2289                      1150 Depot Road,           __\@/__
  ... also at: pnl@hpfipnl.HP.COM            Singapore   0410.           SPLAT !


#include <standard_disclaimer.hpp>