Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where does Microsoft Windows' 7 POSIX implementation currently stand?

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?

like image 915
Shinnok Avatar asked Jan 20 '11 10:01

Shinnok


People also ask

Is POSIX compliant Windows 7?

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.

Does Windows implement POSIX?

Though POSIX is heavily based on the BSD and System V releases, non-Unix systems such as Microsoft's Windows NT and IBM's OpenEdition MVS are POSIX compliant.


2 Answers

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

like image 56
Tedd Hansen Avatar answered Nov 05 '22 07:11

Tedd Hansen


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.