home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / os / os2 / advocacy / 11172 < prev    next >
Encoding:
Internet Message Format  |  1992-12-30  |  5.2 KB

  1. Path: sparky!uunet!zaphod.mps.ohio-state.edu!swrinde!gatech!concert!ais.com!bruce
  2. From: bruce@ais.com (Bruce C. Wright)
  3. Newsgroups: comp.os.os2.advocacy
  4. Subject: Re: OS/2 bigot meets NT....
  5. Message-ID: <1992Dec30.013732.5920@ais.com>
  6. Date: 30 Dec 92 01:37:31 GMT
  7. References: <1992Dec26.224701.5914@ais.com> <1992Dec27.172250.4801@grebyn.com> <1992Dec27.190644.5915@ais.com> <1992Dec29.215219.15979@grebyn.com>
  8. Organization: Applied Information Systems, Chapel Hill, NC
  9. Lines: 85
  10.  
  11. In article <1992Dec29.215219.15979@grebyn.com>, mfraioli@grebyn.com (Marc Fraioli) writes:
  12. > In article <1992Dec27.190644.5915@ais.com> bruce@ais.com (Bruce C. Wright) writes:
  13. >>In article <1992Dec27.172250.4801@grebyn.com>, mfraioli@grebyn.com (Marc Fraioli) writes:
  14. >>> In article <1992Dec26.224701.5914@ais.com> bruce@ais.com (Bruce C. Wright) writes:
  15. >>>>In article <1992Dec27.011721.23160@unvax.union.edu>, pallantj@unvax.union.edu (Joseph C. Pallante) writes:
  16. >>>>> I have a question....
  17. >>>>> 
  18. >>>>> All this debate is over:  Many, Many crashes because a PC has only
  19. >>>>> 8 megs of RAM.
  20. >>>>> 
  21. >>>>> My question:  Why does NT crash (or OS/2 for that matter) because of lack
  22. >>>>> of enough RAM?  I would expect it to be slow because the OS would have
  23. >>>>> to manipulate the memory, do some swapping, etc...   But, if it follows
  24. >>>>> all the rules it should, theoreticaly, it should not crash.  It should
  25. >>>>> just take longer to do its job, due to the overhead of running on
  26. >>>>> a machine with little memory.
  27. >>>>
  28. >>>>Even on a virtual memory system, the system still needs a certain amount
  29. >>>>of real memory in order to run itself, map I/O buffers, and keep track of
  30. >>>>virtual memory, etc.  If the system is sufficiently overcommited on memory,
  31. >>>>it may not be able to do all these things with available memory and in
  32. >>>>fact may encounter situations where every process within the system is
  33. >>>>waiting for memory currently in use by another process to be freed.
  34. >>>>
  35. >>> I thought that for this reason, the kernel of the OS is not made to be
  36. >>> swappable, and runs at the highest possible priority, a priority that no
  37. >>> other process can have.  This way, the system should always be able to
  38. >>> recover.
  39. >>
  40. >>Where I think there's a flaw in your reasoning is in assuming that
  41. >>the `OS kernel' == `OS as a whole'.  Large operating systems are often
  42. >>broken up internally into a number of pieces;  the file system code,
  43. >>for example, really doesn't have to be permanently resident in its
  44. >>entirety.  You just need enough of the device-level code to be resident
  45. >>for the system to load the higher-level file system code.  GUIs are
  46. >>also candidtates for being moved out to disk in low memory situations.
  47. >>Even some portions of the kernel itself might be pageable -- it depends
  48. >>on what contexts in which you could stand to incur a page fault and call
  49. >>the disk driver, which is going to be dependent on the OS internal
  50. >>architecture.
  51. >>
  52. > But if the 'critical' routines in the kernel, such as the pager, are not
  53. > pre-emptable and non-pageable, shouldn't they always be present to
  54. > resolve such conflicts (assuming of course that you have enough memory
  55. > to load the critical portion of the kernel-- /vmunix on a VIC-20?  I
  56. > didn't think so.  So what'd I buy that 16k RAM expansion cartridge for?)
  57.  
  58. The problem can happen if you have several threads (either actual
  59. process-level threads or threads within the OS itself) that all want
  60. to allocate real memory at the same time -- say by paging in a portion
  61. of their virtual address space.  The pager can only satisfy one of these
  62. requests if there's free memory or if memory can be made free by having
  63. its data paged out or otherwise released.  But if you're in a very low
  64. memory situation, you may reach situations where there's nothing that
  65. can be paged out -- maybe it's in use in some unpageable cache, or maybe
  66. it's been locked down for an I/O buffer of some sort, etc.  The pager
  67. may find that even though it has control of the CPU, there's nothing
  68. useful it can do because all the resources are already spoken for.
  69.  
  70. It is often possible for a user to make such problems more likely by
  71. mis-adjusting cache sizes (which may fatally reduce free memory).
  72.  
  73. This is all getting pretty far afield from the actual problem on a
  74. real machine.
  75.  
  76. >>Now I should say that I don't _know_ that this is what is happening
  77. >>to those people who have reported system lockups/crashes under low
  78. >>memory conditions -- it's also possible that there's a bug somewhere.
  79. >
  80. > I myself still favor the bug theory, but it's an interesting debate.
  81.  
  82. I can't really say I can register a strong opinion on the exact cause
  83. of what the original poster reported.  A bug would not be at all
  84. surprising, but given that the machine was running on a fairly small (*)
  85. amount of memory it may be just plain running out of resources,
  86. especially if someone had increased cache values or list sizes beyond 
  87. what could be supported with the memory available.
  88.  
  89. Bruce C. Wright
  90.  
  91. (*) How soon we are jaded.  One of the main computers at one of my
  92. first programming jobs had the princely sum of 4KW (8KB) of memory,
  93. and took up as much space as a large desk, and we thought it was
  94. a pretty nice machine at the time.  Now my PC has several times as
  95. much main memory as the entire hard disk drive of that machine -- BCW
  96.