Discussion:
What role does "DOS" play in Windows 95/98?
(too old to reply)
DOS Guy
2011-10-16 22:27:31 UTC
Permalink
To put it simply:

Many people believe that Windows 95/98 runs "on top of" DOS.

This would lead one to believe that there is some 32-bit, protected-mode
DOS executive layer running under Windows 9x. 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
2) to support legacy 16-bit applications (and drivers?).

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
DOS.

Please discuss here what the truth really is concerning where DOS fits
into the structural functionality of Windows 9x.
Trifle Menot
2011-10-16 23:38:53 UTC
Permalink
Post by DOS Guy
Please discuss here what the truth really is concerning where DOS fits
into the structural functionality of Windows 9x.
There are many books on this. Here's one you can download:

http://www.4shared.com/get/DDyCHQyI/Windows_95_System_Programming_.html
--
Free web mail, POP3, and SMTP
http://www.beewyz.com/freeaccounts.php
Rod Pemberton
2011-10-17 09:16:49 UTC
Permalink
Post by DOS Guy
Many people believe that Windows 95/98 runs "on top of" DOS.
No.

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.
Post by DOS Guy
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.
Post by DOS Guy
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.
No.
Post by DOS Guy
Most rational explanations say that DOS is involved in two aspects of
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"
DOS.
Post by DOS Guy
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.
Post by DOS Guy
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
DOS.
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.
Post by DOS Guy
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
ago.


Rod Pemberton
Klaus Meinhard
2011-10-17 14:47:00 UTC
Permalink
Hallo Rod,
Post by Rod Pemberton
Post by DOS Guy
Many people believe that Windows 95/98 runs "on top of" DOS.
No.
Yes, somewhat :-)
Post by Rod Pemberton
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.
That means NT Virtual DOS Machine, and it runs only under 32bit NT
type OSs. Win 95 (and 98) belong to the DOS type OSsand were hybrid
16/32bit systems.,

They had to start DOS, which was then used to start some important
drivers and system processes. You could, with a little hack, still
boot to 16bit DOS (and remain and work there), then start Windows
(WIN.exe command), and shut down Windows and end up in DOS again like
after every other program. MS tried quite some antics to hide this
fact, but it was of course widely publicized in all computer
magazines.

It is debatable if you can call this "running on top of DOS". Windows,
when finally started, switched off some of the underlying 16bit DOS
system and became more and more 32bit, but even 98 couldn't run
without the underlying DOS.


--�
Best regards,

* Klaus Meinhard *
<www.4dos.info>
tomdzip
2011-10-17 16:02:45 UTC
Permalink
Post by Klaus Meinhard
Hallo Rod,
Post by Rod Pemberton
Post by DOS Guy
Many people believe that Windows 95/98 runs "on top of" DOS.
No.
Yes, somewhat :-)
Post by Rod Pemberton
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.
That means NT Virtual DOS Machine, and it runs only under 32bit NT
type OSs. Win 95 (and 98) belong to the DOS type OSsand were hybrid
16/32bit systems.,
They had to start DOS, which was then used to start some important
drivers and system processes. You could, with a little hack, still
boot to 16bit DOS (and remain and work there), then start Windows
(WIN.exe command), and shut down Windows and end up in DOS again like
after every other program. MS tried quite some antics to hide this
fact, but it was of course widely publicized in all computer
magazines.
It is debatable if you can call this "running on top of DOS". Windows,
when finally started, switched off some of the underlying 16bit DOS
system and became more and more 32bit, but even 98 couldn't run
without the underlying DOS.
--
Best regards,
*  Klaus Meinhard  *
<www.4dos.info>
Klaus,
I visited www 4dos info and was intrigued by the capabilities of
WinEdlin. Would
you please advise me whether it is compatible with Vista and/or Win 7?

Thanks a ton!
Klaus Meinhard
2011-10-18 06:42:35 UTC
Permalink
Hallo tomdzip,
Post by tomdzip
I visited www 4dos info and was intrigued by the capabilities of
WinEdlin. Would
you please advise me whether it is compatible with Vista and/or Win 7?
Thanks a ton!
Yes!!! MS gave it a ribbon interface, and your text is now stored in
the cloud. Only drawback is you have to have a Windows Live account.
--
herzliche Grüße,

