Subj : Family executables again To : Mike Luther From : Jonathan de Boyne Pollard Date : Sat Oct 27 2001 04:37 pm ML> He said that after close consultation (but not with whom!) they ML> removed I think he said four files from all their WIN-NT operations: ML> OS2.EXE ML> OS2.DLL ML> POSIX.EXE ML> (?) one more ML> Their reasoning was that in the early days of WIN-NT, any program ML> which was strictly a POSIX compliant code operation that originated ML> in OS/2,could, for example be run with OS2.EXE and the corresponding ML> .DLL! Their security analysis of the threat of OS/2 to them was so ML> great for simplistic programs which could be uploaded to them which ML> might be run under OS/2 shim in this way that it was un-acceptable! They were idiots, with no clue about proper threat assessment. If that was a verbatim report of their rationale, they were also idiots with no clue about what the OS/2 and POSIX subsystems are, and how they do not relate to each other in the slightest. ML> Is this a similar scenario, to what we know, as the early WIN-95 ML> programs which will run under OS/2 vis the WIN32S.DLL if they do not ML> require, for example, past version 1.25 of it? At one level of abstraction: yes. OS2.EXE and OS2.DLL facilitate running 16-bit OS/2 programs (/i.e./ programs written to run on Microsoft OS/2 version 1.x) on Windows NT. There are a whole load of things that such programs cannot do because the "OS/2 subsystem" in Windows NT does not support doing them, however. Several system API function calls simply return errors to the calling program. There is also no support included in Windows NT for 16-bit OS/2 programs that use (16-bit) Presentation Manager. Only textual 16-bit OS/2 programs are supported. There were, supposedly, aftermarket products from other companies that provided 16-bit Presentation Manager. 32-bit OS/2 programs, of any sort (graphical or textual), have *never* been supported by any version of Windows NT. The "POSIX subsystem" is for support of POSIX programs. However, this does *not* provide the ability to take binaries from Unix systems and run them directly on Windows NT. This provides *source-level* POSIX compatibility. To run a POSIX program on Windows NT, one takes the source of the program and compiles it with Microsoft's C/C++ compiler, using a special set of headers, libraries, and compiler and linker switches, to generate a PE format executable that classifies itself as a "POSIX" program (rather than a Win32 program). The primary /raison d'ˆtre/ of the "POSIX subsystem" in Windows NT was marketing. It allowed Windows NT to meet the requirements imposed by various U.S. Government procurement regulations, which specified POSIX compatibility. ¯ JdeBP ® --- FleetStreet 1.22 NR * Origin: JdeBP's point, using Squish (2:257/609.3) .