> Many people believe that Windows 95/98 runs "on top of" DOS.
I'll be using AIUI alot since I don't have firm info, but you should be able
to locate some old "inside Windows" books at your local library, etc.
Quote:> This would lead one to believe that there is some 32-bit, protected-mode
> DOS executive layer running under Windows 9x.
AIUI, there is a 32-bit, protected-mode DOS executive layer, but it's not
running under Windows 9x. It runs on top of Win9x like other applications,
services, using Win9x's 32-bit functionality. I don't know what this is
called for Win9x. It's called NTVDM for other Windows OSes. It's known to
have special escape sequences that start with 0xC4 0xC4 to interface with
32-bit Windows. What surprises me is that no one has "ported" NTVDM to DOS,
to create a 32-bit DOS. Actually, you wouldn't need to port NTVDM.
However, you do need to supply the required 32-bit Windows interfaces and PM
setup, which would be a like a specialized 32-bit OS. About the closest
thing you'll see to that is Japheth's HX DOS Extender running DOSBOX for
Windows on DOS. Same idea, but doesn't support multiple DOS "boxes". You
can read about NTVDM on Wikipedia.
Quote:> If that was not true,
> then the alternative would have to be that a 16-bit, real-mode DOS layer
> is somehow able to support windows-9x running in 32-bit protected mode
> above it.
> Most rational explanations say that DOS is involved in two aspects of
> win-9x functionality:
> 1) the boot loader
Yes. Win9x starts from 16-bit MS-DOS. It probably also switches to 16-bit
cpu-mode for video BIOS calls, but that's not DOS. Also, AIUI, Win9x has
modified version of HIMEM, i.e., XMS driver, that passes MS-DOS allocated
memory, e.g., for a ramdisk or other drivers, to Win9x upon startup. Win9x
takes over memory allocation from there, preserving DOS allocated memory.
You can use DOS 16-bit device drivers with Win9x. Those very compatible
with MS-DOS features probably helps to support the myth of Win9x "on top of"
Quote:> 2) to support legacy 16-bit applications (and drivers?).
This is actually due to the design of Intel 80386 and later microprocessors.
Intel added the v86 cpu-mode. This allows 16-bit applications to run on top
of a 32-bit OS with memory protection. It can be for any OS, not just
Windows. But, that means multiple 16-bit MS-DOS "boxes" or windows can be
run in a 32-bit PM OS like Win9x. You can read about v86 on Wikipedia too.
> A more likely explanation is that:
> a) people like to denigrate the windows-9x line and fabricate
> differences between it and the NT line, and one way to do this is to
> make the outlandish claim that it runs "on top of DOS" - something that
> was true of windows 3.
> b) people genuinely do believe that windows-9x is more similar to
> windows 3 in terms of "running on top of" DOS.
> c) people associate FAT32 with DOS, and hence because windows-9x only
> supports FAT32 it therefore must have some large internal reliance on
More likely, very few really know all the details. I surely don't, but
could probably locate the type of books that I mentioned which were widely
available in the early '90's that would explain in-depth.
Quote:> Please discuss here what the truth really is concerning where DOS fits
> into the structural functionality of Windows 9x.
AIUI above ... HTH. I'd swear somebody asked this same thing a few years