home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / os / mswindo / misc / 2420 < prev    next >
Encoding:
Internet Message Format  |  1992-08-26  |  7.6 KB

  1. Path: sparky!uunet!dtix!darwin.sura.net!zaphod.mps.ohio-state.edu!usc!sdd.hp.com!elroy.jpl.nasa.gov!nntp-server.caltech.edu!heathh
  2. From: heathh@cco.caltech.edu (Heath Ian Hunnicutt)
  3. Newsgroups: comp.os.ms-windows.misc
  4. Subject: Re: Windows == OS
  5. Message-ID: <1992Aug27.013332.12121@cco.caltech.edu>
  6. Date: 27 Aug 92 01:33:32 GMT
  7. References: <714807912.2@ttlg.ttlg.UUCP> <TGUEZ.92Aug26193535@jade.tufts.edu>
  8. Sender: news@cco.caltech.edu
  9. Organization: California Institute of Technology, Pasadena
  10. Lines: 131
  11. Nntp-Posting-Host: punisher
  12.  
  13. tguez@jade.tufts.edu (Name) writes:
  14. (someone else wrote:)
  15.  
  16. >>   Once more "the same old same old", every OS should provide this exact
  17. >>   amount of abstraction.  With Windows you CAN just malloc, Windows
  18. >>   *will* "juggle" with your memory blocks.  How else do you think
  19. >>   virtual memory is implemented?
  20. >Execuse me!!!!  Windows WILL NOT touch your malloc memory blocks,
  21. >and it will sort of juggle with your memory only with near pointers and
  22. >that is also only because you got the same DS value; that is it does
  23. >not play with your memory blocks in relation to your malloc calls, it
  24. >will move your WHOLE program by changing the base address.  Compile
  25. >in the compact or huge models where everything is far and windows will
  26. >die a horrible death if it tried to play with it.
  27.     This is simply not true.  You seem to be very capable of
  28. making wild claims about how Windows works without really knowing
  29. the truth.  In Windows, you can obtain a FAR pointer to a 
  30. global memory object, and, still, Windows can move it around 
  31. willy-nilly in physical memory via the GDT and LDT.  Furthermore,
  32. your far pointer may well "point" to the swap file, until you
  33. actually try to use it, when Windows swaps your memory back in,
  34. and remaps your far pointer to the appropriate physical memory.
  35. You don't notice the blocks moving (and this is good work on
  36. Windows' part..) because all the changes are made to the GDT and 
  37. LDT, not to your far pointers.  When you alloc a chunk of global
  38. memory, windows will move it about freely, regardless of whether
  39. it is "locked" or not.  Windows does not accomplish this by
  40. "moving the whole program and chaning DS", which is what you
  41. claimed.  That is simply wrong.
  42.     Each segment of an executable, whether code, resource,
  43. or data, is considered a seperate global memory object.  At any
  44. time, segments may be swapped out, moved about, or otherwise manipulated
  45. without your program having a clue.  If you jump to a "not-present"
  46. segment, Windows intercepts the processor exception and loads
  47. the appropriate segment.  If you don't use a segment for about 10 seconds,
  48. Windows discards it to make room for other stuff.  That is virtual
  49. memory, my friend.  No question about it.  It is not restricted
  50. by far pointers, as DOS was.
  51.     The problem with large model programs has to do with
  52. the fact that they implicitly assume that each instance is using
  53. the same DGROUP, not that they use far pointers per se.  It is
  54. possible to write large model programs that can have multiple 
  55. invocations, but there is no point under windows, where you can
  56. just use globalalloc to provide plenty of memory.  In DOS,
  57. large model would have been neccessary.
  58.  
  59. >The sort of virtual memory windows provide is a joke compared to
  60. >UNIX's virtual memory (a real OS), where whole processes get swapped
  61. >out, readable and writable memory is swapped out.  Windows has a long
  62. >way to go before real virtual memory support will appear.  AGGGGAIN,
  63. >windows could not do this because it's still a slave for DOS which
  64. >is a sorry execuse for an operating system now days.
  65.     Except that you are wrong.  Windows very definitely swaps
  66. memory (readable and writable) out to the swap file.  It does so
  67. without changing the far pointers that have been set up to reference
  68. that memory.  And when those pointers are dereferenced, Windows
  69. holds up the access while it loads the memory back in, then the
  70. access proceeds with no special programming on the part of the 
  71. application.
  72.     DOS has nothing to do with Virtual memory, and never will.
  73. Windows, however, provides virtual memory that is just like UNIX's.
  74. (With the exception of a flat model, which comes from the 386,
  75. not from Windows.)
  76.  
  77. >>   Your understanding of what an OS should be is terribly limited... you
  78. >>   seem to be using DOS as an example of what a true OS can do.  Most
  79. >>   good DOS apps bypass DOS entirely when needing access to system
  80. >>   resources...  DOS simply loads them into memory and executes them.
  81. >>   All "good" OS's NEVER, NEVER let application programs access the
  82. >>   hardware directly.
  83. >I am sorry Sir, this group is not known for dog-fighting.  If you want
  84. >dog-fighting join some of the discussions in comp.os.windows.advocacy.
  85.     But he's right, darn it.
  86.  
  87. >WRONG! I don't use DOS as an example of what a true OS CAN do.  I
  88. >highlight things that an opearting system takes care of and show that
  89. >windows is still a child to DOS;  In that DOS is the operating system
  90. >opearting the PC, when you use windows.  I have never presented DOS as
  91. >THE operating system.  
  92.     But you are wrong when you say that Windows uses DOS.
  93. Furthermore, you have provided no proof of your claim that Windows
  94. uses DOS, while I can provide proof that it does not.  (Interrupt
  95. traces/logs, or, rather, the relative lack thereof..)
  96.  
  97. >Let me help you understand that paragraph: without any knowledge of
  98. >how Windows or DOS are actually written (no source code) one must
  99. >improvise.  Someone said that Windows 4.0 is going to introduce
  100. >preemtive multi-tasking.  Another post said that, among other things,
  101. >DOS 6.0 is a mutli-tasking DOS (the exact meaning of which was not
  102. >clear).  Yet another, earlier, post said that MS is preparing DOS 6.0
  103. >for the upcoming WINDOWS 4.0.  If you sit back now, and digest these
  104. >three pieces of information you will see that windows cannot alone
  105. >handle preemtive mutli-tasking (for window's apps), it needs some help
  106. >from DOS, hence windows is NOT an operating system.  Now, again try to
  107.     Wrong.  The DOS 6.0 hooks are to help in pre-empting
  108. DOS APPLICATIONS.  It has nothign to do with how Win 4.0 will 
  109. pre-empt Windows apps.
  110.  
  111. >understand what I write.  I do not mean that multi-tasking equals an
  112. >opearting system.  It should be clear to you that if you try to
  113. >introduce multi-tasking to a non-multi-tasking environment and you
  114. >cannot do it without making the non-mutli-tasking environment
  115. >multi-tasking, you are seriously dependent on this non-multi-tasking
  116. >environment, most likely to an extent of a master-slave
  117. >relationship,i.e., Opearting System-Application.
  118.  
  119. >If you follow this discussion, as it seems you have, you will
  120. >encounter a post in which someone said that DOS is sort of a
  121. > device-driver" for windows.  So, when I write, "Hence, windows does
  122. >not use DOS as a device-driver after all." I refer back to that to
  123. >show that the concept of is not true, and in this particular example,
  124. >DOS is more than a device-driver for windows.
  125.  
  126. >>   Huh??? You've never seen the source code, but you know this?  How an
  127. >>   OS multitasks has nothing to do with anything but multitasking.
  128. >You don't have to see the number 123456! to know it exists.  If you
  129. >read carefully the text-books describing the functionally of windows,
  130. >and you know the general mechanics (implementation) of these concepts
  131. >you don't have to see the code.  If I tell you that FORTRAN has no
  132. >stack, you don't need to be told that you cannot do recursion, and if
  133. >I tell you that PROLOG is a declarative language, you would be stupid
  134. >trying to find a for statement in a prolog manual.
  135.     Well, you have drawn the wrong conclusion, as I pointed out
  136. elsewhere, Windows really does switch stacks, as well as active
  137. PSPs.
  138.  
  139. Aggravatedly,
  140. Heath
  141.  
  142. -- 
  143. On Saturday, April 18, 1992, this .sig became self-aware.
  144.