Windows NT
It's Microsoft's champion in the next stage of the battle for the post-DOS world. It has to
take on unfancied OS/2 2, the mighty and perhaps underrated challenger put up by MS's
bitter ex-ally IBM. Geof Wheelwright saw NT at its home baseand it looks good.

Windows NT (for New Technology) will be here
sooner than you thinkif, that is, you have heard
at all of this power version of Windows. It's de-
signed both for fast Intel-based machines with lots
of memory, and MIPS RISC systems pioneered by
the ACE consortium (which includes Microsoft).

NT was portrayed until recently largely as an
alternative to IBM's OS/2 2 (see page 246). Micro-
soft, which developed OS/2 with IBM, has basi-
cally given up working on it since the two companies
split in early 1991 over the issue of operating
system development. IBM says the future lies with
OS/2; Microsoft claims that the market is voting -
with its feet for Windows. As Microsoft has sold

more than nine million copies of Windows since
May 1990, and IBM has managed to shift only
slightly more than a million copies of 0S/2 since
earlyl988,Windowsseemstohavewonthisbattle.

So what exactly is in this all-singing, all-dancing
Windows NT? Microsoft has described it as a ' self-
contained operating system with full DOS emula-
tion and all the features of the current Windows
implementations'. The phrase 'full DOS emula-
tion' is particularly important here: Windows NT is

not just a graphical interface built on top of any
standard version of DOS, it is a complete operating
system in its own right. NT features include:

 Symmetric multiprocessing, so that you can
use existing Windows applications on every-
thing from laptops to large Unix-based servers.

 An ability to run on Intel processors from the
386 through the 486 to the imminent P5, as well
as ACE systems.

 Preemptive multi-tasking.

 Certified security.

 High capacity, high performance I/O.

 Fault tolerance.

 Integrated networking

 Full support for existing Windows applications
and future 32-bit Windows applications.

The big news now, however, is that Microsoft
actually has development releases of Windows NT
up and runningand has been making them
available through a Software Development Kit for
several months. And at the Windows World show
in Chicago in April, Microsoft expects some 50
developers to be showing off 32-bit Windows NT
applications.

I recently visited the NT development team at
Microsoft's headquarters in Redmond, Washing-
ton and saw this innovative operating system run-
ning Windows 3 and 3.1 aplications, as well as
specially-designed 32-bit Windows applications.

Operating system

You notice immediately that Windows NT is the
operating system. There is no starting up in DOS
and then running a batch file to get Windows up.
Windows NT is all you getand anything you run,
such as DOS applications, must run within NT.

NT starts with a Unix-style 'logon' dialog box
which requires you to input a user name and
password. This is to meet Microsoft's goal of getting
a government ' C2 ' security rating for Windows NT.
The company plans to beef up the security features
further to get a rating of 'Bl' or better.

Without at least a C2 security rating, Microsoft
would have problems getting Windows NT taken
on by major US government departments or some
large corporations. Security colours a number of
the key design decisions. NT will, for example,
allow a server to 'impersonate' a client so that
checks can be made on the security of the system.

NT provides no back doors allowing users in to
tinker with the operating system. This extends to
the way it handles both existing and future applica-
tions. Microsoft has told developers of Windows 3
and 3.1 applications that their products will not
run under Windows NT if they attempt to modify
the WIN.INI file directly, if they try to directly
access the disk controller, or if they modify the
system date or time in any way.

Microsoft claims that if direct hardware ma-
nipulation were supported, aberrant or malicious
applications could affect the hardwarecausing
system crashes or system instability. Direct hard-
ware access would also wreck any chance of a C2
security rating. For this reason, NT applications
cannot 'own' the machine on which they are run-
ning like they can under Windows 3.1.

Once past the NT logon, things start to look more
familiar. The program manager and desktop look
the same as in Windows 3, although improvements
have been borrowed from 3.1.

Windows NT, for example, uses the same file
manager as Windows 3.1, but the 3.1 assembler
code has been rewritten in C for portabilityvery
important for the NT development team, which is
developing the Intel and MIPS RISC implementa-
tions in parallel. Every week, the team cross-com-
piles the two versions of the code to make sure that
no inconsistencies creep in.

One significant difference between 3.1 and NT,
however, will be in the way fonts are handled. Both
will include the Apple/Microsoft co-developed
TrueType font system, but only 3.1 will offer Ado-
be's Type Manager. Microsoft says if Adobe wants
to develop a third-party, 32-bit Type Manager for
NT, users will have to buy it separately.

Applets

NT comes with the same small applications (or
'applets', as Microsoft likes to call them) that Win-
dows 3 has become famous for. The major differ-
ence is that NT applets are full 32-bit
implementations and come with support for object
linking and embedding (OLE) and DDE (Dynamic
Data Exchange).

The ease of moving these small applications to
native 32-bit operation shows how easy it will be
for third-party developers to move their Windows
products to NT, Microsoft says. The Windows 3.1
file manager, with 20,000 lines of code, required
most changes, but it was compiling as a Windows
32-bit application within a day of work by the
development team. After a week, it could be used to
execute and display directory listings (and remem-
ber, the security system prevents any direct calls to
the hardware). As mentioned earlier, the changes
included recoding several assembler routines in C.

Not surprisingly, DOS applications rather than
Windows 3.x programs present most difficulty
under Windows NT. The reason is that Windows


NT, with its stress on security, will not allow

CONFIG.SYSandAUTOEXEC.BAT files to be used
to set a PC up so that it can be run with an 