Klaus Meinhard
Rod Pemberton
2011-10-17 17:34:34 UTC
Permalink
Post by Klaus Meinhard
They had to start DOS, which was then used to start some important
drivers and system processes.
AFAIK, it only needs HIMEM.SYS or another XMS driver ... Personally, I use
HIMEMX. The only place HIMEMX won't work with Win98 or SE is the very first
part of a fresh install from the install CD. After the first reboot, you
can switch XMS drivers. It's rumored MS has some custom code in HIMEM.SYS
for 98/SE/ME that's not present in normal DOS XMS drivers.
Post by Klaus Meinhard
You could, with a little hack, still
boot to 16bit DOS (and remain and work there), then start Windows
(WIN.exe command), and shut down Windows and end up in DOS
again like after every other program.
You could do that ... However, no hack is required to get to DOS. You can
boot directly into 16-bit real-mode DOS for Win98 and SE. I think you hit
F8 at startup. A command menu appears. You have two real-mode DOS choices,
one with drivers and one without. Select either to boot into DOS. ME
required a binary patch to the startup to allow access to real-mode DOS.
Post by Klaus Meinhard
MS tried quite some antics to hide this
fact, but it was of course widely publicized
in all computer magazines.
You must mean ME ...
Post by Klaus Meinhard
It is debatable if you can call this "running on top of DOS".
Windows, when finally started, switched off some of the
underlying 16bit DOS system and became more and more
32bit, but even 98 couldn't run without the underlying DOS.
You mean it can't start without DOS. I don't believe it needs DOS once
started. It might, but I don't think so ... It needs a FAT16 or FAT32
filesystem. It has PM 32-bit harddisk drivers. In fact, it has PM 32-bit
device drivers for just about everything. SATA drivers are the only thing
you won't find. It switches video modes, so it probably needs BIOS via
16-bit v86 mode.


BTW, posting from and using either Win98 or SE since '98 ... The
motherboard manufacturer claims it's motherboard is incompatbile with
Win98/SE:

AMD X2 5600+ 2.8Ghz AM2
MSI K9N Neo-F
EVGA Nvidia 7960GT 512MB
OCZ Sata II 64GB SSD
Logitech MX-518
4GB memory

Memory is capped at 1GB for WinSE by HIMEMX, but full 4GB should be
available in MS-DOS. I've not confirmed though.

With KernelEx, you can run all sorts of non-Win98/SE software (single-core):

Opera 11.51
Mozilla FireFox 3.6.13 and 3.5.19
Java 6 update 27
Adobe Flash 11,0,1,152
OpenOffice 3.2
VLC 1.1.11

I've not tried more recent versions of FF. It should run upto 3.6.17. It
may run upto 3.6.22 or later. Supposedly, you can run Adobe Reader 7
series, but not 8 or 9. However, other open source pdf viewers are
available.


Rod Pemberton
DOS Guy
2011-10-17 20:43:25 UTC
Permalink
Post by Rod Pemberton
It has PM 32-bit harddisk drivers. In fact, it has PM 32-bit
device drivers for just about everything. SATA drivers are the
only thing you won't find.
That's actually incorrect.

For the first-generation SATA controllers (circa 2003 to 2005) you'll
have no problems finding win-98 drivers. This is true regardless if the
controller is built on the motherboard or add-on PCI card.

The last intel chipset to have win-9x support (ICH-5R I believe - the
one that came with the 875 north bridge) had win-98 SATA/Raid driver
support. As did many SiL 31xx-35xx chips.

I currently have a pair of SATA 1.5 TB FAT-32 drives connected to one of
my win-98 systems using a SiL 3112 dual-port PCI controller card.
Win-98 sees this as a SCSI adapter in the device manager.

The nice thing about having SATA drivers for win-98 (and setting the
SATA ports to SATA/Raid in the bios - NOT IDE emulation mode) is that
you don't have the 137 gb partition-size problem.

