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=DKIM_SIGNED,DKIM_VALID, HTML_MESSAGE,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 22614 invoked from network); 23 Jul 2020 22:36:43 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 23 Jul 2020 22:36:43 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 9BEE49C9DF; Fri, 24 Jul 2020 08:36:39 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 06F9D9C9DD; Fri, 24 Jul 2020 08:35:23 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=ccil-org.20150623.gappssmtp.com header.i=@ccil-org.20150623.gappssmtp.com header.b="w11nE+BP"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 4C9CC9C9DB; Fri, 24 Jul 2020 08:35:19 +1000 (AEST) Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) by minnie.tuhs.org (Postfix) with ESMTPS id 5E7B19C8DE for ; Fri, 24 Jul 2020 08:35:18 +1000 (AEST) Received: by mail-qt1-f178.google.com with SMTP id g13so5619710qtv.8 for ; Thu, 23 Jul 2020 15:35:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccil-org.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VRqVQxuCdq3NiVktFeucEC0JY/LKcMzDdsyCkmevSVY=; b=w11nE+BPAquUgHVXFIu8JAh8V893eroQIUrNXn9Tjh9UtciExs0TYYcYJOls4asZVP i593PElMjovgeoAWXgZa3iJdUT09qDtxVL+NK7EJ0GOQAxliuTg2oFp98hWZHbLNCx/A V2m7jhZD4MiaOnJ/cG5JRTwEvxBMK0h9XcIhg2PLQLsbwWkNEfxWOfULwQpliL5RkqOA LQm+vBWY7/qE1MpENNnnz2AoWBmbcM6FbpA9NxUuLOCz5P7VwjKQHQCn+YiSGKLDpHEn cKVXfugEd/L0bA0VdXQhxXFNBVJujlOw1qWa7PlXNA22YgjzB/s0GJ//zF0FNPygpJw8 Qwxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=VRqVQxuCdq3NiVktFeucEC0JY/LKcMzDdsyCkmevSVY=; b=b7x7xpqBoxZPRshcoGl4OkecAmAmlKt7VFBdvHW0bzyHBtygcGek5SYYLEeGZXZ/8k SyZzcxj2DQS4KTADletef3awF14m2egx6olegqE2a+RXX8snk+X6E7VxjmtkxkmFmQoP kSTntgsw9L48ef/q+JnoiYH2ck43VmeO/xA74sjXUe0EvkVvaly0EHU47ZdjltmWYGgF e76zfJAuq7i2TZxff1OqhhgLArSDazoOJbzVmEy8hl8MaiHU83XaUUgB6Pm3/doPEu5V jn3XvusdsDVtYJBpsGM53fNgiH2yu0dG2rOkEON/5rNCMGAtMdor6V/q/HRSbN3kJ609 pEUg== X-Gm-Message-State: AOAM5308tA6U01E3Ue/vLys3AJW7IQv4Tci9FxXecC7hQLRs7YBqi2eR DOXq7s3d3psMtm5JbAt5ff4t0UmpFUIOjj8QTondzA== X-Google-Smtp-Source: ABdhPJztsMzyYvJWah1z71HXka6oMuhmbE20IO8l2Td1Rta7MCL2yqZ6Q5eISKI0V2CwwbIyAfrFtc7H1CZMZ0QSrs0= X-Received: by 2002:ac8:4f46:: with SMTP id i6mr6725124qtw.186.1595543717301; Thu, 23 Jul 2020 15:35:17 -0700 (PDT) MIME-Version: 1.0 References: <202007231833.06NIXNs5069643@tahoe.cs.Dartmouth.EDU> In-Reply-To: From: John Cowan Date: Thu, 23 Jul 2020 18:35:06 -0400 Message-ID: To: Grant Taylor Content-Type: multipart/alternative; boundary="0000000000007e643905ab23787d" Subject: Re: [TUHS] Groff on Windows (for PDF output)? 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 main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" --0000000000007e643905ab23787d Content-Type: text/plain; charset="UTF-8" On Thu, Jul 23, 2020 at 4:52 PM Grant Taylor via TUHS wrote: > Do you have any idea how Windows Subsystem for Linux compares to Cygwin? > For this use case and / or in general? > Very short version: First, Windows is a layered OS. At the bottom is the NT Executive, a fairly conventional kernel. Running on top of that is the Win32 subsystem (note that this name is used for both 32-bit and 64-bit windows). Peers of Win32 have existed in the past, notably an OS/2 subsystem and a Posix-compatible third-party subsystem. Cygwin is a shim DLL that provides a Posix environment to programs running in the Win32 layer of Windows. It is fairly source-code compatible with Linux. Cygwin programs and ordinary Windows programs can coexist freely. In particular, they share the same filesystems, and Cygwin programs understand both Posix and Windows pathnames (where C: is mapped to /cygdrive/c). Most Cygwin APIs are implemented using Win32 APIs, but some require NT Executive APIs. WSL version 1 is a Linux kernel emulator running on the NT Executive. It is binary-compatible with Linux (but not with 32-bit Linux programs) as a result, and gets special services from the Executive, including lightweight processes. (Win32 processes are very heavyweight, which makes long shell scripts like ./configure quite slow on Cygwin.) There is an X server called Cygwin/X; any other X server for Windows can also be used. Interoperation allows WSL1 to mount Win32 file systems and exec() Win32 programs (the lightweight process is upgraded to a Win32 process). WSL1 and Win32 share the same TCP and UDP port space. Unfortunately, a WSL1 program that tries to invoke a Linux kernel operation not yet supported by the emulator will crash. The Linux file system is stored in a dedicated section of the Win32 file system; files stored there can be read by Win32 programs but not written. There is no X server, but once again Cygwin/X or alternatives can be used on the Win32 side. WSL version 2, which is very new, is an ultra-lightweight VM that can run a Linux kernel. This means that all kernel services are automatically provided. The filesystem is a virtual disk formatted as ext4, which gives WSL2 much better local filesystem performance than WSL1. The same interoperations exist as for WSL1, except that the VM has a different IP address from the Win32 system, so ports are not shared. The filesystems are fully shared through the 9P2000 (yes!) protocol, allowing Linux to mount Win32 filesystems and vice versa. Unfortunately the 9P support is not exposed to users. This may indeed be the year of Linux on the (Windows) desktop. (Comments and corrections always welcome.) --0000000000007e643905ab23787d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Jul 23, 2020 at 4:52 PM Grant= Taylor via TUHS <tuhs@minnie.tu= hs.org> wrote:
=C2=A0
Do you have any idea how Windows Subsystem for Linux= compares to Cygwin?
=C2=A0 For this use case and / or in general?

