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=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, 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 7a1896bc for ; Sun, 23 Jun 2019 08:52:56 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 98A0794F8E; Sun, 23 Jun 2019 18:52:55 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 6933D94F68; Sun, 23 Jun 2019 18:52:34 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lC2DU82b"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 577F494F68; Sun, 23 Jun 2019 18:52:32 +1000 (AEST) Received: from mail-io1-f68.google.com (mail-io1-f68.google.com [209.85.166.68]) by minnie.tuhs.org (Postfix) with ESMTPS id C66BF94F67 for ; Sun, 23 Jun 2019 18:52:31 +1000 (AEST) Received: by mail-io1-f68.google.com with SMTP id k20so891533ios.10 for ; Sun, 23 Jun 2019 01:52:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=AU6hLWMOijkLQl5d8z3xrEyovMDeY6JvTGAaj31RIl0=; b=lC2DU82boZZziUWGwEZr2WCInQsxwHoTATiv6HBx5uyfJLN2FBNFosCOZChF0mjF6h GCWsc2bwIMGiHWF/fTWrfmLvaPrS4h74zxZD7yWRaNF0uVjJMo/D9eX2bWmLTv0UTcSk /zWFBa0yVNY4kmXtxmg6D8ILrBczK4NyB8cmPtU+KwAWMNQrMA6ikTzI+ugpsfBhn66a tG6T/itJM4XAEt34qaxMBDYXdDIhe81uoviTe43WO9bsMWe4wIdsCf4ldbeC06KPegq8 pKux2o7xZpYPpZobK2gpaseBLItoAeg/PCmIP3imuvXnvhd3/pcLWvDhrYlaIvQSs5bG 55yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=AU6hLWMOijkLQl5d8z3xrEyovMDeY6JvTGAaj31RIl0=; b=afRH3geooQf1KNyChInE5879sA48rmfoLsOflo1JYZin4MCnaQGtQVvhYA1fqz80M3 mzElqz21Nfi0JlEWy/KL9JU6cpA6I8xM3nzTOgksebhSD7kpWqRWfymfSKvn9Ntlx7gd ENyRpqkNKh9mnMH0bsF/NTCLNT4oY9IX45SCdwd35yKEtlS5BfOuNfBH3Wi52BLwIlRH EUzyWh85dwdhTcfbzGYGxEnB6S9aJaXz4Eky1JhvfKD848I1nkSABeCAohnDCAZw0jqh pMBdzmXif3r+RhrGmqwHRj2tBmySWkOgOLXOFeWDrSwI6q68sFPH5jnBEK4kQnh7FdA6 Y9TA== X-Gm-Message-State: APjAAAVGhn3AaybyU4HlpOpDFZ6JPooOiWQeOlNkjzKR2NbX7VO78tvT ka2PccpO0bcQ0y09jwv0KMmdEuSJjLAjLN922/cCZg== X-Google-Smtp-Source: APXvYqz1guXNdY5/uz/EsPg+MGzNk2sHIovx8OAMxFqZJAoEERQlKOc8MlshKdKYOj5tyyKC4QLtdptJ8DMhBIVIeMY= X-Received: by 2002:a5d:884d:: with SMTP id t13mr5306443ios.233.1561279950813; Sun, 23 Jun 2019 01:52:30 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:ac0:ac4c:0:0:0:0:0 with HTTP; Sun, 23 Jun 2019 01:52:30 -0700 (PDT) In-Reply-To: <20190623051500.GL30743@mcvoy.com> References: <8D0B5B0D-9956-47D7-8D36-1729BB1E1DA9@eschatologist.net> <20190623051500.GL30743@mcvoy.com> From: Andrew Warkentin Date: Sun, 23 Jun 2019 02:52:30 -0600 Message-ID: To: tuhs@minnie.tuhs.org Content-Type: text/plain; charset="UTF-8" Subject: Re: [TUHS] CMU Mach sources? 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: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" On 6/22/19, Larry McVoy wrote: > I've read the Mach source. Not a fan. If you look around you can find > SunOS 4.x sources, not legal but it is out there. > > If you read the SunOS vm code enough, it will come into focus for you. > The code matches what you think a VM system should be. > > If you read the Mach code, nope, it's a tangled mess, there is no > clear picture there. > > I read the papers and wanted to believe it was good, it is not. > I've never actually read Mach's sources, but it doesn't surprise me that Mach's implementation is every bit as much of a train wreck as its design. Mach and the other kernels influenced by it basically destroyed the reputation of microkernels, even though there were microkernels that performed comparably to or better than monolithic kernels that actually predated Mach et al. There was one paper from 1992 [1] in which an early version of QNX 4 significantly outperformed System V in just about every category benchmarked (one of these days I should try to benchmark a newer version of QNX against Linux and see if the results still hold up). I wonder, had QNX or something like it had been the "next big thing" in the late 80s and early 90s rather than Mach, if microkernels wouldn't have become the dominant OS architecture, or at least a credible alternative. I also wonder if a modern highly optimized microkernel OS could still outperform monolithic kernels. Current open-source microkernel OSes seem to focus on academic purism rather than real-world performance (one of the biggest issues is that they tend to split subsystems up vertically with little benefit to security or stability, and probably adding significant overhead to system calls; e.g. on noux under Genode, a simple read() of a disk file, which is a single kernel call on a monolithic kernel and usually two context switches on QNX, takes at least 8 context switches - client->VFS->disk FS->partition driver->disk driver and back again). I may find out once I get UX/RT [2] (the QNX/Plan 9-like seL4-based OS I'm writing) working, since it will focus on real-world performance over academic purism (I'm an architectural purist in many ways, but I think purism must further performance and usability, not hinder them), although I don't necessarily expect early versions to have the best performance because the implementation will probably be suboptimal in places. I'm still a ways from getting it working though. [1] https://cseweb.ucsd.edu/~voelker/cse221/papers/qnx-paper92.pdf [2] https://gitlab.com/uxrt