I think the rule of thumb is that there are win-98 drivers for any/all
SATA-1 controllers. But not for SATA-2/3 controllers.
Post by Rod Pemberton
EVGA Nvidia 7960GT 512MB
I was under the impression that 512 mb on a video card was totally
incompatible with windows 98. Perhaps that was only if the card was
PCIe. Is your card AGP?
Post by Rod Pemberton
Memory is capped at 1GB for WinSE by HIMEMX, but full 4GB should
be available in MS-DOS. I've not confirmed though.
I believe that DOS can see all 4 gb. You're right that himemX must be
used to prevent Win-9x from "seeing" more than 1.5 gb of system ram (I
believe that if you have 1.5 gb or less of actual ram, then you don't
need to use himemX). I've played around with various vcache settings
and have gotten win-98 to see and make use of 1.2 gb ram on a 2 gb
system. Windows ME can see and make use of almost 2 gb (this ability
apparently can't be transplanted into win-98).
Post by Rod Pemberton
With KernelEx, you can run all sorts of non-Win98/SE software
Yes, I've been running KeX for about 3 years now.
Ross Ridge
2011-10-17 22:34:30 UTC
Permalink
Post by DOS Guy
For the first-generation SATA controllers (circa 2003 to 2005) you'll
have no problems finding win-98 drivers. This is true regardless if the
controller is built on the motherboard or add-on PCI card.
Every SATA device I've seen has a backwards compatiblity mode (often
the default) which presents a standard IDE interface that the standard
Windows 98 IDE drivers can use. The only problem is that the standard
Windows drivers don't support drives bigger than 137 GB (28-bit LBA).
A workaround is not to use any driver at all and fall back to the BIOS,
which has a 64-bit LBA interface and gives compatibility with any
interface the BIOS can boot off of.
Post by DOS Guy
I was under the impression that 512 mb on a video card was totally
incompatible with windows 98. Perhaps that was only if the card was
PCIe. Is your card AGP?
There's no fundamental reason why a 512MB video card would have to be
incompatible, but as far as I know there aren't any with full Windows
98 drivers. He could however being using that card with the standard
VGA driver or with a VESA driver.

Ross Ridge
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] ***@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
DOS Guy
2011-10-17 23:29:46 UTC
Permalink
Post by Ross Ridge
Post by DOS Guy
For the first-generation SATA controllers (circa 2003 to 2005)
you'll have no problems finding win-98 drivers.
Every SATA device I've seen has a backwards compatiblity mode
(often the default) which presents a standard IDE interface
that the standard Windows 98 IDE drivers can use.
I am not talking about IDE-compatibility mode (for which win-98 uses the
crippled ESDI_506.PDR which is where the 137 GB limitation lies). BTW,
there is a modded public-domain version of ESDI_506 that's supposed to
address that problem.

It's been my experience that when I need to find them, I've had no
problem getting and installing drivers for SATA/Raid controllers for
Windows 98 for SATA-1 controllers. Be it SiL, Intel, or Via.

On the system I'm using right now to type this post - a win-98 system
running on a P4 2.5 Ghz CPU Intel 845 motherboard, I have a PCI SATA
card with a Silicon Image SiL 3512 SATARaid Controller. The driver for
this controller is SI3112r.mpd, file details says "Serial ATA Raid
miniport driver". The comments says "Sil 3x12 SataRaid driver for
Windows 98/SE/ME, NT 4.0, Windows 2000/XP, and Windows Server 2003".
Post by Ross Ridge
Post by DOS Guy
I was under the impression that 512 mb on a video card was
totally incompatible with windows 98. Perhaps that was
only if the card was PCIe. Is your card AGP?
There's no fundamental reason why a 512MB video card would have
to be incompatible,
The consensus on the win-98/me forum on MSFN.org is that a 512mb video
card will not work under win-98, regardless what hacked or modded driver
is used. Now, that may very well apply only to PCIe cards - because 512
MB AGP cards are (to my knowledge) less "available" within the last say
5 years (or were never that popular at any point in time).
Ross Ridge
2011-10-18 00:36:49 UTC
Permalink
I am not talking about IDE-compatibility mode ...
I was.
The consensus on the win-98/me forum on MSFN.org is that a 512mb video
card will not work under win-98, regardless what hacked or modded driver
is used.
Like I said, there's no fundamental reason why a driver for a 512MB video
card, a real driver, not some hack, couldn't be written for Windows 98.
There just wasn't a good enough reason for ATI or NVIDIA to do so.
The memory size of the video card is irrevelent. Some people, I'm
guessing like those on the forum you mentioned, assume that all of video
card's memory must be mapped in to the physical address space somewhere,
but that's not in fact the case.

And like I also said, the standard 640x480 16-colour VGA driver will work
any modern video card, since they're all VGA compatible. My 1GB ATI
5770 works just fine with Windows 98 and this driver. That VESA-based
driver floating out there should also work with any video card, but I
haven't actualy tried it.

Ross Ridge
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] ***@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
DOS Guy
2011-10-18 01:36:20 UTC
Permalink
Post by Ross Ridge
I am not talking about IDE-compatibility mode ...
I was.
Why?

