News for hackers. Stuff that matters.
Re:Ubuntu on Windows by whatever_dude on Wednesday March 30, 2016 @01:53PM (#11391417)
I've read comments where people wrote that NT always had some kind of POSIX subsystem, and it has probably just now been completed and expanded.

Can't find any substantial writings on this, but it seems likely.

Re:Ubuntu on Windows by barrkel on Wednesday March 30, 2016 @02:02PM (#11391513)
Not only did NT have a POSIX subsystem, but once upon a time I used it (when it was packaged as SFU, Services for Unix). It wasn't a pleasant experience.

This will have been quite a bit more work than just a POSIX layer, IMO; POSIX defines a bunch of low-level functions that lie just under the C runtime library, but Linux defines a bunch more that expect a certain view of the world - things like clone(2), which lets you selectively choose what the forked process gets to inherit. POSIX only specifies fork(2). Linux implements fork(2) in terms of clone(2). And POSIX defines the API at the level of C; this will have had to implement the Linux ABI, where it differs from Win64. A minor detail of a bunch of assembly stubs, but work nonetheless.

Re:Ubuntu on Windows by JdeBP on Sunday April 03, 2016 @06:32PM (#11418098)
> It wasn't a pleasant experience.

In my experience the differing perception of pleasure, certainly with the Interix-derived Windows NT POSIX subsystem rather than the original one, is usually a result of the toolset being BSD rather than GNU. I don't have much trouble with the BSD toolset, myself, especially when switching between Windows and an actual BSD. (-:

In addition to the fact that a number of the "Does this new subsystem ...?" questions are answerable as "No; but the old POSIX subsystem did." (https://news.ycombinator.com/item?id=11416392) the POSIX subsystem has some stuff that we're simply not going to get with a Linux subsystem that has vanilla Linux binaries including libraries right down to the system call level. There are things that only come by adjusting libraries and binaries, because they are above the raw system call level. The POSIX subsystem integrates the user account database access library routines with the Windows SAM, for example. So "ls -l" shows the actual Windows usernames. The POSIX subsystem also comes with a "service" command that understands and can work with the SCM, for another example.

I'd like to see the POSIX subsystem reintroduced. It's a major reason not to use Windows 10.

Re:Ubuntu on Windows by LukeShu on Wednesday March 30, 2016 @04:09PM (#11392546)
To nitpick: On Linux, glibc implements fork(3) in terms of clone(2). Linux still has an independent fork(2), but nothing uses it.
Re:Ubuntu on Windows by alwaysdownvoted on Wednesday March 30, 2016 @11:21PM (#11394779)
I still use SUA every day when I'm forced to use Windows. (I also run Linux binaries on BSD.)

SUA is based on an old version of BSD, not GNU. tcsh, csh and sh. The compiler works. There is an old version of lex. For some of the userland, Windows binaries are provided, such as vi. It's better than nothing.

Why did MS remove SUA from Windows 10? What harm would it do to remain an optional add-in as it was in Windows 7?

Why do users have to upgrade to Windows 10 to use Linux binaries? Seems like Microsoft will do _anything_ to get users to upgrade. What are the privacy implications of Windows 10? Microsoft is very untrustworthy.

Will users be able to run their own Linux binaries on Windows?

Windows has never been a "pleasant experience". It's the unpleasantness of it that makes the alternative, UNIX, so appealing.

Re:Ubuntu on Windows by JdeBP on Sunday April 03, 2016 @06:44PM (#11418162)
> The compiler works.

... but is too outdated to be capable of bootstrapping clang. There's very probably a long chain of bootstraps that would achieve it, but there's not a direct route.

> Will users be able to run their own Linux binaries on Windows?

The answer to that is easily determined from the demo video that Microsoft published. In it, Russ Alexander compiles a program with (Ubuntu binary) GCC and and runs it.

Its implicit int in the declaration of main() was jarring. (-:

Re:Ubuntu on Windows by EvanAnderson on Wednesday March 30, 2016 @02:23PM (#11391676)
NT shipped w/ a POSIX subsystem. Later, Microsoft acquired Interix (https://en.wikipedia.org/wiki/Interix), a more fully-featured POSIX subsystem. I have fond memories, in the late 1990's, of running GNU tools on NT under Interix.
Re:Ubuntu on Windows by TeMPOraL on Wednesday March 30, 2016 @02:58PM (#11391955)
Same here. It's like everyone forgot there was such a thing as SFU/SUA. I found it much more pleasant to work with than Cygwin.
Re:Ubuntu on Windows by krylon on Wednesday March 30, 2016 @03:14PM (#11392099)
> It's like everyone forgot there was such a thing as SFU/SUA

Well, it's not like Microsoft made much of an effort to remind people. It was discontinued as a separate project after about Windows XP. It continued to be part of Windows Server[1], but AFAIK, it was no longer present in the client versions.

[1] at least until 2008 or 2008 R2, I didn't check later versions.

Re:Ubuntu on Windows by SSLy on Wednesday March 30, 2016 @03:28PM (#11392222)
last it was avaiable in windows 8 enterprise
Re:Ubuntu on Windows by krylon on Wednesday March 30, 2016 @11:55PM (#11394875)
I stand corrected.

Thanks for the info!

Re:Ubuntu on Windows by nradov on Wednesday March 30, 2016 @03:48PM (#11392369)
Microsoft implemented a minimal POSIX subsystem in Windows NT 3.1 as a checklist feature because at the time some government procurement rules required POSIX compatibility. They didn't expect anyone to actually use it and it was so limited that you couldn't really use it for much in practice.
Re:Ubuntu on Windows by dboreham on Wednesday March 30, 2016 @03:32PM (#11392248)
It was documented in the original NT manuals in 1992 which I still have on the bookshelf in pristine condition.