From: tguez@jade.tufts.edu (Name)
Newsgroups: comp.os.ms-windows.misc
Subject: Re: Windows == OS
Date: 29 Aug 92 10:03:39 GMT
	<1992Aug25.040007.5898@cco.caltech.edu>
	<TGUEZ.92Aug25151752@jade.tufts.edu>
	<1992Aug26.044858.25614@cco.caltech.edu>
	<TGUEZ.92Aug26163457@jade.tufts.edu>
	<1992Aug27.001245.10197@cco.caltech.edu>
	<TGUEZ.92Aug28015529@jade.tufts.edu>
	<1992Aug28.165518.9103@cco.caltech.edu>
Organization: Tufts University - Medford, MA

>   >and if it is anyone's fault that it is not installed properly,
>   >it's the installation program's fault.  Have I used emm, and it
>   >would have informed windows that there was a problem and windows
>   >would of consequently displayed a dialog box is of no material
>   >here.  It does not matter who informs the user of the error, it
>   >is important who takes care of things.  If window's would of
>   >displayed dialog boxes, and qemm or emm would of never display
>   >the error themselves, then I would have no argument, but that
>   >would only credit windows with a good job at hiding, not
>   >managing things.  
>	   Well it does matter.  The way you have QEMM installed
>   has caused it to keep control of exception handling.  Once Windows
You are still confusing the most simple concept in operating system
theory:  Let me quote a diagram by raymodc@microsoft that he emailed
me after I emailed him my attempt at the diagram, which is very close.

************** I am first in square brakets ([]), he then responses, and
************** he is then commented, and my responses follow
|                                         -------------------
|         ---------------                 Windows Application
|         DOS application                 -------------------
|         ---------------                        |
|                |                        -------------------
|                |                        Windows API layer
|                |
|                |                        Device drivers
|                |                        Scheduler
|                |                        Memory manager
|                |                        -------------------
|                |                           |   |
|                |        ---------------------- |
|                |        Windows device drivers |
|                |        ---------------------- |
|                |                           |   |
|                |                           |   |
|         ----------------------------------------------------
|                             V M M
| 
|                                 Scheduler
|                                 Memory manager
|                                 Device drivers
|                                 File I/O subsystem (*)
| 
|         ----------------------------------------------------
|         [ The comand interperter goes here...
>
>
>No it doesn't!  COMMAND.COM is a DOS application.  Similarly, all
>DOS applications go up there where the box says "DOS application".
Noo, command.com is a command interperter (so is ndos.com) it handles
environement varaibles (and more) that all applications above it use
(including windows).  

|                                           ..., 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]

>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?

>The real problem is that Windows supports DOS applications.  If we take
>out the DOS applications (and the DOS device drivers), then we get a
>nice clean model, agreed?
No I don't see it that way.  Windows virtualizes dos boxes very nicely
but much farther then OS/2 does (where each dos-box feels like a
machine with underline hardware and therefore can install different
device drivers), windows does not allow you to install one memory
manager in one dos-box and a different memory manager in another-- a
sign that it's a week virtual machine implementation or that it's a
simulation of a virtual machine OP and not an OP).

Also don't forget that there is the problem of regular dos
applications running at the same level as most of window's shell, and
that it uses the command interperter like an application.



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

>Now you're begging the question.  You're saying that Windows should not
>be involved here because it is not an operating system.
Rephrase (still same concept):  Windows uses dos's services (such as
it's device drivers and all that) this make windows either an
application or an extension (layer) to dos that bootstraps the system, in
either case it should not buy pass the underline structure.  The fact
that it does pass shows that windows is mis-placed, in the wrong
place, breaking rules and should really be a separate operating system
and not implanet itself into dos.

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

>And lose six million customers.
If windows choses to work incorporation with dos, that makes it either
a bootstrap of the current operarintg system (above the operating
system though, like the diagrams show) or an application of the
operating system, and therefore it must obey to the operating system
and not mutate dos.  In order to keep windows in good health, i.e.,
keep computer science concepts (and not break the rules, and claim not
to), it should be an operating system at it's own right.  