I'm still not sure where you stand then on SATA drivers for win-98.
Post by Ross Ridge
The consensus on the win-98/me forum on MSFN.org is that a 512mb
video card will not work under win-98, regardless what hacked or
modded driver is used.
Like I said, there's no fundamental reason why a driver for a 512MB
video card, a real driver, not some hack, couldn't be written for
Windows 98.
Ok, I think we misunderstand each other.

Yes, your right that anything is possible.

In this case, it is not easily possible. There is something that can't
easily be overcome by win-98 enthusiasts when it comes to 512 mb video
cards.
Post by Ross Ridge
Some people, I'm guessing like those on the forum you mentioned,
assume that all of video card's memory must be mapped in to the
physical address space somewhere, but that's not in fact the case.
No, they know that not all of the video memory is mapped into system
memory.
Post by Ross Ridge
And like I also said, the standard 640x480 16-colour VGA driver
will work any modern video card, since they're all VGA compatible.
16-color VGA is useless if the intent is to run windows. Even Windows
98.
Post by Ross Ridge
My 1GB ATI 5770 works just fine with Windows 98 and this driver.
In 16-color VGA mode? Is that what you're calling "working just fine" ?
Ross Ridge
2011-10-18 13:46:40 UTC
Permalink
Post by DOS Guy
I'm still not sure where you stand then on SATA drivers for win-98.
I was very clear.
Post by DOS Guy
In this case, it is not easily possible. There is something that can't
easily be overcome by win-98 enthusiasts when it comes to 512 mb video
cards.
There's no problem other then it's difficult to write a complete driver
from scratch. There's no reason why having 512MB of video RAM would
make it more difficult than having 256MB.
Post by DOS Guy
Post by Ross Ridge
My 1GB ATI 5770 works just fine with Windows 98 and this driver.
In 16-color VGA mode? Is that what you're calling "working just fine" ?
Yes. For my purposes it worked just fine.

Ross Ridge
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] ***@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
Rod Pemberton
2011-10-18 14:51:06 UTC
Permalink
...
Post by DOS Guy
Post by Rod Pemberton
EVGA Nvidia 7960GT 512MB
I was under the impression that 512 mb on a video card was totally
incompatible with windows 98. Perhaps that was only if the card was
PCIe. Is your card AGP?
No. It's definately PCIe. It uses Nvidia ForceWare 82.69 modded by Tihiy
for Win98. Probably from either MSFN or MDGX or driver website ... I
literally had zero problems with this. It installed and worked. The "Auto
overclocking" and "Manual overclocking" work too! Actually, everything
works in the control panel, AFAICT, except identifying the GPU. I've got my
vid set to 1680x1050-32bit color right now. Uncapped, it gets roughly 450
to 700+ fps in Q3A.

ForceWare reports:
"Graphics card information"
"Processor: NVIDIA {Unknown}"
"Video BIOS version: 5.71.22.42.55"
"IRQ: 10"
"Bus: PCI Express x16"
"Memory: 512MB"
"ForceWare version: 82.69"
"TV Encoder Type: NVIDIA integrated"

I wasn't able to get 98 drivers for the onboard ethernet. The sound card's
AC drivers gave me fits too, so I installed a card for that works for 98.
The SATA SSD is BIOS IDE emulation. It's still unbelievably fast and
silent. Is BIOS IDE emulation is just for the boot device? SATA DVD-ROM
had to go through cheap aftermarket SATA-IDE bridge. (BTW, you cannot
update your DVDs firmware that way ... doorstop.) The only way I've been
able to get any SATA is for the CD/DVD-ROM is through a DOS driver called
GCDROM.SYS. Unfortunately, no Joliet support though ... (for long names on
some installation disks). XGCDROM.SYS does not work for my system with
SATA. NUSB provides native USB support. Xeno was working on native SATA
support by modifying Universal ATA drivers:

"Win 9x/ME support (now we have separate build with some limitation, thanks
to Xeno)."
http://alter.org.ua/en/soft/win/uni_ata/

I think I found the Win98 modded version of this driver, but couldn't figure
out how to get it to work:

