From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15157 invoked from network); 4 Jun 2020 01:34:32 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 4 Jun 2020 01:34:32 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 797499CB16; Thu, 4 Jun 2020 11:34:26 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 69BBD9C96B; Thu, 4 Jun 2020 11:33:51 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 28BEF9C96B; Thu, 4 Jun 2020 11:33:47 +1000 (AEST) X-Greylist: delayed 530 seconds by postgrey-1.36 at minnie.tuhs.org; Thu, 04 Jun 2020 11:33:46 AEST Received: from hop.toad.com (75-101-100-43.dsl.static.fusionbroadband.com [75.101.100.43]) by minnie.tuhs.org (Postfix) with ESMTPS id 770599C1C8 for ; Thu, 4 Jun 2020 11:33:46 +1000 (AEST) Received: from hop.toad.com (localhost [127.0.0.1]) by hop.toad.com (8.12.9/8.12.9) with ESMTP id 0541Oqm0008067; Wed, 3 Jun 2020 18:24:52 -0700 To: jnc@mercury.lcs.mit.edu (Noel Chiappa) In-reply-to: <20200602201334.95D9718C079@mercury.lcs.mit.edu> References: <20200602201334.95D9718C079@mercury.lcs.mit.edu> Comments: In-reply-to jnc@mercury.lcs.mit.edu (Noel Chiappa) message dated "Tue, 02 Jun 2020 16:13:34 -0400." Date: Wed, 03 Jun 2020 18:24:52 -0700 Message-ID: <8066.1591233892@hop.toad.com> From: John Gilmore Subject: Re: [TUHS] non-blocking IO: Simplicity has been subtituted for efficiency X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: tuhs@minnie.tuhs.org Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" Noel Chiappa wrote: > > I'm curious as to what the rationale was for Unix to have been designed > > with basic I/O being blocking rather than asynchronous. > > It's a combination of two factors, I reckon. One, which is better depends a > lot on the type of thing you're trying to do. For many typical thing (e.g. > 'ls'), blocking is a good fit. And, as As Arnold says, asyhchronous I/O is > more complicated, and Unix was (well, back then at least) all about getting > the most bang for the least bucks. I just happened to open a binder today of old papers about UNIX(tm), including Ken Thompson's "Unix Implementation" paper, which says at the bottom of the introduction: "What is or is not implemented in the kernel represents both a great responsibiity and a great power. It is a soap-box platform on "the way things should be done." Even so, if "the way" is too radical, no one will follow it. Every important decision was weighted carefully. Throughout, simplicity has been substituted for efficiency. Complex algorithms are used only if their complexity can be localized." John