From: tguez@jade.tufts.edu (Name)
Newsgroups: comp.os.ms-windows.misc
Subject: Re: Windows == OS
Date: 29 Aug 92 23:19:23 GMT
Organization: Tufts University - Medford, MA

>     >Ok, if this is 100% correct and there is nothing else to say about
>     >windows and virtual-memory then why is it that windows must (and does)
>     >return the dos application to the same exact memory location it was
>     >swapped out from.  If what you say is complete and accurate windows
>     >should be able to move DOS apps all around and have no trouble with
>     >them in that respect.
>
>   It DOES move DOS apps all around memory with no trouble!  How do you
Not according to documentation.
>   think you can have more than one DOS box running at once?  Each DOS
Different memory locations (fixed memory locations).
>   box is located in a different part of physical memory, but Windows
>   "virtualizes" the address space seen by each DOS box so that each DOS
>   box sees the same addresses.


     >                                        -------------------
     >        ---------------                 Windows Application
     >        DOS application                 -------------------
     >        ---------------                        |
     >               |                        -------------------
     >               |                        Windows API layer
     >               |
     >               |                        Device drivers
     >               |                        Scheduler
     >               |                        Memory manager
     >               |                        -------------------
     >               |                           |   |
     >               |        ---------------------- |
     >               |        Windows device drivers |
     >               |        ---------------------- |
     >               |                           |   |
     >               |                           |   |
     >        ----------------------------------------------------
     >                            V M M

   NA>                                Scheduler
How in the world do you say SCHEDULER is not apart of an operatgins syetem?
     >                                Memory manager
     >                                Device drivers
     >                                File I/O subsystem (*)

   NA>        ----------------------------------------------------
