The Promise of Posix

The Posix operating system standards are supposed to provide developers with application portability. Both Unix and Windows NT are Posix-compliant, but there is good news and bad news in this conformance. The good news is that Windows NT supports a Posix subsystem and allows execution of Posix.1 applications. The bad news is that the Posix subsystem cannot make the most of the native Windows NT environment.

Windows NT version 3.1 was tested and passed compliance using the NIST Posix Conformance Test Suite for Federal Information Processing Standard (FIPS) 151-2. Thus, applications that conform to the Posix.1 specification and use approved language bindings will run under Windows NT's Posix subsystem.

Posix applications (and the Posix subsystem they use) run inside their own protected address space. This means that other ill-behaved applications, both Win32 and MS-DOS, won't crash Posix applications. Posix exists in Windows NT as a protected server, and Posix applications communicate with the Posix subsystem through a message passing mechanism. The message passing mechanism is a part of an NT Executive called Local Procedure Call (LPC).

For practical purposes, then, real-world developers cannot expect NT's Posix compliance to provide access to the features and performance they must have from their applications.