application. Instead, NT will employ a 'registration 
database' of what needs to be loaded with each
application. So, an installation routine calling for
modifications to AUTOEXEC.BAT and
CONFIG.SYS will have to be changed for a product
to work under Windows NT.

In addition, NT will include an 'interrupt han-
dler' for what Microsoft calls 'dirty DOS' applica-
tions that make calls directly to the hardware. The
interrupt handler will prevent those calls from
messing up other DOS applications, ensuring that
even if problems occur with one DOS application,
it won't hang up the whole system (or even any
other instances of DOS).

This does mean, however, that Windows NT is
much more intelligent than any previous version of
Windows about the way it handles DOS applica-
tions. NT launches a complete DOS subsystem
with DOS addresses when each DOS application is
started. You can run as many DOS applications as
the memory of your PC will allow. The theoretical
limit is 32,000 on 200 'virtual machines'.

No DOS applications, other than the DOS prompt
in a window, were run in the demonstration I saw.
Microsoft offers assurances, however, that DOS
applications will run with no problems even when
the base hardware is the MIPS RISC processor.

However, I did see ahealthymix of 32-bitand 16-
bit Windows applications running at the same time
under NT. In the screenshot on page 244, for exam-
ple, you can see a 32-bit Bezier curve generator, a
16-bit version of Microsoft's 'Minesweeper' game
(part of the MS US Entertainment Pack), a specially
written 32-bit version of Microsoft Excel 3, the
standard 1 6-bit version of Microsoft Word for Win-
dows 2, a 32-bit version of the Windows 3.1 file
manager, and a 'performance meter' application
which shows the load on the processor, how many
pages of memory are available, and so on).

Any group that needs to work with large, graphi-
cally-oriented applications should be cheered at
the sight of the Bezier curve generator. Windows
NTbuildsinsupportforboththeseandfullFournier
transforms, making Windows a much more cred-
ible platform for CAD/CAM work.

No waiting

And because Windows NT is truly preemptive,
there's a lot less waiting around. For example, we
saw NT loading up an image in the standard 16-bit
implementation of Corel Draw 2a shipping
Windows 3 productand while the 'hourglass'
was on screen showing that Corel was still opening
the graphics document in question, we could move
to another application in NT and start work with it.
Microsoft has adopted the new intemational
Unicode 16-bit character set, 65,536 strong, which
can include all modern characters . Only displayable
strings, those that the user is going to see or edit on
the screen, need be Unicode. Strings representing
intemal identifiers for programmerssuch as
object names, window class names, resource names
do not need Unicode equivalents.

Windows NT allows 32-bit applications to be
either Unicode or standard ANSI (American Na-
tional Standards Institute) ASCII applications, or
even mix Unicode and ANSI ASCII calls. So every
Windows API (Applications Programming Inter-
face) that can take a displayable string has two
counterpartsa Unicode and an ANSI ASCII
version of that API.

NT also provides a national-language support, a
programming model wherein applications can dis-
play and interact with multilingual data and multi-
lingual users. This impacts both the API and the
user interface. Windows NT will allow a developer
to create one application which serves multiple
international markets. An application can be cre-
ated to 'understand' and manipulate multilingual
data, string sorting, date and currency fommatting.

Microsoft says the task of making new interna-
tional versions of a product should be reduced to
replacing language-specific strings. In addition,
Windows NT will allow developers to ship a prod-
uct with multiple sets of resources, each keyed off
of a local identifier. One executable product can
thus be sold into multiple international markets.

Memory handling

Another NT feature is that memory is no longer
visible globally to all Windows applications. Each
has its own address space, so memory allocated by
one process is not visible outside the address space
of that process. Memory used in DDE transactions,
for example, will be made available transparently
to the receiving process. Applications which need
shared memory for other purposes can use the
'named shared memory' offered by Windows NT.

The overall approach to memory is unique. In
Windows NT, each process has a unique 32-bit
linear virtual address space that allows it to address
up to 4Gb of memory. The 2Gb in low memory is
available to the user, and the 2Gb in high memory
is reserved for the NT kernel.

The virtual addresses used by a process do not
represent the actual physical location of an object
in memory. Instead, the kernel maintains a map for
each process that translates virtual addresses into
the corresponding physical addresses.

The virtual address space of each process is
much larger than the total physical memory avail-
able to all processes. To increase the size of physi-
cal storage, the kernel uses the disk for backing
storage. The total storage available to executing
processes is the sum of physical memory (RAM)
and the free disk space available to the paging file.

Physical storage and the virtual (or logical) ad-
dress space of each process are organised into pages
of 4K each. To maximise flexibility in managing
memory, the kemel can move the pages of physical
memory to and from a paging file on disk. When a
page is moved in physical memory, the kernel
updates the page maps of the affected processes.


 Each process is guaranteed a minimum number
of pages in physical memory, but the kernel has
complete flexibility to move any page of memory to
the paging file according to a least-recently-used
algorithm. A process cannot lock a page so that it
cannot be swapped out to the paging file. Manipu-
lation of physical memory by the kernel is com-
pletely transparent to applications, which deal              
only in their virtual address spaces.            
Conclusion                                                       

Windows NT is being positioned as a complete,                
comprehensive and superior alternative to OS/2 2.                
With Windows sales far outstripping those of OS/                 
2, Microsoft argues that it makes more sense for                
users and software developers to switch theiratten-
tion to Windows.
 In doing so, it has had to find a way of building
into Windows those features like the true multi-
tasking capabilities of OS/2, such as threading and
preemptive multi-tasking. Windows NT offers the
solution; the only question right now is whether it's
a solution to a problem which really exists. Only
time will tell 