Here it's acceptible, but don't forget this is a quoatation of an
email, and this refers to a part not quoted.  But with this is email,
I accept an NA here.
     > [ The comand interperter goes here, and you have more dos
     >   applications at this level, windows relies in the shell's
     >   environement varaibles and many of settings, windows is
     >   already too high up to be an OP, which is supposed to be
     >          the lowest thing interacting with the hardware not
     >   above a user interperter shell (device-drivers are a part of
     >          an opearting system]
     >            |        |
     >            |        |
     >        ---------------------
     >            Global TSR
     >        ---------------------
     >            |           |
     >        ----------------------------------------------------
     >                            V M M (inserts itself in between)
     > [here you go, this is painful, windows sends hooks
     >  to places it should not, it has to do this because
     >         it tries to be more then a shell, which it is much
     >         closer to].
     >        ----------------------------------------------------
     >            |           |
     >        -------------   |
     >        MS-DOS device   |
     >            drivers     |
     >        -------------   |
     >            |           |
     >        ----------------------------------------------------
     >                            V M M (inserts itself in between)   (z)
     > [this is what I mean, it intervines, replaces and
     >  disturbes the whole ms-dos operating system
     >  to an extent that it should take dos out and
     >         replace it completely.  It looks more like an
     >         extension.  Don't tell me layered OS again, no
     >        layered appliations are above an interperter like
     >         command.com and side to side with applications.
     >  The VM operating system is the classical example
     >         of nestted operating system, read my last post
     >         to heath (just because I summarized it there
     >  that is incase you are not farmiler with it)]
     >        ----------------------------------------------------
     >            |           |           |           |
     >        --------------------        |           |
     >        MS-DOS kernel               |           |
     >        --------------------        |           |
     >            |           |           |           |
     >        ----------------------------|           |
     >      VMM (inserts itself in between)           |
     > same
     >        ----------------------------|           |
     >            |           |           |           |
     >        ----------------------------------------------------
     >                                ROM-BIOS

>   OK, this illustrates my point exactly...  you've shown several places
>   where the Virtual Machine Manager (VMM) inserts itself between DOS
>   stuff and other layers.  And, by the way, the DOS application part
Please use the word implants, it's better it describes better what
windows is doing to DOS.

>   the top of the diagram is NOT referring to a DOS application running
>   in native DOS, it is referring to a DOS app being managed by
>   *Windows*.  And where does the VMM come from... well... surprise
No you are mis-interepreting the diagram, this diagram shows two
separate operating systems.  The [dos-applications] box refers to the
state in which dos-apps are running and windows is not installed.  We
are not refering there to dos-boxes.  

>   here... the VMM is part of Windows!!!  So as the diagram so pointedly
>   makes obvious, DOS is no longer in control of the machine... the
>   VMM
I am going to quote an email (I did not write this) again:
***
            MS-DOS is given control occasionally, and therefore
            MS-DOS device drivers are given control occasionally,
***
Hence, the operating systems whos device drivers are used is
operational.  If you would of understood the concept of virtual
machines you would not get confused:
**************************** (I answered this)
>| IBM's VM
>| operating system (virtual machine) running CPM is a classical layered
>| opearting system, were everything underneath the top operating system
>| is viewed by this top opearting system as the underline machine.
>
>So what happens when CP/M tries to access a device that VM does not
>understand?
That is the point.  

CPM operating system does not know of the existence of the VM
operating system and therefore it does not use any of VM's device
drivers.  That is your mistake, in a Virtual Machine construct, which
is implemented by IBM (who pioneered the VM research), the VM
operating system creates a virtual hardware.
*******************************
...the illusion of multiple processes.  This virtual machine
concept does not provide any additional functionally, it
provides multiple, identical virtual copies of the bare
underlying hardware(1).  Virtual machines are obliged, by their
nature and concept, to support virtual disk-drives, virtual
printers (otherwise known as spooling) and (even) virtual tape
drivers.  A process or a user that is given a virtual machine
can run any software that is available to the underline machine.
On the VM operating system (which I mistook for the CP/M, in an
earlier post) , which IBM wrote, the user would typically run a
single-user operating system, I think it's the CMS operating
system.  Yes, here you have a classical scenario of an operating
system nested within an operating system.  However, notice that
the inner operating system does not depend on the services of
the outer operating system, it does not even know of it's...
********************************
You see (1), the nested operating system things it deals directly with
the (virtual) hardware and uses only it's own device-driver because
for all it knows there is nothing but a bare machine underneath it. 

**** another related email (I answered this)
>            OS/2 applications cannot use MS-DOS device drivers.
Be careful.  There is no sense if there are TWO or more operating
systems controling the same hardware.  The paradigram is that one
operating system is on top of the other.  Then the top operating
system is viewing everything underneath it as hardware, which it has
to control, manage, and allocate resources from.  Hence, the top
operating system would NOT use any of the lower operating system's
device drivers (technically this should be written, "Hence, the top
operating system would NOT use any of the lower operating system's
device drivers KNOWNLY).  For instance, if the top operating system
uses a tape drive that is apart of the (virtual) hardware it sees, the
bottom operating system is activating a device driver (it's own).
Also note that the (virtual) hardware the top operating system sees,
projects a (virtual) tape drive, that does not mean that the real physical
hardare the lower operating system is running on actually has a tape
drive (not complete but close enough example is the ramdrive.sys that
looks like a network drive to applications above dos, but the
(physical) computer is not connected to any network). 
******************



>   is... and the VMM is part of Windows.  So, are you willing to finally
>   admit that DOS is no longer in control of the machine when Windows is
>   running?  It was you who said in another post that YOUR criterion

It's not mine, it's in every operarting system book it follows from
(every reasonably detailed (a few lines) definition of an operating
system, and what I said (at least ment to say) that the operating
system as a unit (look at OS/2 diagram, the whole box beginning with
"+==+" and ending with "+==+").

You are also making the following mistake because you don't understand
comprehand what an operating system is:

******* (I answered this)
>Okay, how about this:  "VMM is an operating system"
>
>*Everything* passes through VMM.  No exceptions.  VMM interacts with the
>hardware.  Even DOS device drivers don't access hardware directly.  Their
>attempts to access the hardware are filtered through VMM.
>
No this is not correct, you are starting to disassemble parts of an
operating system and asking is this it, when an operating systems is
the sum of it's parts (i.e. memory management in emm would not
consistue an OP but this is a prerequist (sp?) to an opearing system,
managing resources).  The whole box contain the OS/2 diagram is the
OS/2, don't look at each box inside and ask is that the
operating system, that would be as silley as asking is io.sys and
operating system or bios.sys or mouse.sys is an operating system?
********

>   an OS is (paraphrased) the last layer between applications and the
>   hardware.  The last layer is the VMM, which is part of Windows.
>   diagram has made that plainly obvious... thanks for providing the
>   diagram... I couldn't have drawn it better myself! 8)
You are welcome.

>   -Monroe
>
>    * OLX 2.2 * "I love cats," Tom mused.
>
>    * Origin: Through the Looking Glass (42:100/14)
You don't understand the concept of an operating system and hence you
don't understand the arguments presented.  Hence, I'll be more
elaborative and less concise starting with the explanation of the
argument "What operating system, which crashes, leaves the computer
operational?" in the next post. 

-Tomer