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.