From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 2b4b01c9 for ; Wed, 9 Jan 2019 19:27:37 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 7757F93D24; Thu, 10 Jan 2019 05:27:36 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 0219E93D09; Thu, 10 Jan 2019 05:27:09 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 0222593D07; Thu, 10 Jan 2019 05:27:05 +1000 (AEST) X-Greylist: delayed 476 seconds by postgrey-1.36 at minnie.tuhs.org; Thu, 10 Jan 2019 05:27:04 AEST Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75]) by minnie.tuhs.org (Postfix) with ESMTPS id F12B993D06 for ; Thu, 10 Jan 2019 05:27:04 +1000 (AEST) Received: from online.de ([195.201.250.185]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MY60J-1gn4RQ1qVp-00YNEZ; Wed, 09 Jan 2019 20:13:21 +0100 Received: by online.de (Postfix, from userid 1000) id D387661207; Wed, 9 Jan 2019 20:13:19 +0100 (CET) From: Christian Barthel To: Warner Losh References: <966501A7-7736-4EB0-841A-C1516C876272@quintile.net> Date: Wed, 09 Jan 2019 20:13:19 +0100 In-Reply-To: (Warner Losh's message of "Tue, 8 Jan 2019 21:23:54 -0700") Message-ID: <875zux8x0w.fsf@x230.onfire.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Uyr3rt/LPosVF+EgQCOPgQZqLKLIxGi6/LCHf0+bfNFetO5+mb/ zTRk2woqskH+1kCBlW1+9OOOF6AryRN24J16WiVrehN6g0jUXsErlfxOLutIkVpervSoKxV NVEYqXl4oTinT2yaLZr2BXbsEUdB1LPSTApjcYlugN8FNqIahNRy0eK/Bzo3EyrYQoBldHD QV1GENlqMFjO4IIP6KwMA== X-UI-Out-Filterresults: notjunk:1;V03:K0:XPgx1Kudb0M=:Mzw8zzzGDLdcK1cL+VTu2w gezhCwakdGHLl+70qOD8mJa4HCxIf6r8KN4xl6ajXINYSWJyQIXQbFeBkCKv8sgPN4T/Y/unK fvLp13XteHy4Og02K/ZJD86kJlYTeu5jZjT9/n2Ak8iF3qnefFK1GQLr7CE7NjAtqPaxqecOk q/AqNvRwNK6y7oIvIRqr/bnXtRZ0SObEDxKBb3cP9Z/Tlv+uusf6ITKLjOXVS9XKNVrQ0B3QO aa9tMElvA/rxtdmwGC7nXUAOlnvX8uWlS1FvxCmOi3EMZPT52EtYzstwdum2WBVWtJXrv31fP HKSRYgb89O2WbcGFJiDdBTuiGllCIT0RPMF7oHagjAifYDvQ3yw4AcX/mW9aJravbTNUQh2Gg 3/JODi9r2OZLtaqR0NIjfgx1DNbZ5Vf5W4YYf5SA+A0HqnZUMvb6d7CRxibqcQSG4pvXjZSmo g7S4sEkTJ+vKr6anfAcG2XLrCoTncsRUxJume9JxH7VIjkgCVaWGqrqXbv54TUNg/QDzxPKzz PLqfDoEn8WfmSLM22zn9cM26Lv4zJ1ghS3p3cNkUElS5VUx8TOjtVj+pz/YAUQIaWbfykEZpq zJ6+dfNJGcu9mn8kVX63G5ItBXfwvF5F3/9DID8Rt5h9siAXuP8myVap3PDvtqupivkYz/QJs pkkLhkync216yps4IXIqHJQfRhX2CAaHtH7mBM0SKuIE51cvJR5V8DHtBWLFhLtutyg7qPDvi kpMYGLkq/B7xtEq9+ObMoZqYlc90PGQ51IleX1AVxdSdK8Q9/Fc6GZZdvRA= Subject: Re: [TUHS] TUHS Digest, Vol 38, Issue 10 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: The Eunuchs Hysterical Society Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" Warner Losh writes: > The name seems obvious because I've seen it for the last 30 years. But I've > not seen it used elsewhere, nor have I seen it documented except in > relationship to Unix. [....] It is also used by Erich Gamma's famous book "Design Pattern": The Strategy Pattern. Is it somehow related to Unix (due to the reason that the Unix device interface is designed in an object oriented fashion)? Apart from that, U. Vahalia describes the strategy entry point in the book "UNIX Internals: The new Frontiers" (ISBN 978-0131019089) as: | d_strategy() - Common point for read and write requests to a block | device. So named since the driver may use some strategy to reorder | pending requests to optimize performance. Operates asynchronously - if | the device is busy, the routine merely queues the request and returns. | When the I/O completes, the interrupt handler will dequeue the next | request and start the next I/O. -- Christian Barthel