BusMaster_v39j.rar
BusMaster_v39j1.rar
BusMaster_v39j1_Dbg.rar
Post by DOS Guy
Post by Rod Pemberton
Memory is capped at 1GB for WinSE by HIMEMX, but full 4GB should
be available in MS-DOS. I've not confirmed though.
I believe that DOS can see all 4 gb.
With XMS, I can't so far ... 2GB is all I've been able to get. I tried a
bunch of XMS drivers a while back, but not all that I knew about. With
DPMI, I can. At least, DPMI says all 4GB is there, I've not actually
allocated it to confirm. The machine's BIOS only recognizes 3328MB of the
4GB. The rest is supposedly allocated via MMIO (video card), PCI bus, and
BIOS mapping.
Post by DOS Guy
You're right that himemX must be
used to prevent Win-9x from "seeing" more than 1.5 gb of system ram (I
believe that if you have 1.5 gb or less of actual ram, then you don't
need to use himemX).
Actually, after playing around a bit with HIMEMX. It now recognizes 2GB
after adding /NUMHANDLES=128 to it's config.sys line. WinSE is capped to
1GB via "MaxPhysPage=3FFFF" in system.ini.

I'm not sure why HIMEMX isn't mapping more memory. I have another machine
where HIMEMX doesn't work correctly. It only recognizes 64MB out of 256MB
... So, there are some bugs with it, I think, that Japheth hasn't found
yet.
Post by DOS Guy
I've played around with various vcache settings
and have gotten win-98 to see and make use of 1.2 gb ram on
a 2 gb system. Windows ME can see and make use of almost
2 gb (this ability apparently can't be transplanted into win-98).
1GB is working well for me. Of course, the SSD kicks in for the swap file
when browsing an exceptionally large number of websites, like 200+. I
wanted to use MGDX's 98SE2ME conversion, especially for the faster neworking
DLLs, but couldn't locate a copy of WinME.


Rod Pemberton
Ross Ridge
2011-10-18 17:49:23 UTC
Permalink
Post by Rod Pemberton
I wasn't able to get 98 drivers for the onboard ethernet.
Pretty much every Ethernet device has MS-DOS "NDIS" drivers avaible,
you might want to check for that.
Post by Rod Pemberton
The SATA SSD is BIOS IDE emulation. It's still unbelievably fast and
silent. Is BIOS IDE emulation is just for the boot device?
It's actually hardware level emulation, so it'll work for any device.

Ross Ridge
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] ***@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
Ross Ridge
2011-10-17 16:46:55 UTC
Permalink
Post by DOS Guy
Many people believe that Windows 95/98 runs "on top of" DOS.
Yes and no.

Windows 95 starts of by booting real-mode MS-DOS pretty much
normally. Then it starts VMM (Virtual Machine Manager), a 32-bit ring
0 environment for creating virtual machines (VMs) that running cloned
versions of the MS-DOS enviroment that booted the PC. VMM is essentially
a operating system to itself, with its own drivers (VxDs) and you can
argue this actually what Windows 95 runs on top of.

VMM then creates a VM for running "Windows" in. Both 16-bit and 32-bit
Windows applications run as ring 3 protected mode applications in this
single VM. When a Windows application does some sort of device access,
like read from a disk, the request gets passed to VMM. If the VMM has a
suitable device driver then it handles the request itself. If not then
the VMM can use the cloned MS-DOS environment to handle it. It switches
the processor to Virtual 8086 mode, a protected mode enviroment where
instructions are decoded like in real-mode. It can then use MS-DOS and/or
the BIOS to handle the request, without actually giving up control of
the machine.

Since MS-DOS acts as as device driver of last resort for the VMM,
you could also argue that Windows 95 is running on top of MS-DOS.
Note that ability to use MS-DOS and the BIOS like this is what allows
Windows 95/98/ME to work all sort devices on all sorts of PCs, even ones
without driver support. That includes modern devices that didn't even
exist when these operating systems were released, at least those that
the BIOS has support for.

MS-DOS applications running under Windows 95 get their own VMs, seperate
from the main VM used to running Windows. Real-mode MS-DOS applications
run in Virtual 8086 mode, however things disk and other device accesses
go through the VMM like with Windows applications.

Note that this is how Windows has worked in "enhanced mode" since support
for it was added in Windows/386 2.1.

Ross Ridge
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] ***@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
DOS Guy
2011-10-17 23:46:17 UTC
Permalink
Post by Ross Ridge
Since MS-DOS acts as as device driver of last resort for the VMM,
you could also argue that Windows 95 is running on top of MS-DOS.
Isin't it more accurate to say that Windows 9x is simply accessing
hardware via a 16-bit driver running in the DOS VMM that IT (windows)
controls?

