TI-H: Off Topic, Windows 95 trivia


[Prev][Next][Index][Thread]

TI-H: Off Topic, Windows 95 trivia




As list traffic has been pretty low lately, and given the
propensity of this list to discussion of operating systems,
I thought this tidbit might intrest some of you.

Many of you probably know about the layer of windows that
involves Kernel32, GDI32, User32, and etc, but most people
are unaware of the lower layer, consisting of (among other
things), VMM (the real heart of windows), IFSMgr, V86MGR,
VSDLDR, and etc.

VMM, the windows Virtual Machine Manager, in its basic
32 bit format has been around for (suprise!) nearly 9 
years now.  On May 22, 1990 Microsoft released Windows 
3.0 Enhanced mode, which, contrary to popular opinion,
is a true operating system, not just a program that runs
"on top of" DOS.  Its actually possable that windows
as a true OS could have had its roots set way back in
1988 with Windows/386 2.0.  We've had a true 32 bit
protected mode operating system on our computers for
8 years now!

Windows runs the old 16 bit DOS code in virtual 86 mode, 
which means that by using the Hook_V86_Int_Chain call 
provided by VMM, system VxDs can capture and emulate 
any interrupt call, even if they originate in the old 
DOS code.  Windows emulates most of the file access 
calls (hence 32 bit file access in WfW 3.11), and many 
others.

Remember WfW 3.11 with 32 bit file access?  Guess what?  
That 32BFA layer is a pre-beta of what now exists in 
Win9x. Microsoft ads for WfW 3.11 (late 1993) bragged 
about how 32BFA was based on "the 32-bit file system 
for our Chicago project"  WfW 3.11 includes 32-bit 
file system VxDs such as IFSMgr, VCACHE, and VFAT, 
just as win95 does.  Its intresting that the 32BFA 
could be lifted directly out of the 95 project and 
dropped into 3.11 without any major changes to the 3.11 
VMM. Everything necessary to support 32BFA has been in
windows since v3.0!).

Essentially, windows uses DOS like a big and complex
device driver, allowing it to handle many of the
system interrupt calls in the 16 bit code.  There are
a couple of reasons MS did this.  One is that the DOS
code has been well tested and is known good, if it were
to be rewritten it would have to be extensivly retested,
which is time consuming and expensive.  Also, if all
that code were 32 bit, the memory requirments would
have increased by nearly 40%!  (32 bit code is by
nature fatter than 16 bit code).  

So, my whole point is that since windows 3.0 could
run in enhanced mode (and possably sooner), it has
not been a program that runs on dos, it is a powerful
and integrated part of the OS, extending and using
MS-DOS.  Microsoft kept much of this secret, much
of this architecture is not clearly documented, and
indeed, Microsoft has released statements that are
clearly misleading.  In WfW 3.11, all of the new
32BFA code was completely undocumented, only Microsoft
would use it.  Only a handful of people know the
real details behind windows, they are the people
who study windows architeture and understand the
details of writing device drivers.

Never would have guessed huh?
DK

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


Follow-Ups: