home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / os / os2 / advocacy / 8523 < prev    next >
Encoding:
Internet Message Format  |  1992-11-17  |  2.6 KB

  1. Xref: sparky comp.os.os2.advocacy:8523 comp.os.os2.misc:36759
  2. Newsgroups: comp.os.os2.advocacy,comp.os.os2.misc
  3. Path: sparky!uunet!csfb1!jbrock
  4. From: jbrock@csfb1.fir.fbc.com (John E. Brock)
  5. Subject: Re: OS/2 Crashproof? NOT!
  6. Message-ID: <BxuC7D.9Bt@csfb1.fir.fbc.com>
  7. Sender: news@csfb1.fir.fbc.com (Usenet News Account)
  8. Reply-To: uunet!csfb1!jbrock
  9. Organization: First Boston Corporation
  10. References: <1992Nov13.164155.14309@msc.cornell.edu> <gnash.721870994@ee.uts.EDU.AU> <BxsoLo.qF@csfb1.fir.fbc.com> <1992Nov16.164438.27020@njitgw.njit.edu>
  11. Date: Tue, 17 Nov 1992 03:26:00 GMT
  12. Lines: 43
  13.  
  14. In article <1992Nov16.164438.27020@njitgw.njit.edu>, dic5340@hertz.njit.edu (David Charlap) writes:
  15. |> 
  16. |> VM/CMS is much more limited.  You don't have the ability to spawn
  17. |> additional processes or create additional virtual machines (that
  18. |> requires editing system parameter tables and re-IPLing the system).
  19. |> Under Unix, any process can spawn additional processes, each getting a
  20. |> slice of CPU time.
  21. |> 
  22. |> This will kill any Unix system:
  23. |> 
  24. |>     while (1) fork();
  25. |> 
  26. |> Such a thing can be done on most multitasking systems, and will kill
  27. |> any OS that allows user-level processes to spawn child processes.
  28.  
  29. I understand why unlimited forking will kill UNIX.  What I don't
  30. understand is why operating systems of more recent design don't protect
  31. themselves from such obvious dangers.  It doesn't seem that hard to me
  32. conceptually.  In the above example the forks should begin to fail
  33. before they have eaten up all the resources that the operating system
  34. needs to function.  In other words, the operating system should reserve
  35. sufficient resources to guarantee its own operation, and it should know
  36. when it needs to begin turning down requests from resource hogs.  Is
  37. this really impossible?
  38.  
  39. There are certainly other things that might be done.  For example,
  40. where is it written that all user processes must get equal time
  41. slices?  If I am one of ten users in a machine, and I decide to launch
  42. 100 processes, why shouldn't the operating system balance things out so
  43. my processes only compete with each other for my ten percent of the
  44. user time slice, while other users are unaffected?  If the OS can
  45. protect user memory, why can't it protect other resources?
  46.  
  47. I don't know, maybe it's impossible to do this kind of thing
  48. efficiently.  But somehow I can't help thinking that somebody somewhere
  49. just decided that it wasn't worth the effort.  I can't believe it's
  50. impossible to better what we've got, and it's not as though people
  51. haven't had plenty of time to think these things through!
  52.  
  53. -- 
  54. John Brock
  55. uunet!csfb1!jbrock
  56. jbrock@csfb1.fir.fbc.com
  57.