General discussion



By s.w.kraft ·
I have a Fortran application that runs under DOS. I am running Win XP Pro and every time I access the command prompt and try to run the program, I get a notice that an "Out of Memory" condition exists. I have 525 meg of memory and it is hard to belive that my program requires this. The size from the link map is 500K bytes. Therefore, my deduction is that the debug program that I am running under takes 35K, my program takes 500k and where is the other 512 Meg being taken? I understand that Win 95 has a true DOS environment and that Win XP has a simulated environment which leads me to believe Win XP is still taking a lot of memory, vs. Win 95 which may take considerably less. Anybody have insights on this? please let me know at Thanks, Sid Kraft.

This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Comments

Collapse -

DOS needs the first 640K

by TheChas In reply to Memory

Your DOS application does not care about anything other than the FIRST 640K of RAM.

You need to adjust the system settings to free up more of the first 640K.

DOS does not know about the upper memory.

You may need to boot directly to a DOS prompt.

You may even need to set up the PC as a dual-boot machine with a DOS partition, and a XP partition.


Oh, this type of question should be posted in the Technical Q&A section.

Collapse -

Thanks from me too.

by jardinier In reply to DOS needs the first 640K

Hi TheChas. Your answer is helpful to me also, as I often come across this problem when trying to run MS-DOS programs.

A puzzle though is that while "mem" may indicate that I have more free memory than required by the program, I often come acrossa program which tells me I don't have enough memory, and the program consequently doesn't start.

Any clues or tips? Possibly your above answer about booting directly to a DOS Prompt is the answer.

Collapse -

hey TheChas

by fred07 In reply to DOS needs the first 640K

Read my reply here and also on the Ram ? you answered a couple of weeks ago PLEASE. fred

Collapse -

Missreading by windows

by fred07 In reply to Memory

I have run across this problem myself. Win says I have "insuficient conventional memory". In actuality the win is reporting your Hard Drive has insuficient space. I got curious at first and changed ram a few times and like you I run 512mg of ram. I ended up reformating using an old MaxBlaster DOS to format and set only 1 partition, as it was done under win98 boot. Have had no problems since as long as I use MaxBlaster or WD's Data lifeguard to set up the hard drive. Why win reports this way is a big ??? maybe chas would know if I could ever get him on and hope he reads this. Also a minor suspect is initial boot record not reporting HD size correctly. Hope this helps. fred

Collapse -

Conventional Memory

by TheChas In reply to Missreading by windows

Hi Fred,

If you want to get my attention, you can contact me via the per-mail link, or post a question in the Technical Q&A section.
I don't subscribe to many of the discussions that I participate in, and thus do not get notified when a new posting is made.

Between Technical Questions and discussions, I may look at 50 to 100 postings a day, and may not look back at any of either unless I believe I have more to contribute.

Conventional Memory 'usually' refers to the first 640K of RAM.This is the full size of the addressable memory on the original IBM PC specification.
Memory beyond the first 640K is referred to as 'high' memory. And is further defined as either extended or expanded memory.

DOS, by itself can only access the first 640K of RAM.
To have a chance to use the higher memory, you need to install a DOS version of a high memory manager.

One of the reasons that you have an easier time running DOS programs after re-installing Windows, is that you get rid of badregistry keys and errant applications that can cause memory usage and leaks.

For more details, perhaps, we can get GuruOfDOS to get involved, as I suspect that he can shed more light on maximizing free conventional memory.

I do recommend that you consider reducing the installed RAM on your W98 system to 384MB.
There is a documented 'bug' in the W9X code that can cause system slowdowns, and even prevent you from booting with more than 511MB of system RAM.
This bug is VERY configuration dependant.


Collapse -


by CG IT In reply to Conventional Memory

To free up conventional memory on a DOS run system a command line statement in config.sys is required to load devices into the UMB portion of memory [that portion between 640k and 1MB. The most used one is DOS=UMB. Himem.sys is required for accessing memory above 1MB [expanded and extended memory]. Without himem.sys loaded, DOS programs can not access that.

One can create a custom config.sys and autoexec.bat file excluding unecessary devices and drivers a particular program doesn't need to free up memory.

Collapse -

DOS? W3.11? W9X? or what?

by CG IT In reply to Himem.sys

I provided an answer to TheChas's question on the Technical forum, "How to free up conventional memory" but that assumes that the program that one wishes to be run is running under DOS, not W3.1, W9X or XP....or any variety thereof because a custom config.sys and autoexec.bat file are created and saved onto a floppy and the computer is booted that way, then the DOS program is loaded in . I can dig out an example if it's really necessary, however it seems that the program in question [DOS program???]is trying to be run via a W9X command prompt. W9X doesnt optimize conventional memory for DOS run programs by reconfiguring the config.sys and autoexec.bat files to load portions of DOS or device drivers into the UMB. IS this a Windows program or a DOS program?

Collapse -

Looks like DOS window in XP

by TheChas In reply to DOS? W3.11? W9X? or what?

Hi DR,
Thanks for replying.

From the original post in this thread, it looks like the person is running a Fortran program in a DOS window on a Windows XP based system.

I should have been more specific on my post in the Q&A forum.
But I figured that anyone who read through the discussion would figure out what was needed.

I will be sure to award points to you for your efforts.


Collapse -

Boot to DOS not XP

by CG IT In reply to Looks like DOS window in ...

I've of the oppinion that instead of booting to XP to run a fortran program made to run on DOS to simply run DOS [DOS 6.22 or 7.0]

Collapse -

maximize conventional memory in DOS

by CG IT In reply to Himem.sys

Ok.oops been a while since I had to use DOS command line statements. To load DOS into upper memory the statement is DOS=HIGH,UMB to load drivers into upper memory the statement is DeviceHIGH=C:\DOS\<particular device> to have about 592K of free conventional memory config.sys would look something like this:
Device=c:\DOS\EMM386.EXE 2048

an autoexec.bat would look something like this:
Prompt $p$G

this would be created with DOS EDIT and saved to a Floppy along with COMMAND.COM and IO.sys

Related Discussions

Related Forums