From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sat, 19 Aug 2000 08:34:47 +0200 From: Lucio De Re To: 9fans@cse.psu.edu Subject: Re: [9fans] cooperative threads Message-ID: <20000819083447.J4695@cackle.proxima.alt.za> References: <200008182206.SAA19560@cse.psu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <200008182206.SAA19560@cse.psu.edu>; from Russ Cox on Fri, Aug 18, 2000 at 06:06:14PM -0400 Topicbox-Message-UUID: fd70c280-eac8-11e9-9e20-41e7f4b1d025 On Fri, Aug 18, 2000 at 06:06:14PM -0400, Russ Cox wrote: > > As demonstrated by early versions of Windows > and the Macintosh OS, reliance on cooperative > threading alone is a recipe for disaster, since > it requires that all threads be bug free. Thus, > used as an OS's primary scheduling mechanism, > cooperative threading requires that all executing > programs be bug free, a very strong and very > unlikely condition. In that arena, cooperative > threading is not the right framework. > Are you sure programs aren't _meant_ to be bug free? It is quite amusing to recollect Edsger Dijkstra's horror when asked to program a very early pre-emptive computer. He is reported to have needed serious convincing before he accepted the principle of _interrupts_ :-) Russ is bothered by the connection one makes immediately between threads and performance, and I agree with him. What bothers me, however, is the acceptance today, no doubt engendered by the need to harness computing power on a scale unthinkable only a generation ago (I wonder if there might in fact be one or more generation gaps in there), that programming is an imprecise art form. Despite failures to "prove" the correctness of programs, it is possible to write bug free code. Unfortunately, it no longer seems necessary or desirable to do this. I used to compare computers to automobiles to get that cozy feeling that I was in a more rational environment, working to much better defined parameters. Not long ago General Motors compared Microsoft Windows to their vehicles to illustrate the exact opposite. Sigh! I guess I'd better get off my soapbox now. ++L