And is this only for situations where there is no 32-bit driver
installed?

Perhaps in the early days of Win-9x there were many systems that were
upgraded and perhaps some new off-the-shelf systems that had to rely on
pre-existing 16-bit DOS or win-3.0 drivers, but a year or two later (and
persisting until about 2005 or 2006) I'd venture a guess and say that
there simply wasn't any hardware in use on the typical win-98 machine
that didn't have 32-bit drivers.

So for any win-98 system that *doesn't* have 16-bit device drivers, you
can't really say that windows is running "on top of" DOS now can you?

I guess my main point is that if you order various components
horizontally such that there is a "top" component or top layer, you are
implying that the layer underneath is a foundation for or is in control
of the layer above it, and this lower layer must know that the higher
layer exists. That clearly is not the case for the relationship between
DOS and Win-9x.

Wouldn't you agree that what we have here is a case where DOS runs "on
top of" Windows 9x - and not the other way around? And even then - only
when it's called for?
Trifle Menot
2011-10-18 00:14:53 UTC
Permalink
Post by DOS Guy
Wouldn't you agree that what we have here is a case where DOS runs "on
top of" Windows 9x - and not the other way around? And even then - only
when it's called for?
Seems you did not read the book
--
Free web mail, POP3, and SMTP
http://www.beewyz.com/freeaccounts.php
Ross Ridge
2011-10-18 00:56:35 UTC
Permalink
Post by DOS Guy
Isin't it more accurate to say that Windows 9x is simply accessing
hardware via a 16-bit driver running in the DOS VMM that IT (windows)
controls?
I think it would be more accurate to say that Windows runs under some
weird VMM/MS-DOS 32-bit/16-bit hybrid, but does it really matter?
Post by DOS Guy
And is this only for situations where there is no 32-bit driver
installed?
I'm not sure if its ever the case that Windows 95/98/ME never needs to
use MS-DOS after it boots. The VMM effectively takes over a lot of the
functionality of MS-DOS but I don't know if it actually ever supplants it.

Ross Ridge
--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] ***@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //
Klaus Meinhard
2011-10-18 06:53:51 UTC
Permalink
Hallo DOS Guy,
Post by DOS Guy
Isin't it more accurate to say that Windows 9x is simply accessing
hardware via a 16-bit driver running in the DOS VMM that IT
(windows) controls?
Since DOS has to be started to provide a platform from which Win95/98
can be launched, and has to be present so that Win95/98 can run, it is
perfectly defendable to say that Win 95/98 runs "on top of" Windows.

Now you can carefully define your directions: perhaps Win95/98 runs
beside or under DOS? You can try to define the amount of DOS as a
percentage in any given situation. You can ask youself if a clone of
the underlying DOS is still DOS at all: has it its soul?

What I don't understand is that this discussion crops up again after
so many years. The only one who had a real interest to hide the fact
that DOS is an essential part of Win95/98 was the MS marketing, who
wanted to present the picture a shiny new OS whithout stone age CLI
DOS to the public. For everybody else it simply doesn't matter.
--
Best regards,

* Klaus Meinhard *
<www.4dos.info>
DOS Guy
2011-10-18 13:12:19 UTC
Permalink
Post by Klaus Meinhard
Post by DOS Guy
Isin't it more accurate to say that Windows 9x is simply accessing
hardware via a 16-bit driver running in the DOS VMM that IT
(windows) controls?
Since DOS has to be started to provide a platform from which
Win95/98 can be launched, and has to be present so that Win95/98
can run, it is perfectly defendable to say that Win 95/98 runs
"on top of" Windows.
No. It's more like Win-9x is boot-loaded by DOS.

I could just as easily say that Windows NT "runs on top of" it's boot
loader. That is equally true according to your definition of "runs on
top of" - but it's not a useful statement.

The DOS that existed transiently in memory when win-9x was invoked is
swept away as 9x is started. As such, Win-9x can't "run on top of"
something that no longer exists.
Post by Klaus Meinhard
Now you can carefully define your directions: perhaps Win95/98 runs
beside or under DOS? You can try to define the amount of DOS as a
percentage in any given situation. You can ask youself if a clone of
the underlying DOS is still DOS at all: has it its soul?
Are you trying to imply that DOS is acting like an always-present
foundation for Win-9x?

If so, you might want to explain how 16-bit, single-tasking real-mode
code can act as a foundation layer for a 32-bit, preemtive multi-tasking
protected-mode OS running "above" it.

