[comp.windows.ms] DOS Apps under Enhanced Mode

rpk@wheaties.ai.mit.edu (Robert Krajewski) (08/08/90)

Umm, I thought that if you were running Windows in enhanced mode,
it implemented DOS compatiblity by using the V86 mode of the
386 (and newer) processors.  Doesn't that mode allow you to:

1. Put the 1M address space of the V86 inside a virtual memory system

2. Map various segments of memory of the V86 machine in such a way
that the task is unaware that it might be use sharing what it thinks
are well-known hardware resources, like the display adapter, etc.

So, running DOS apps in enhanced mode should not require significant (>
100k) regions of contiguous memory.

I'm not sure how much Windows exploits these capabilities; it seems
like you should be able to share DOS and the BIOS to a certain extent,
and thus free up memory in the DOS boxes.  However, Windows is
supposed to run with a variety of OEM DOSes and BIOSes, so Microsoft
probably doesn't do all that it can to be clever.
-- 
Robert P. Krajewski
Internet: rpk@ai.mit.edu ; Lotus: robert_krajewski.lotus@crd.dnet.lotus.com

jls@hsv3.UUCP (James Seidman) (08/08/90)

In article <9755@rice-chex.ai.mit.edu> rpk@wheaties.ai.mit.edu (Robert Krajewski) writes:
>Umm, I thought that if you were running Windows in enhanced mode,
>it implemented DOS compatiblity by using the V86 mode of the
>386 (and newer) processors.  Doesn't that mode allow you to:

>1. Put the 1M address space of the V86 inside a virtual memory system

>2. Map various segments of memory of the V86 machine in such a way
>that the task is unaware that it might be use sharing what it thinks
>are well-known hardware resources, like the display adapter, etc.

>So, running DOS apps in enhanced mode should not require significant (>
>100k) regions of contiguous memory.

Yes, Windows 3.0 does all of these.  In fact, I was having some trouble
with it because it cleverly shares memory allocated before you start
Windows between all of the DOS sessions.  I had CED (which is a command
line editing program like NDOSEDIT) installed, and I would quite often
get "Memory allocation error, cannot load COMMAND.COM" errors when I
had multiple DOS sessions.  When I realized that a command I typed in
one session would be in the command history for all the others, I
figured out what was going on.

>I'm not sure how much Windows exploits these capabilities; it seems
>like you should be able to share DOS and the BIOS to a certain extent,
>and thus free up memory in the DOS boxes.  However, Windows is
>supposed to run with a variety of OEM DOSes and BIOSes, so Microsoft
>probably doesn't do all that it can to be clever.

It still does most of what it can to be clever, assuming that the DOSes
and BIOSes will meet up to their specifications.  In fact, I have seen
many problems which arise from Windows' cleverness in trying to save
memory and virtualize resources.  However, we manufacturers just have the
choice of convincing Microsoft to change (which is hard... they're bigger
than we are :) or redoing our stuff to make it work.
-- 
Jim Seidman (Drax), the accidental engineer.
UUCP: ames!vsi1!hsv3!jls
ARPA: hsv3!jls@apple.com