Very short version:

First, Windows is a lay= ered OS.=C2=A0 At the bottom is the NT Executive, a fairly conventional ker= nel.=C2=A0 Running on top of that is the Win32 subsystem (note that this na= me is used for both 32-bit and 64-bit windows).=C2=A0 Peers of Win32 have e= xisted in the past, notably an OS/2 subsystem and a Posix-compatible third-= party subsystem.

Cygwin is a shim DLL that provide= s a Posix environment to programs running in the Win32 layer of Windows.=C2= =A0 It is fairly source-code compatible with Linux.=C2=A0 Cygwin programs a= nd ordinary Windows programs can coexist freely. In=C2=A0particular,=C2=A0t= hey=C2=A0share the same filesystems, and Cygwin programs understand both Po= six and Windows pathnames (where C: is mapped to /cygdrive/c).=C2=A0 Most C= ygwin APIs are implemented using=C2=A0Win32 APIs, but some require NT Execu= tive APIs.

WSL version 1 is a Linux kernel=C2=A0em= ulator running on the NT Executive.=C2=A0 It is binary-compatible with Linu= x (but not with 32-bit Linux programs) as a result, and gets special servic= es from the Executive, including lightweight processes.=C2=A0 (Win32 proces= ses are very heavyweight, which makes long shell scripts like ./configure q= uite slow on Cygwin.)=C2=A0 There is an X server called Cygwin/X; any other= X server for Windows can also be used.

Interopera= tion allows WSL1 to mount Win32 file systems and exec() Win32 programs (the= lightweight process is upgraded to a Win32 process).=C2=A0 WSL1 and Win32 = share the same TCP and UDP port space.=C2=A0 Unfortunately, a WSL1 program = that tries to invoke a Linux kernel operation not yet supported by the emul= ator will crash.=C2=A0 The Linux file system is stored in a dedicated secti= on of the Win32 file system; files stored there can be read by Win32 progra= ms but not written.=C2=A0 There is no X server, but once again Cygwin/X or = alternatives can be used on the Win32 side.

WSL ve= rsion 2, which is very new, is an ultra-lightweight VM that can run a Linux= kernel.=C2=A0 This means that all kernel services are automatically provid= ed.=C2=A0 The filesystem is a virtual disk formatted as ext4, which gives W= SL2 much better local=C2=A0filesystem performance than WSL1.=C2=A0 The same= interoperations exist as for WSL1, except that the VM has a different IP a= ddress from the Win32 system,=C2=A0so ports are not shared.=C2=A0 The files= ystems are fully shared through the 9P2000 (yes!) protocol, allowing Linux = to mount Win32 filesystems and vice versa.=C2=A0 Unfortunately the 9P suppo= rt is not exposed to users.

This may indeed be the= year of Linux on the (Windows) desktop.

(Comments= and corrections always welcome.)


=
--0000000000007e643905ab23787d--