home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.os.os2.advocacy:8523 comp.os.os2.misc:36759
- Newsgroups: comp.os.os2.advocacy,comp.os.os2.misc
- Path: sparky!uunet!csfb1!jbrock
- From: jbrock@csfb1.fir.fbc.com (John E. Brock)
- Subject: Re: OS/2 Crashproof? NOT!
- Message-ID: <BxuC7D.9Bt@csfb1.fir.fbc.com>
- Sender: news@csfb1.fir.fbc.com (Usenet News Account)
- Reply-To: uunet!csfb1!jbrock
- Organization: First Boston Corporation
- 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>
- Date: Tue, 17 Nov 1992 03:26:00 GMT
- Lines: 43
-
- In article <1992Nov16.164438.27020@njitgw.njit.edu>, dic5340@hertz.njit.edu (David Charlap) writes:
- |>
- |> VM/CMS is much more limited. You don't have the ability to spawn
- |> additional processes or create additional virtual machines (that
- |> requires editing system parameter tables and re-IPLing the system).
- |> Under Unix, any process can spawn additional processes, each getting a
- |> slice of CPU time.
- |>
- |> This will kill any Unix system:
- |>
- |> while (1) fork();
- |>
- |> Such a thing can be done on most multitasking systems, and will kill
- |> any OS that allows user-level processes to spawn child processes.
-
- I understand why unlimited forking will kill UNIX. What I don't
- understand is why operating systems of more recent design don't protect
- themselves from such obvious dangers. It doesn't seem that hard to me
- conceptually. In the above example the forks should begin to fail
- before they have eaten up all the resources that the operating system
- needs to function. In other words, the operating system should reserve
- sufficient resources to guarantee its own operation, and it should know
- when it needs to begin turning down requests from resource hogs. Is
- this really impossible?
-
- There are certainly other things that might be done. For example,
- where is it written that all user processes must get equal time
- slices? If I am one of ten users in a machine, and I decide to launch
- 100 processes, why shouldn't the operating system balance things out so
- my processes only compete with each other for my ten percent of the
- user time slice, while other users are unaffected? If the OS can
- protect user memory, why can't it protect other resources?
-
- I don't know, maybe it's impossible to do this kind of thing
- efficiently. But somehow I can't help thinking that somebody somewhere
- just decided that it wasn't worth the effort. I can't believe it's
- impossible to better what we've got, and it's not as though people
- haven't had plenty of time to think these things through!
-
- --
- John Brock
- uunet!csfb1!jbrock
- jbrock@csfb1.fir.fbc.com
-