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

>     >virtualizes like an operating system virtualizes.  Yet, this is all
>     >nothing more than a layer of primitives.  You have to use window's
>     >primitives to fell this "virtualization" try accessing any of these
>     >things you mention directly and see how much of virtualization windows
>     >truely provides.
>
>   Huh????  Do you know what you are talking about?  Any "good" OS
>   always hides the hardware from the software developer.  If you want to
>   access a hardware device, you have to do so through SYSTEM calls with
>   a well defined API.  The OS then takes care of device contention,
>   allocation, etc...  This is why DOS is *not* a good OS, because it
>   lets software developers manhandle the hardware without DOS's
>   knowledge.  I think anyone would agree that Unix is a "good" OS.  How
>   do you think that malloc is implemented?  It eventually makes a system
>   call (through that system's API) requesting memory.  The system then
>   returns with a pointer to that piece of memory.
Read the response for Heath's post about the difference between
Operating System API, and what windows offers.

>   And what do you think an OS is except a bunch of "primitives"?
>   How do
Again the same response as the paragraph above, and there is a difference
between UNIX layer's WHICH YOU CANT BREAK and windows layers WHICH ARE
SOOOO FRAGILE as you said because it's DOS's fault.  This is excellent;
another argument that Windows DOES NOT TAKE over essential operating
system responsibilities from DOS!

>     >>   >touch it because now you have the malloc pointer.  Yet a true
>     >>   >operating system, which supports this feature, does not care that
>     >>   >you have the actual pointer, it changes the base address of your
>     >>   >pointer on the hardware level.
>     >>    Actually, Win 3.1 changes the base address on the hardware
>     >>   level.  By abandoning real mode, Windows has gained greatly in
>     >>   memory management abilities.  Now, you can lock thatHGLOBAL
>     >>   use the pointer throughout your App's life.  When you quit, just
>     >>   unlock it once.  Windows will still be able to juggle your blocks,
>     >>   it just doesn't have to have your cooperation to do it.
>
>     >Once more the same old same old, use window's primitves and you get
>     >the abstraction, the point is that if windows was a real operating
>     >system I could use malloc and the operating system could still juggle
>     >with my memory blocks.
>
>   Once more "the same old same old", every OS should provide this exact
>   amount of abstraction.  With Windows you CAN just malloc, Windows
>   *will* "juggle" with your memory blocks.  How else do you think
>   virtual memory is implemented?
Execuse me!!!!  Windows WILL NOT touch your malloc memory blocks,
and it will sort of juggle with your memory only with near pointers and
that is also only because you got the same DS value; that is it does
not play with your memory blocks in relation to your malloc calls, it
will move your WHOLE program by changing the base address.  Compile
in the compact or huge models where everything is far and windows will
die a horrible death if it tried to play with it.

The sort of virtual memory windows provide is a joke compared to
UNIX's virtual memory (a real OS), where whole processes get swapped
out, readable and writable memory is swapped out.  Windows has a long
way to go before real virtual memory support will appear.  AGGGGAIN,
windows could not do this because it's still a slave for DOS which
is a sorry execuse for an operating system now days.

>   Your understanding of what an OS should be is terribly limited... you
>   seem to be using DOS as an example of what a true OS can do.  Most
>   good DOS apps bypass DOS entirely when needing access to system
>   resources...  DOS simply loads them into memory and executes them.
>   All "good" OS's NEVER, NEVER let application programs access the
>   hardware directly.
I am sorry Sir, this group is not known for dog-fighting.  If you want
dog-fighting join some of the discussions in comp.os.windows.advocacy.

WRONG! I don't use DOS as an example of what a true OS CAN do.  I
highlight things that an opearting system takes care of and show that
windows is still a child to DOS;  In that DOS is the operating system
opearting the PC, when you use windows.  I have never presented DOS as
THE operating system.  
>
>     >WindowsNT is another issue (another operating system not a GUI),and
>     >Windows 4.0 is another story, and hay, I just read a post that says
>     >that DOS 6.0 has a few things changed to make it ready for Windows
>     >4.0, and among other things, make some changes to DOS 6.0 so that
>     >windows 4.0 could become preemtive.  Hence, Windows does not solely
>     >use DOS as a system device driver after all.
>
>   Again, it is woefully apparent that you don't grasp what operating
>   systems are all about.  That's OK... lots of people use OS's without
>   understanding them.  Just because I use a car doesn't mean that I'm an
>   expert on internal combustion engines.
English is not my native tongue, and I have been using it on
day-to-day basis for only two years.  Therefore, I may use the wrong
words or I may grammatically structure a sentense that would be more
transparent otherwise.  You should, therefore, pay much more attention to
the essence of the argument than it's surface appearance.  

Let me help you understand that paragraph: without any knowledge of
how Windows or DOS are actually written (no source code) one must
improvise.  Someone said that Windows 4.0 is going to introduce
preemtive multi-tasking.  Another post said that, among other things,
DOS 6.0 is a mutli-tasking DOS (the exact meaning of which was not
clear).  Yet another, earlier, post said that MS is preparing DOS 6.0
for the upcoming WINDOWS 4.0.  If you sit back now, and digest these
three pieces of information you will see that windows cannot alone
handle preemtive mutli-tasking (for window's apps), it needs some help
from DOS, hence windows is NOT an operating system.  Now, again try to
understand what I write.  I do not mean that multi-tasking equals an
opearting system.  It should be clear to you that if you try to
introduce multi-tasking to a non-multi-tasking environment and you
cannot do it without making the non-mutli-tasking environment
multi-tasking, you are seriously dependent on this non-multi-tasking
environment, most likely to an extent of a master-slave
relationship,i.e., Opearting System-Application.

If you follow this discussion, as it seems you have, you will
encounter a post in which someone said that DOS is sort of a
"device-driver" for windows.  So, when I write, "Hence, windows does
not use DOS as a device-driver after all." I refer back to that to
show that the concept of is not true, and in this particular example,
DOS is more than a device-driver for windows.

>     >>    So what if it is?  That is a lot like what UNIX does, too.
>     >>   Windows also provides for interprocess communication, device
>     >>   sharing, serialization of input, virtualization of all hardware,
>     >>   file locking and sharing, true preemptive multitasking with DOS
>     >>   boxes in enhanced mode.
>     >Noooo, unix plays with the stack and does context switches and all
>     >sorts of things.  You see if the loop outlined above is a good guess
>     >of what's happending (again, never seen the source code), then the
>     >function WinMain uses the same stack as the calling program (simple
>     >function call).  Hence, in order to introduce preemptive multi-tasking
>     >there should be some arrangement to make a copy of the stack, and hold
>     >a few stocks in memory and switch between them and take care of PCLBs
>     >and all sorts of things that windows does for DOS apps but not for
>     >windows apps.
>
>
>   Huh??? You've never seen the source code, but you know this?  How an
>   OS multitasks has nothing to do with anything but multitasking.
You don't have to see the number 123456! to know it exists.  If you
read carefully the text-books describing the functionally of windows,
and you know the general mechanics (implementation) of these concepts
you don't have to see the code.  If I tell you that FORTRAN has no
stack, you don't need to be told that you cannot do recursion, and if
I tell you that PROLOG is a declarative language, you would be stupid
trying to find a for statement in a prolog manual.

>   I suggest heading down to the local library and grabbing a book on
>   operating systems.  Read it, and then come back and tell us this all
>   over again.
Although you are very interested in my background, I will have to
disappoint because that does not make an argument valid, sound or
convincing-- I will not comment on that for now.

Tomer
Newsgroups: comp.os.ms-windows.misc