>The problem is that MS-DOS was not written to support layering.
>So Windows goes in, fixes MS-DOS to support layering, then layers
>itself on top of MS-DOS.  The fixes to MS-DOS necessary to support
>layering is the VMM.
Wait, there are layers on dos, BIOS<-device derivers<-resident
programs<- command interp<- applications.  Exactly those fixes are
breaking the rules and structure and concepts of operating systems and
leaves the systm mutated with malignant growth, the above paragraph
explains what should of been done.

|                                  ... 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
|         ----------------------------------------------------
|         Windows even by-passes this right?  Is in this enough
|         cruelty to dos?
| 
| | MS-DOS is not structured well, and windows sorts
| | of expands,replaces,intervines, completes, layers 
| | and integrates into DOS.  Windows looks more like
| | a shell that breaks the rules and does more than
| | what a shell supposed to do, rather then being
| | an operating system.
| 
| >Okay, please explain where the above picture is painfully intertwined?
| 

***********************************
Read it carefully Heath, don't simply skim it.



>   windows of anything, as you state above.  In fact, Windows intercepts
>   the interrupts (aka exceptions) generated by the processor in the
>   event of various system errors.  QEMM should relinquish those
>   interrupts, but apparently does not.  
>	   Windows DOES display the type of dialog that you wish it
>   would, but only if you have your system software properly installed.
>   EMM386.EXE does not "hold Windows' hand" as you imply above.


>   >Clearly, you seem to miss the point every time.  It is not
>	   Oh, really?
Yes, and you are doing it again right now.

>   >argued that windows does not take care of memory management for
>   >it's environment, it is argued that windows does not take care
>   >of system-wide memory management-- as an operating system should.
>	   Well, then why did YOU start the argument about whether
>   Windows supported a nice, easy-to-use malloc().  I guess once 
You see! 

It's not about how easy to use it is.  It's about the fact
that windows does not manage system-wide resources, it manages
resources above it's level only.  In case you have not noticed, in my
and raymondc's diagram window's main management is at the same level as any
dos-application, and it is above the dos command interperter.  [also
an answer to your question above] windows does not control anything
underneath it or at the same level.  It does not control the memory
management of the command interperter for instance-- this is what I
mean by system-wide, window's management  is localized to it and above
it. 

[look at the above quoted email again, Heath].

>   enough people pointed out that Windows does support this, you
>   had to change your tack again.  
No, you think I am changing tack because you constantly miss the
point.  Hopefuly, by the time you get to this line you will understand
better.  In the end when we all understand simple operating system
concepts, I'll be glad take a look at the initial emails, admit
mistakes of specific windows implementations, show you were you missed
the point (and many other did), and why I am not change views.

>	   Oh, bull. Your response in this post clearly shows
>   that you have absolutely no ideas left to discuss on this
>   subject.
I am not going to comment.  If you have understood the last two
quoted emails and the concept of virtualization (by re-reading this,
and try to undertand rather than mack) by the time you reach this line
then there should be no need.

>   >Therefore, let me teach you a little about them:
>	   Ha, ha, ha.
You'll be surprised.

>   >Conceptually a computer system is made up of layers.  The
>  >hardware is the lowest level.  The kernel running at the next
>   >level utilizes the hardware to create a set of system calls to
>   >be used by higher layers (this is operating system APIs).  The
>	   And this is what the KERNEL.DLL module does in Windows,
Look above at the diagram, the kernal.dll and the system.drv are above
the operating system (DOS) and they apply only for the environemnts
above windows (this includes dos-boxes), they are not system-wide, try
to grasp the idea of what I mean by system-wide.  An operating system
by it's definition handles ALL the resources of the computer, windows
only handles things above it and only for things that on top of
windows-- this is not system-wide this is localized to windows (before
you open you mouth again, read the second quoted email again, it will
take away your urge to tell me about dos-boxes again, they are
irrlevant).

>>   along with SYSTEM.DRV.  These two programs together manage
>>   the processor, memory, hardware I/O, in other words, all the
>>   resources of the computer.  They also provide an API for the
>>   higher level modules and programs.
>
>   >system programs are the next level, above the kernel, and are
>   >allowed to use either system calls or hardware calls to enrich
>   >the set of system APIs.  There is a vague line between system
>   >programs API and the kernel's API, and sometimes there is no
>   >telling apart.  System programs view the hardware and kernel
>   >calls as if they were at the same level-- kernel functions are
>   >thought to bootstrap the hardware.  On some systems this is
>	   Actually, my PC boots from a ROM program, I don't know
>   about yours.
You have a serious problem in reading comprehansion.

>
>   >carried even further, and application programs are allowed to
>   >make system calls.  The application views everything underneath
>   >it in this hierarchy as though it is apart of the machine itself.
>	   Whoa!  So you say that all real OS's will not provide
Here you go again, were did you bring this from now?  This section of
the email is explainning to you virtual machines, and their lighter
concepts virtual-devices.  

>   APIs such as OpenComm()?  I guess that would be too abstract and
>   clean for a real OS, huh?  It sure will be smart when all the
>  programs you write that go directly to I/O port 2F8h have to be
>  ported.  Good thing you did't use OpenComm(), huh?  For the
>   record, Unix does not do the sort of thing you seem expect.  If
>   I go straight to the hardware in UNIX, I get a BUS ERROR.  OS/2
>   wouldn't hear of your 'clever' idea, either.
>	   A good OS _abstracts_ the hardware so that applications
>   don't have to jump through hoops to use it.  In DOS, apps jumped
>   through a lot of hoops.  In Windows, we just call OpenComm(), and
>   we are happy as bugs in rugs.
>
>
>   >The logical extension of this approach, and also the conclusion
>   >of this approach is reached in the concept of virtual machines. 
>   >The development of CPU scheduling algorithms and virtual-memory
>   >techniques made it possible for an operating system to create
>   >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.  Virtual machines are obliged, by their
>   >nature and concept, to support virtual disk-drives, virtual
>   >printers (otherwise known as spooling) and (even) virtual tape
>	   Well, that's nice in theory, but what if two machines try
>   to hit the tape drive at once?  Windows prevents this, as it
You really don't understand do you?  These are virtual devices they
don't even have to exist physically.

>   obviously makes no sense.  What would your wonderful OS do?  Have
It's not mine (I only wish).  I use VM because it's the best example
of operating system in the concept of virtual machines, since IBM
pioneered the work in this area.

An aside for Heath:

The first opeating system to provide a virtual machine was the CP/67
on an IBM 360/67 (was later renamed to VM), and introduced by Meyer
and Seawright in 1970.  CP/67 provided each user with a virtual 360
Model 65, including I/O devices.  The commercially available IBM
VM/370 operating system is derived from CP/67 and was described by
Seawright and MacKinnon [1979].
[Now look what you done, you actually made me look for my old notes,
the paper changed color already!]


>   scotty beam down another tape drive?
>
>   >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
>	   Just because you have experience with one operating system
Just so happens I used 6 OP, and studied about 12 operating systems.
I will still not tell you anything about my cridentials.  You are
still trying to show an argument valid, sound or transparent based on
a person's background.

>   does not make you an expert at OS's in general.  I have written
>   programs under Windows, OS/2, DOS, UNIX (many flavors), and VMS.
>   I have no trouble saying that Windows is 90% of an OS, needing
>   only its own file system.

>   >  Yes, here you have a classical scenario of an operating
>   >system nested within an operating system.  However, notice that
>	   Ah, yes.  I had forgotten that example from my CS classes.
>   *snicker*
You should really consider going to evening school, you seem to forget
everything or you simply never understood it.  I am serious I am not
trying to put you down.

