Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!sun-barr!newstop!texsun!texbell!sugar!ficc!peter From: peter@ficc.uu.net (Peter da Silva) Newsgroups: comp.unix.questions Subject: Re: async I/O (was: Is there a select()-like call for message queues?) Message-ID: Date: 16 Jan 90 17:44:53 GMT References: <1826@xyzzy.UUCP> <11925@smoke.BRL.MIL> <11950@smoke.BRL.MIL> <11956@smoke.BRL.MIL> Reply-To: peter@ficc.uu.net (Peter da Silva) Organization: Xenix Support, FICC Lines: 38 In article <11956@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn) writes: > One thing that was appreciated in the computer science research community > during the 1970s was that forcing applications to explicitly deal with > asynchronism had been causing numerous reliability problems. First, a nitpick. By 1974 UNIX was basically in its current form, and its design goals must have been established earlier than that. But that's just a nitpick. Secondly, I'm not suggesting that applications be forced to explicitly deal with asynchronism. I just believe that since the real world is asynchronous you should be able to deal with it. Also, the event-loop construct has considerable success in the real world for dealing with asynchronous events. I've worked in the process control industry for the past 10 years, and UNIX has effectively zero penetration simply because it doesn't allow for processes to handle asynchronous events. > UNIX loosely followed the CSP notion, wherein individual processes are > strictly sequential but can communicate with concurrent processes to > achieve controlled asynchronity. The UNIX kernel manages the actual > asynchronous operations and converts them into the per-process sequential > I/O model. Unfortunately, UNIX doesn't support a sufficiently fine-grained process structure to allow this to be generally used. Systems like Mach do, but they do it by pretty much abandoning the UNIX model. Or you can implement a fineer grained process structure within a UNIX process, but to do that effectively you need asynchronous I/O. > Rob Pike has shown in an article in a recent issue of Computing Systems > how the CSP model can be applied to graphical windowing environments, > with the result of dramatically simplifying the design of applications > in such environments. I'm sure it can. But not under UNIX as it exists, and not under any extension of UNIX that I've seen that still remains close to the source. -- _--_|\ Peter da Silva. +1 713 274 5180. . / \ \_.--._/ Xenix Support -- it's not just a job, it's an adventure! v "Have you hugged your wolf today?" `-_-'