Question

Is there a full POSIX implementation available in/for Windows 7 (I'm thinking of Windows Services for UNIX)?

Is it available in every version of the OS (it seems not)?

How does it add/improve or break on previous MS Windows POSIX implementations?

Where can i find more info on specific Microsoft approaches and implementations regarding POSIX compliance in Windows 7?

Was it helpful?

Solution

SUA, formerly called INTERIX, is now 100% POSIX compatible. There are a lot of ported apps for it. Even whole Linux distros like Debian have been ported. SUA/Interix comes with Windows 2003R2 and up (including Win7 which has the latest 6.1). I also successfully compiled BASH without it directly supporting SUA.

Previously only parts of POSIX were implemented. The newest version is fully POSIX compliant and is (iirc) mapped more directly onto the Windows kernel than before, causing an increase in speed.

Beware however that I (on a personal note) experience memory problems when I keep BASH open for several days. The problems seems to affect the whole SUA system. I don't know the cause of this so it could be something with my setup, but worth testing before considering it for production use.

Links:
Wikipedia article on Interix
Debian interix port
SUA Community with bundles of apps/utils

OTHER TIPS

It has been deprecated since Windows 8, as mentioned on this answer https://superuser.com/a/495367/128124 with the following screenshot to back it:

Feature request: https://windows.uservoice.com/forums/265757-windows-feature-suggestions/suggestions/6573649-full-posix-support

According to an article on How-To Geek, it was removed from Windows 8.1.

On the server side, it was officially removed in Windows Server 2012 R2:

Subsystem for UNIX-based Applications

Windows Server 2012: Deprecated

Windows Server 2012 R2: Removed

Source: Features Removed or Deprecated in Windows Server 2012 R2

2016 Windows Subsystem for Linux

In 2016 a new official Linux-like API called "Windows Subsystem for Linux" was announced. It includes Linux system calls, ELF running, parts of the /proc filesystem, Bash, GCC, (TODO likely glibc?), apt-get and more: https://channel9.msdn.com/Events/Build/2016/P488 so I believe that it will allow Windows to run much, if not all, of POSIX. However, it is focused on developers / deployment instead of end users. In particular, there were no plans to allow access to the Windows GUI.

If you look at http://technet.microsoft.com/en-us/library/cc772343.aspx you can see that you can:

  • debug POSIX applications with Visual Studio
  • run 32 bit POSIX applications on a 64 bit Windows edition
  • run BSD applications, since BSD support is included in the POSIX implementation of Windows

Kindly have a read of https://en.wikipedia.org/wiki/Windows_Services_for_UNIX

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top