6 ms·
The original POSIX subsystem was not very useful -- a minimal set of system calls, plus a Microsoft re-branded MKS Toolkit to provide shells and utilities. Mic
by hapless 6y ago
The original POSIX subsystem was not very useful -- a minimal set of system calls, plus a Microsoft re-branded MKS Toolkit to provide shells and utilities.
Microsoft ended up buying Interix, who offered a much more pleasant UNIX-on-Windows setup. That was supported for many years as "SFU" and later "SUA"
SUA was still a pretty weird UNIX though. PE-COFF binaries, and a linker that wasn't 100% GNU compatible, and a lot of other little oddities. Porting software to SUA was never very much fun.
I assume that was the motive for WSL -- same idea as SUA, but less weird for software ports.
- rbanffy 6y agoOn XP and 7 (and 8, perhaps) I used Cygwin to have a Unix-like environment. Does it still work on Windows 10? I remember I could call Windows programs from it and manipulate Windows files.
- hapless 6y agoCygwin is a very different approach. SFU/SUA lived in kernel space -- they implemented a new set of system calls alongside win32. Binaries for SFU/SUA could not be executed on a system without SFU/SUA configured, because the kernel subsystem would be absent. (I also don't believe you could call win32 from SUA, but my memory is foggy.) Cygwin and MSYS are attempts to map UNIX semantics onto windows system calls, to varying degrees of success.
- rbanffy 6y agoTrue, but it has some of the features the author mentions he would like from WSL1 (such as the bi-directional visibility), and, being open-source, if they really want it, they can always add it.
- adzm 6y agoCygwin is definitely still around, but most people are using msys2/mingw and its bash prompt nowadays, especially with Git for Windows making it nearly ubiquitous.
- deleted 6y ago[deleted]
- mehrdadn 6y agoI believe it does, but you might like MSYS2 more.
- Koshkin 6y ago> wasn't 100% GNU compatible But, but... GNU's Not UNIX!
- timoth 6y agoI remember using Interix back in the late 90s to port our home-grown source control system that we used on various UNIX flavours over to NT. The source control system was basically a bunch of shell scripts which wrapped either SCCS or RCS depending on which was available on the system in question. Porting them to Interix on NT worked pretty well, though there were some wrinkles with file permissions.
- cwyers 6y agoMy understanding is they initially developed the tech beneath WSL to run Android apps on Windows Phone, actually. https://mspoweruser.com/windows-subsystem-for-linux-started-as-project-astoria-on-windows-phone/ https://mspoweruser.com/windows-subsystem-for-linux-started-...
- skissane 6y ago> SUA was still a pretty weird UNIX though. PE-COFF binaries PE-COFF comes from UNIX originally – COFF was the executable format introduced by AT&T in Unix System V, up to and including SVR3 – in SVR4, it was replaced with ELF. PE-COFF is simply Microsoft's variant of COFF. There are other variants, such as IBM's XCOFF (used on AIX). Given that COFF originated on UNIX and has a long history of use there, should we really call a UNIX(-like) "weird" for using it? The UNIX standard doesn't mandate any particular executable file format. macOS uses Mach-O. z/OS uses GOFF. Both are certified UNIX. (Interix/SFU/SUA never was, but there was nothing stopping Microsoft pursuing UNIX certification for it if that had been a priority for them.)
- hapless 6y agoSVR4 was released in 1990, before win32 or NT even existed. By the time Interix came along, the whole world was ELF — there was even an Intel standard that unified all x86 UNIX ABIs, iBCS. AIX is the only Unix to retain COFF. It’s deeply weird, unsupported by standard tools, and shipped with a not quite 100% compatible shim for the gnu linker. Trust me when I say it is not a fun combination.
- gfody 6y agoGentoo-prefix on SUA was my daily driver for years. I had all the “could you imagine” stuff mentioned in the article - dealing with the random build errors now an then did get old though. I always wondered why more people didn’t use it especially seeing how popular WSL is now. Maybe SUA was just ahead of its time?