Unix, Windows NT inch toward common platform ground
The gap between Unix and Windows NT continues to shrink, thanks to new products aimed
at that divide. The growing acceptance of Windows NT in the marketplace is pushing from
the other side, as well.
We all know that since April 3, 1996, federal agencies have not been allowed to buy
operating systems that do not meet Posix.2 requirements. Microsoft Corp.'s Windows NT
meets only Posix.1 requirements. Into this gap has stepped Softway Systems Inc.
San Francisco-based Softway licensed the NT source code to build its OpenNT Commands
and Utilities, a Posix.1 and Posix.2-compliant Unix environment that Microsoft and Softway
hope will let NT compete for government contracts that require Posix compliance. The idea
behind OpenNT Commands and Utilities is to provide all the Unix tools and the Unix shell
to Windows NT, without emulation. OpenNT will run on all NT-Intel Corp. platforms and on
Digital Equipment Corp.'s Alpha platform.
The benefits of OpenNT are that it lets Unix utilities run on Windows NT, including
those at the heart of Unix, such as the data and text retrieval utilities awk and grep.
Open NT also brings certain Unix functions to Windows NT, such as the ability to have
multiple file names for the same set of data.
Another key benefit of OpenNT, through its software development kit, is the ability to
run Unix applications written to the Posix and XPG4 specifications on Windows NT after a
simple recompile. Many government agencies have old Unix apps that won't run on NT now but
will after a simple recompile with OpenNT's software development kit. The only kicker is
that they must have Microsoft's Visual C++ installed. The OpenNT SDK wraps the Microsoft
C/C++ compiler environment with additional tools, header files and libraries.
Agencies using OpenNT won't have to migrate everything at once and, by recompiling,
won't necessarily have to wade into the murky waters of Win32. Developing an NT app from
scratch will require a high degree of Win32 expertise.
Still, porting Unix applications is not for the faint of heart. The time it takes to
complete a port depends on several factors, including the complexity of the application,
how closely it adheres to Unix programming standards, how dependent the code is on a
specific flavor of Unix or hardware architecture, and how complex the interclient
communications code is. The amount of code and whether the application is character-based
or has a graphical user interface also will affect the time it takes to port an
How easy is it? Since I've never been considered a Unix guru, I thought I'd install the
product and give it a test run by installing the Commands and Utilities shell. The first
thing is that you must be an administrator (or have administrator rights) to install
OpenNT--both the Commands and Utilities and the SDK.
Second, you should be running on an NT file system partition to get full Posix file
semantics. It will still work on a file allocation table partition, but file links, file
groups and ownerships, and the full scope of file names allowed under Posix will not work.
Installing OpenNT replaces the Microsoft Posix subsystem. (Yes, there is an uninstall that
will restore Microsoft's Posix.1 system.)
So, I popped in the CD-ROM and ran setup. That's about all there was to it. I opened an
NT command line, typed in c:\opennt\bin\sh -l (that's the letter L, not a one) and I was
in business. Actually the product ships with two shells: the sh shell is a
Posix.2-conforming shell and the ksh shell is a port of the public domain KornShell. There
are a few scripting syntax and other differences between the two shells. These differences
are spelled out in the users guide.
I quickly ran through my limited knowledge of Unix command-line utilities, then ran a
couple of Win32 GUI programs to test that capability. It was interesting to run Windows
NT's regedit32.exe in a Unix shell and see the internals of NT graphically displayed from
the command line.
Softway systems says OpenNT will run Win32 command-line programs, but I didn't have any
available to test it with.
Since I didn't have Microsoft Visual C++ installed on this particular machine I didn't
install the SDK. If the SDK is of interest to you, download a trial version and try it out
Softway is letting anyone download a trial version of OpenNT from the company's Web
page at http://www.openNT.com. After
you register with Softway, you get via return e-mail an activation key that will let you
run OpenNT products for 30 days.
Also on this Web site you will find product updates and fixes, tech notes, pre-release
versions of upcoming products and contributed applications such as Ispell, a
screen-oriented spelling checker that shows you your errors in the context of the original
file. There's also tcsh Version 6.006, a version of the Berkeley C-Shell with extras.
Charles S. Kelly is a computer systems analyst at the National Science Foundation.
You can e-mail him on the Internet at firstname.lastname@example.org.
This column expresses his personal views, not the official views of NSF.