Windows NT was designed to have "multiple personalities". It has a Win32 personality most Windows programs see, a POSIX personality (that I think doesn't exist anymore) and an OS/2 personality (that I never saw). Each one could run binaries designed for the respective environment. Few Windows programs ever touch the NT kernel.
OSX is also modeled like this. There is a Mach kernel and a BSD-like personality on top of it.
Wine allows Win32 software to run on top of Unix without ever realizing they are running on top of a "fake" Win32 stack.
I think GNUStep could be used to build something similar that could allow OSX software to run on non-OSX hosts.
the posix personality still exists - it's called SUA; the Subsystem for UNIX Applications. the guys at interop systems have made a really nice ports-esque system for it so it's easy to get up and running with the usual pile of apps.