>   >the inner operating system does not depend on the services of
>   >the outer operating system, it does not even know of it's
>   >existence-- long way from DOS/Windows relationship.  I would
>	   Once again, the only services Windows uses from DOS
Look at the diagram (not mine).
>   is for file operations.  Even direct access to the harddrive is
>   managed by Windows.

>   >love to go an and explain to you these concepts but I really
>   >would rather spend my time more productively.
>	   Well, that's Ok, anyway.



   >I have tried very hard to keep away from these formal discussions and
   >to bring out examples that would clearly imply a sort of DOS/Windows
   >dependency that is not consistent with a true operating system.
   >However, you have repeatedly misunderstood my simple and subtle
   >arguments for ignorant arguments and pulled my tongue by the low use
   >of personal remarks.  If you still don't get the picture, then I feel
   >very sorry for you.  Simple windows reactions could easily shoot it
   >down as an operating system, as Erike van Linstee
   >(linstee@dutecaj.et.tudelft.nl) put one example, "Ever hear of an OS
   >you can quit and still have a functioning machine?!"
>	   Yes, it is called "Windows."  Then again, ever hear of a non-OS
>   that runs the processor in a special mode, loads programs in a unique
>   format, virtualizes hardware, and serializes input, along with
>   managing memory, cpu time, and I/O access to peripherals?  Nope, me
>   neither.
Yes, I have, and I have used it and you should give it a try.  I gave
enough information that will allow you to locate it.


   >MS-DOS is one of those operating system that started as a small,
   >simple and limited system, and is know in the mids of growing beyond
   >it's intendent scope.  Although MS-DOS has some structure, it's level
   >of functionality are not well separated:
>	   You think DOS is an OS, but Windows is not?  You really are
>   crazy.
Of course, you don't understand the argument-- you never did.  

>   >This how window seems to look like:
>		    ^^^^^ Well, we all know how much you know about
>   Windows' internals, without having any real reason for your
>   beliefs.
No need to see the number 12345! to know it exists-- I'l elaborate at
another time. Instead of trying to be a smart-as* try to understand.

   >        +=============== Some Larger Frame =================+
   >        |                        |                          |
   >        | +--------------------+ | +----------------------+ |
   >        | | applications (dos) | | | Windows Applications | |
   >        | +--------------------+ | +----------------------+ |
   >        |                        |                          |
   >        +------------------------+==========================+
   >                   |             |     Window's Engine      |
   >                   |             +--------------------------+
   >                   |             |   Kernel   |   memory    |
   >                   |             | device man | management  |
   >+--------------------------------+--------------------------+
   >|     application program        | window's device drivers**|
   >+--------------------------------+==========================+
   >|                    command  interpreters                  |
   >+-----------------------------------------------------------+
   >      |            |          |       |    |
   >      +------------+----------+-------+    | * Notice the 
   >      |                       |            | soup between DOS
   >+--------------------------+  |            | device drivers
   >| resident system program  |  |            | and window's
   >+--------------------------+  |            | device drivers
   >      |      |           |    |            |
   >      |      |           |    |            |
   >+----------------+       |    |            |
   >| MS-DOS device  |       |    |            |
   >|   drivers      |       |    |            |
   >+----------------+       |    |            |
   >      |      |           |    |            |
   >+----------------------------------------------+
   >|           ROM BIOS device drivers            |
   >+----------------------------------------------+

>	   First,  DOS apps running in Windows do not make direct calls
>   to DOS, as Windows has to fix up the memory references.  How do
>   you think you can have more than one DOS machine running, and each thinks
>   it is in memory lower than 1MB?  
Review virtual machines.

>	   Second, the command interpreter is not involved.  I sometimes
>   boot straight to Windows without using COMMAND.COM to do so.
nonsense, read the quoted email.  

