Windows – Is Subsystem for UNIX-based Applications in Windows 7 same as cygwin

cygwin;unixwindows 7

I downloaded Subsystem for UNIX-based Applications (Windows 7) from the microsoft.com site. During installation I saw a Cygwin screen, but I already have Cygwin. Is it more than Cygwin? It seems to have the following which may be more than Cygwin:

  • Base Utilities
  • SVR-5 Utilities
  • Base SDK
  • GNU SDK
  • GNU Utilities
  • UNIX Perl
  • Visual Studio Debugger Add-in

Is it more than Cygwin? If yes, will it affect the currently installed Cygwin?

Best Answer

No it is not. As a matter of fact the Subsystem for UNIX-based Applications (SUA), formerly known as Interix, includes several GPL'd apps, so MS isn't per-se against the GPL.

Unlike Cygwin, this subsystem extends on the POSIX subsystem that was provided with previous Windows versions (I think up until including XP) and is an actual subsystem to Windows, just like the Win32 subsystem.

Admittedly the Win32 subsystem has a special stance in the system as it has privileged access to some resources, but in general the architecture of Windows allows for multiple subsystems to run in parallel. Allegedly the POSIX subsystem was originally included to satisfy some requirements for US government software purchases.

Cygwin, in many places mimics the behavior of old Interix (which used to be commercially available only in times of NT4 and 2000), but can for certain reasons not provide all the same semantics. IIRC Cygwin is actually based in the Win32 subsystem, while SUA is a subsystem in and of itself. I have no Cygwin handy, but some of the differences should be that Cygwin may or may not be able to handle case-sensitive file names - i.e. several different files in parallel, such as foo, foO and FOO in the same folder - although the NT platform and certainly NTFS is able to handle this. However, the Win32 retains case for all I know, but it doesn't care about it. SUA on the other hand does. You can also create files with a trailing dot (such as foo.) in SUA which you can't in Win32 (and likely Cygwin).

SUA, like Cygwin has the huge drawback of the performance penalty, though. I recently tried it on Windows 2008 Server R2 and it was rather sluggish when compared with Cygwin. Nevertheless alone the different semantics on the file system could provide an advantage, for example with the GNU Autotools, because they may rely on features (or rather semantics) only commonly found on unixoid systems that SUA faithfully mimics, but Cygwin cannot.

And of course Fran is right that you don't get a debugger plugin for VS with Cygwin. The rest, however, should be included also with Cygwin by means of the "package manager" during installation.