Win-9x needs to be able to run 16-bit "DOS" programs. That was part of
it's design mandate when it was created by Microsoft to insure backwards
compatibility with the existing i86 software. So just because it does
have full DOS-emulation capability inside it doesn't mean it needs to
resort to any of it when it's running win32 code.
Jim Leonard
2011-10-18 14:03:08 UTC
Permalink
Post by DOS Guy
If so, you might want to explain how 16-bit, single-tasking real-mode
code can act as a foundation layer for a 32-bit, preemtive multi-tasking
protected-mode OS running "above" it.
This all depends on what your definition of foundation layer is, which
you seem to be sliding back and forth in an effort to prove your
argument. You are religiously attached to your favorite operating
system family, so no argument is really going to sway you from your
opinion.

You seem offended that a 16-bit operating system is the foundation for
its higher functions, but I don't see you annoyed by the 16-bit BIOS
that is the foundation for *all* operating systems you boot on your
machine. Wonder why that is.

Troll is trolling, move along.
Klaus Meinhard
2011-10-19 08:07:48 UTC
Permalink
Hallo DOS Guy,
Post by DOS Guy
No. It's more like Win-9x is boot-loaded by DOS.
I could just as easily say that Windows NT "runs on top of" it's
boot loader. That is equally true according to your definition of
"runs on top of" - but it's not a useful statement.
You should try to read the Wikipedia entry
<en.wikipedia.org/wiki/Windows_95>

<Quote>

To end-users, MS-DOS appeared as an underlying component of Windows
95. For example, it was possible to prevent loading the graphical user
interface and boot the system into a real-mode MS-DOS environment.
This sparked debate amongst users and professionals over the question
of to what extent Windows 95 was an operating system or merely a
graphical shell running on top of MS-DOS. From an architectural
stance, both viewpoints lack nuance.

When the graphical user interface was started, the virtual machine
manager took over the filesystem-related and disk-related
functionality from MS-DOS, which itself was demoted to a compatibility
layer for 16-bit device drivers.[14] This contrasted with earlier
versions of Windows which relied on MS-DOS to perform file and disk
access. (Windows for Workgroups 3.11 could also largely bypass MS-DOS
when 32-bit file access and 32-bit disk access was enabled.) Keeping
MS-DOS in memory allowed Windows 95 to use DOS device drivers if
suitable Windows drivers were unavailable. MS-DOS also still handled
most other functions (for example, allocating memory and parsing file
names), issued by legacy Win16 and DOS applications, as Microsoft saw
little benefit in replacing these helper functions with newly-written
32-bit code.[14]

<Unquote>
--
Best regards,

* Klaus Meinhard *
<www.4dos.info>
Ant
2011-10-19 00:26:02 UTC
Permalink
Post by Klaus Meinhard
What I don't understand is that this discussion crops up again after
so many years.
It's my fault.

Newsgroups: alt.comp.virus
Subject: Re: Download links to Fake UPS spam (was: Fake UPS e-mail contains nasty ...)
Message-ID: <***@brightview.co.uk>

In which I describe some malware found in DOS Guy's (Virus Guy in that
group) browser cache. At the end of the article I made what I consider
a throwaway remark:

"...Win9x which is really just a shell (albeit rather sophisticated)
running on top of DOS".

That's what started the trouble, Virus Guy calling it a "crazy claim".
In my next post I retracted and in subsequent posts tried to explain
why I thought of it that way. Then I noticed the discussion here
(comp.os.msdos.programmer) and also quoted from Ross Ridge's "Yes and
no" article.

I've no idea why VG is so passionate about it because it was a side
issue to the thread topic and I wasn't arguing one way or the other
but only pointing out some things that made me take that view.
Klaus Meinhard
2011-10-19 07:19:50 UTC
Permalink
Hallo Ant,
Post by Ant
I've no idea why VG is so passionate about it because it was a side
issue to the thread topic and I wasn't arguing one way or the other
but only pointing out some things that made me take that view.
thanx for the explanation. :-)

As I tried to outline in my last posting, it is a question of how you
define your terms (under, on top of..., etc.) and shouldn't really
matter to anybody outside of MS marketing in the 90s. "DOS Guy" seems
to be a little challenged in grasping his facts, so I'll lay this to
rest.
--
Best regards,

* Klaus Meinhard *
<www.4dos.info>
Loading...