>   is no need for COMMAND.COM to be loaded.
nonsenses, windows uses commnad.com or ndos.com what have you, read
the quoted email.
>	   Third, Windows cannot call the BIOS because most BIOSes are
>   not written to be called from protected mode.  So, Windows must 
>   either convert all calls to real mode, or emulate the BIOS.  Often,
>   it just emulates the BIOS.
>	   Fourth, a DOS application cannot be running "under" windows.
>   If you are referring to a TSR or something, lump that into the
>   device driver category.
>
>   >MS-DOS is not structured well, and windows sorts
>   >of expands,replaces,intervines, completes, layers 
>   >and integrates into DOS.  DOS is still the dominant
>   >operating system at all times.  Windows looks more
>   >like a shell that breaks the rules and does things
>   >that it should not than an operating system.
>	   How do YOU know that DOS is always dominant?  You keep making
>   these wild claims that imply you understand how Windows works.  I don't
>   think you have a clue.
The same way I know not to look for a goto statement in a prolog
manual or to look for variable declarations in an FP (this is a
language if you don't know) manual.

>   >I'll tell you what.  I could go over the acceptible definitons of an
>   >operating systems but arguing with you is really hopeless.  Since you
>   >are soooo concerned to get an absolute decision if windows is or is
>   >not an operating system rather then exploring the holes and the
>   >inconsistency each view creates, I'll just destroy this silley view
>   >now:
>	   If you would like to learn about OS's go read a book.  I have
>   sufficient experience to know one when I see one.  (And yes, I've
>   read the books, too.)  I have never been "soo concerned about an
>   absolute decision" either.  I have said from the start the Windows is
>   90% and OS, and I intend to stick to that.  I would like to destory
>   your silly view that you have psychic powers of disassembly that allow
>   you to make broad statements about how Windows works.

>   >Bare hardware alone is nothing, it's like a human body with all the
>   >integral parts except the nerves to connect them all.  An operating
>   >system alone performs no useful function by itself (io.sys, and
>   >bios.sys without command.com, clearer now?).  An operating system can
>	   I don't use command.com, even when I'm at the DOS prompt.
You are really ignorant of the structures of operating systems.

>   Your point, however, is taken.  You just needn't be so condescending
>   to people who know more than you.
>
   >also be viewed as a resource allocator, allocates resources to programs
   >(memory for command.com, for instance).  There is no universally
   >accepted defintion of what is a part of the operating system or not.
   >However, there is one thing that appears in absolutely every operating
   >system, and this single thing logically follows from any single statement
   >about an opearting system.  I'll use simple words, now, so you'll be
   >sure to understand:

   >An operating system is the one program running at all times on the
   >computer, with all else being programs.
>	   Well, since Windows supplants all of bios.sys, and all of
>   io.sys other than the file handling stuff, what OS is running
>   when I run Windows?  
I am going to fall off the chair, please let me buckle up.

>	   I think you are wrong. I can start a new OS after
>   boot-time and still have it be an OS.  Even your friend DOS
>   has to be loaded by the ROM...
If you don't understand even this simple concept, then I should of not
wated my time at all with you, you don't have enough theory to
understand these arguments.

>   >Entertained,
>   >Tomer
>
>   Might I suggest a duel?  :)
No.  What you could do now is sit back.  Don't answer anymore posts
about Windows==OS.  The next thing I am going to do is
simply quote a whole series of email conversations that went on while
I was wasting time with you.  They are very interesting, meaningful
and informative many people would find them interesting and enjoy
them.  So read them, but don't comment out or attempt to intervine in
these series they way we usually do with posts, becuase this is a
convesation between me & raymondc@microsoft.com expressing our view
and discussing (like civilized people) the issue.

This might take a day or two because I will wait for him to consent to
that since now it's the weekend, I am not sure if'll get this before
Monday.  Until then I will not read or reply to any of Windows==OS
posts by anyone.  I am not backing up, don't misunderstand again.

>   Heath

Tomer

>   -- 
>   On Saturday, April 18, 1992, this .sig became self-aware.