---

Stephen Walli writes about Interix, the software used to run Linux apps on Windows NT.

Stephen Walli
writes:

My name is Stephen Walli, and I’m vice-president, R&D and a
founder at Softway Systems, the developers of Interix on Windows
NT. This week we announced at Comdex in the Linux pavilion our
Linux Bounty Hunt, described at http://www.interix.com/bounty.htm

I am regularly asked why anyone would want to buy Windows NT and
buy Interix to run their UNIX applications when they can get Linux
for free. The simple answer is we didn’t build Interix to simply
replace UNIX systems. A lot of people are deploying NT. Interix
gives them a way to directly rehost their UNIX applications on
Windows NT without breaking the application development investment.
Likewise, a lot of people are living in a mixed world. They depend
on a set of Windows apps as well as their UNIX applications. Which
makes sense: A. Rewrite all UNIX apps as Windows apps? B. Host the
Windows apps on a half measure like Solaris’s broken Win16 WABI, or
the newly announced expensive hardware distribution solutions, or
C. run the Windows apps as windows apps, and the UNIX apps as UNIX
apps on the same platform with Interix.

If a customer has a pure UNIX need, with no Windows requirements
in sight, then Linux is a great solution.

As to architecture, there were a lot of misconceptions about
what Interix could or couldn’t do with respect to Windows NT, and
confusion about Win32 library solutions like cygwin32. We have a
source license with Microsoft which has allowed us to develop an NT
environment subsystem. This allows us to directly map the kernel
interface with all its functionality rather than taking a layered
Win32 library approach and being limited to what the Win32
subsystem exposes of the kernel’s functionality. For a description
of environment subsystems on Windows NT, see either “Inside Windows
NT, Second Edition”, by David Solomon, specifically the section and
diagram on page 44, or Solomon’s IEEE Computer article, “The
Windows NT Kernel Architecture”, October 1998, Volume 31, No. 10.
For a technical description of the Interix architecture, please see
the USENIX paper “OpenNT: UNIX Application Portability to Windows
NT via an Alternative Environment Subsystem” at: http://www.interix.com/aboutos.htm

(The technology was called OpenNT. As of June 15, 1998 it became
Interix. Try registering an international trademark with either the
word “open” or “NT” in it.)

Some of the interesting things in the architecture allow us to
provide real multi-user capabilities on Windows NT (including dumb
terminal support), and a high level of integration with the Win32
world via shared memory, sockets, pipes, the ability to shell
script Win32 executables, a common filesystem, and a shared
desktop.

A lot of our tool space that’s built on top of the Interix
subsystem comes straight from the open source world. Real Perl,
Apache, inetd et al. and sendmail are all up on the web site as
either contributed applications or pre-release technology. We have
ISVs that have comfortably ported hundreds of thousands of lines of
real world applications into this environment. (One ISV ported 750K
lines of application framework for advanced OpenGL data modelling
in a weekend after wrestling with the Win32 library approaches for
months.)

This is what prompted us to issue the “Linux Bounty”. This is
not a suggestion that instead of Linux one should buy Windows NT
and Interix. One of the things that makes Linux great beyond its
raw speed and open source development community is the open source
applications that exist. A lot of these already exist for Interix
today. Some of the more interesting ones don’t yet, and we wanted
to encourage people to bring them over. A lot of people do live on
Windows NT and want their key applications that exist in the
Linux/UNIX/Open source community.

Interix can be reached at http://www.interix.com/. – lt
ed

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis