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.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 14284 invoked from network); 3 Jul 2021 00:10:22 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 3 Jul 2021 00:10:22 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 865439C881; Sat, 3 Jul 2021 10:10:19 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id B68E69C864; Sat, 3 Jul 2021 10:09:31 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KMf5DQ/F"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 853399C864; Sat, 3 Jul 2021 10:09:30 +1000 (AEST) Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by minnie.tuhs.org (Postfix) with ESMTPS id CA0499C861 for ; Sat, 3 Jul 2021 10:09:29 +1000 (AEST) Received: by mail-lj1-f181.google.com with SMTP id e3so7149396ljo.6 for ; Fri, 02 Jul 2021 17:09:29 -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=w5+m4ui/S5f5qojy9DN5rfWmhZazi1Eg3ZNrDGcyM8Y=; b=KMf5DQ/FSVN7A/NiHbAK6mt5YaOWtEJQSdVKk+iSqR8S8V88mbZ7UswI5HqoUOKmac gQRfmg3KrU4aZC0ktYWL3A0kFJUPbOFG6LN53z9UZIsOIcblvzbmMFcnAPaj4JikfJpc b7fgy1QtWUjGDjocRmTOFySkUanbpOVsQIRJOeS8aqC14PRgVPQKVMu10VQpfqe8v+VD M0/Ge6m106YBHavQJ7pDlUSZWBmm5ig9wCWRvSbgkknl6GWmt7B+bmyxSndQGrDs4/jX kCSObD7wFwzdHf4R6wNCTlPd298H3qWOcQP//dTeq8Mot/G+JjgUcO5Z5lPHFlOqr3/5 Dc9w== 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=w5+m4ui/S5f5qojy9DN5rfWmhZazi1Eg3ZNrDGcyM8Y=; b=FlHJkWeyTrnbs7arUtFndBf+wGovEZQwMa5Ka3TPyRd5iV40Ps35NunuriktcLsmtk ptfeGu4OxnCDuoSCehA0q3jLkTJjdXb3diGzZGNAhGbOFn60KCdvPgeEi0YrOpbQDt2g RimS33dv0eLOQ2BXR9ffLxMcqxVrOqJ9R3h3A1I82hpFlMxkU6Q1l/odIIX0qnIFccLq gdnHUutCfU4/afiGpX4m5p1KMafUNVsvszNHMQLe0MWA8eVYntdU6cdwRUaxI2q9JQqp w8oapks/PERGVwtEb8Z98OKnX1dZEq7SMVN+8plDQ1xCwEirKYvScQ4CbYuReamCWCWs 9LVg== X-Gm-Message-State: AOAM532ejkZ8ZRpmYLq2YG1CL2o523Fk6vmQBX6iYWYLnY2reY4pG5a/ 1BVeDXgmT3KKzz+PI5i3GUkDlzhid3U0ilKTVbKYhePR X-Google-Smtp-Source: ABdhPJwJYDOQrXCoVwGmpkv9mGhZZuXfI8ufwNUqETfi+Ttk8Axp/41M58PM0KkdqSk3liWbLH35gDb7/L2lTzzkkYQ= X-Received: by 2002:a2e:975a:: with SMTP id f26mr1499607ljj.482.1625270967855; Fri, 02 Jul 2021 17:09:27 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a2e:b8c3:0:0:0:0:0 with HTTP; Fri, 2 Jul 2021 17:09:27 -0700 (PDT) In-Reply-To: <20210702213648.GW817@mcvoy.com> References: <20210702213648.GW817@mcvoy.com> From: Andrew Warkentin Date: Fri, 2 Jul 2021 18:09:27 -0600 Message-ID: To: tuhs@minnie.tuhs.org Content-Type: text/plain; charset="UTF-8" Subject: Re: [TUHS] [tuhs] The Unix shell: a 50-year view 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 02/07/2021, Larry McVoy wrote: > As I started reading it I found plenty to disagree with in the first few > paragraphs but they completely lost me at "After all, moving from System > V init scripts to systemd has arguably improvedthe Linux boot sequence." > > Um, no, just, no. > > I'm definitely not a fan of systemd, but I think legacy init systems leave a lot to be desired as well. UX/RT, the OS I'm writing, will have an init system that uses declarative unit files for daemons and manages them statefully, but unlike systemd will be designed to be highly extensible. Basically all policy, including startup and shutdown, will be in scripts. Startup and shutdown will mostly be implemented with one script per phase (like on some older SysV and Linux systems). It will also be possible to add support for new options to unit files by adding hook scripts. In addition, instead of having a single daemon managing all unit types, there will be separate delegated restarters for all unit types other than one-shots and unconditional daemons (it will be kind of like SMF minus the databases and XML). I'm also probably going to write my own shell at some point. Most likely it will be Bourne-like with some object-oriented features, including support for piping objects (unlike PowerShell this will work with external commands and will be implemented by serializing objects to text-based formats using hook functions). All UI-related features like history, editing, and completion will be implemented in a separate listener process that functions as a pseudo-terminal driver.