			      Sibling Rivalry:
			     Windows/NT vs OS/2

Article from Corporate Computing (Volume 1 Number 1)
BY KEVIN BACHUS AND RICHARD RAWLES 

In the battle between operating systems, the race doesn't go to 
the swiftest. Or the prettiest.  And the smart choice is not 
always the one that runs the bulk of today's applications. It's 
the one that best fits your company's overall information 
technology strategy. 

The determining factors revolve around longer-range planning 
issues. How well does the operating system handle client-server 
architecture or distributed processing? What about 
interoperability in a multiplatform environment, system 
management, and fault tolerance? Crucial distinctions in these 
areas may even mean porting your mission-critical applications 
to a different platform entirely. 

The near-simultaneous introductions of Windows 3.1 and OS/2 2.0 
this past spring renewed the tug-of-war between the rival 
systems. But this is not the true point of comparison. Despite a 
plentiful supply of Windows applications, OS/2 is a far more 
sophisticated environment. If OS/2 is going to be compared to 
anything, it should be Windows/NT. But you won't be able to cut 
through the hype and test the alternatives for yourself until at 
least the end of the year, when Microsoft is expected to ship 
Windows/NT.

In the meantime you need to consider several important 
distinctions. On the surface, both systems offer much the same 
functionality-32 bit processing, preemptive multitasking-
multithreading, and the ability to run applications written for 
different operating environments. Broadly speaking, it's white 
bread versus multigrain. If you're a homogeneous IBM shop, your 
best bet may well be OS/2. For multiplatform environments, 
you'll probably find NT's scalability and applications 
portability a better fit. Hanging in the balance, of course, are 
the tens of millions of PC users whose sites have not yet 
deployed either GUI. 

System Stability

A pivotal concern for such demanding applications as on-line 
transaction processing (OLTP) is the robustness of the operating 
system. Whether managers are considering  rightsizing the 
application to a server or connecting clients to a mainframe or 
mini through the LAN, the question of system stability is 
foremost. 

Despite Windows' popularity, it has been lambasted for its 
unrecoverable application errors (UAEs). Under Windows 3.0, 
applications must share a single address space. That permits a 
poorly behaved application to access and modify memory that has 
been allocated to another application. Within the shared address 
space, the rogue application invariably corrupts the other 
application and can crash the whole system (Windows 3.1 corrects 
this problem to some extent). 

As true 32-bit operating systems, both OS/2 and Windows/NT 
overcome the application corruption problem by taking advantage 
of the protected-mode architecture of 80386 and 80486 
microprocessors. Under a 32-bit addressing scheme, each 
application has access only to a predefined section of memory 
and cannot move outside of that space. This architecture 
provides each application with a separate address space and with 
preemptive multitasking-multithreading. 

Furthermore, applications can spawn multiple threads of 
execution, operating in tandem to accomplish a task. Windows/NT 
desynchronizes the user interface so that a locked-up 
application cannot in turn lock up the system, even if it has 
not been optimized for Windows/NT. OS/2's user interface, on the 
other hand, is synchronous. As a result, an application can 
freeze out user input unless it has been written to support 
threading. 

Their 32-bit architectures make OS/2 2.0 and Windows/NT much 
sturdier than previous desktop operating systems. Moreover, 
Windows/NT incorporates several fault-tolerant features that 
enhance stability. Windows/NT will ship with a fully recoverable 
file system that incorporates features like disk mirroring, 
duplexing, and striping into the operating system. Such features 
minimize file damage from power outages and hardware failures. 
In addition, NT will implement fully structured exception 
handling in order to catch program anomalies and will impose 
strict quotas on each process in order to protect system 
resources. OS/2 does not have comparable fault-tolerant 
features, at least not at present. 

Compatibility

OS/2 and Windows/NT will run each other's 16-bit applications 
(Windows 3.1 16-bit applications will not run under OS/2). 
However, neither 32-bit Windows/NT nor OS/2 2.0 will run 32-bit 
applications written for their opposite number, at least not 
initially. So with an 8 to 1 advantage in installed base and a 6 
to 1 lead in applications, Windows sites would seem to benefit 
from maintaining the status quo. 

But sheer numbers don't paint the entire picture. Much depends 
on your particular applications and the plans for growth at your 
site. 

Like the earlier OS/2 version 1.3, 2.0 complies with IBM's 
Systems Application Architecture (SAA). This ensures easy 
application and data migration across IBM platforms. IBM's 
relational database products, such as SQL/400 and DB2, easily 
share files with OS/2 clients over the LAN through OS/2's 
Extended Services Database Manager. 

While SAA migration doesn't come as easy with NT, it's unclear 
how significant a factor this will be. SQL Server for OS/2 is a 
Microsoft product, and when using a PC-based file server IBM 
depends on this and other third-party solutions, such as XDB-
Server from XDB Systems, to bring DB2 data to the desktop. Both 
Microsoft and XDB will port their server applications to NT. 

IBM's strategy with OS/2 looks especially attractive if you're 
an all-Blue shop. Many corporations have been developing 
Presentation Manager applications for several years now and are 
committed to it as an API and user interface. Microsoft 
initially claimed that it would not support the Presentation 
Manager Application Programming Interface (API) in Windows/NT, 
presumably to hurt IBM by withholding its support. IBM, 
meanwhile, privately rejoiced since it could then keep its 
valued corporate customers closer. Microsoft later realized its 
error and stated that it would eventually support PM, in order 
to have a shot at converting these sites to NT. 

In addition, IBM has declared its intention to extend its 
relational database management strategy. Distributed Relational 
Database Architecture (DRDA) allows systems like the SAA-
compliant SQL Network from Gupta Technologies of Menlo Park, 
California, to support applications that operate in a 
multiplatform environment and to access a variety of databases 
like DB2, SQL/DS, OS/2 EE Database Manager, and Oracle. 

Microsoft, meanwhile, has built on its SQL Server technology for 
OS/2, and has committed to providing SAA features in NT through 
a combination of its own products and third-party programs. 
Microsoft also has plans for a DRDA gateway.
 
Client-Server Lead

With its broader base of support for 16-bit client-server 
applications, OS/2 maintains a lead in the race to develop 32-
bit client-server programs. Lotus, among others, is developing 
32-bit CS/2 server applications, such as Notes and cc:Mail, 
which together will replace IBM's OfficeVision/2 SAA 
application, although neither Lotus product is itself SAA-
compliant. Borland's Interbase relational database for complex 
data, such as CAD/CAM graphics, is being ported to OS/2, 
providing OS/2 clients with a way into VAX and VMS minicomputers 
and Unix workstation environments. Later, it will be ported to 
NT.
 
Although both Windows/NT and OS/2 support simultaneous 
communications sessions with host computers for large scale data 
transfers, such as those found in banking transactions or 
airline reservations systems, Microsoft's announced intention to 
port NT to 64-bit RISC processors, such as DEC's Alpha chip, may 
give OLTP applications more capacity. 

Applications that combine workflow and imaging, such as 
insurance claim  processing systems, will take advantage of 64-
bit RISC-based database servers to handle complex, graphics-
intensive data. In addition, different versions of the same 
program could be scaled to run on both a laptop in the field and 
the 64-bit server at corporate headquarters, thereby allowing it 
to support more clients without the performance degradation 
associated with cross-platform applications. 

System Architecture

Although OS/2, like NT, will run applications written for 
different operating systems, Microsoft's microkernel 
architecture (analogous to the Mach variation of Unix) ensures 
its compatibility with applications not written specifically for 
NT as well as for as yet unsupported operating systems. 
The NT Executive kernel provides the basic operating system 
functions that support additional subsystems layered above it. 
In its initial release, Windows/NT will provide five subsystems: 
32-bit-Windows, 1 6-bit Windows, MS-DOS, the Portable Operating 
System Interface for Unix (POSIX-a government interface standard 
that defines how applications communicate with the Unix 
operating system), and character-mode OS/2 (without the 
Presentation Manager GUI). Like OS/2, NT will be able to host 
multiple sessions of applications running in the environments it 
supports, and the systems can be mixed and matched to provide 
any support needed on the workstation or server level.
 
Because Windows/NT will allow plug in support for any number of 
API subsystems or installable file systems, Windows/NT can be 
extended to include forthcoming operating environments. The 
subsystems, when installed, will become a part of Windows/NT. 

In contrast, OS/2 2.0 can host multiple DOS, Windows, and OS/2 
applications simultaneously only because it is designed with 
support for particular operating systems in mind. It is not 
extensible in the way NT is. Theoretically, Microsoft only has 
to write an API to add support for other operating systems, such 
as the Macintosh, whereas adding new APIs for OS/2 would require 
a major rewrite of the operating system. 

For managers of multiplatform sites concerned about porting 
applications, NT isolates the Executive kernel from system 
hardware through its Hardware Abstraction Layer (HAL). The HAL 
acts as an interface between the operating system and the 
specific hardware it runs on, allowing developers to port 
Windows/NT applications at the source code level to future 
operating systems. Application developers will no longer need to 
worry about addressing specific hardware platforms, because 
Windows/NT will isolate the environment from the hardware and 
allow applications written for a variety of APIs to coexist in 
one compatible interface. 

Because HAL, like the bulk of Windows/NT, is written almost 
entirely in C, porting applications is easier than in other 
environments. Microsoft anticipates that less than 10 percent of 
Windows/NT will be written in Assembler. Most of these functions 
will be localized in a few components such as HAL and the 
kernel, and Microsoft will provide vendors with source code in 
order to facilitate re-compiles of Windows/NT to support future 
hardware platforms.
 
Although IBM has signaled its intention to port OS/2 to RlSC-
based systems, the fact that it is written largely in Assembler 
will make that a prodigious task, since Assembler code must be 
rewritten to conform to each new platform's specifications. 
Avoiding this may be the motivation behind IBM's move to 
incorporate the NT or Mach kernel into multiprocessor versions 
of OS/2. 

Windows/NT has been announced for the Intel 386 and 486, the 
mips R3000 and R4000, and the DEC Alpha chips.  Because 
Windows/NT has no internal limitations on the amount of-memory, 
storage, and resources it can address, compiling 32-bit 
Windows/NT for any of these processors will turn NT into a 64-
bit operating system that takes full advantage of the 
processor's capabilities. 

Furthermore, Windows/NT will support multiprocessor systems such 
as those introduced by Sequent and NCR. Each application thread-
including the NT kernel itself-can run on any processor in a 
multiprocessor box. IBM has announced plans to introduce 
multiprocessing capabilities into OS/2 in the future, but with 
no specific timeframe, and may turn to NT or the Unix Mach as 
the kernel for a multiprocessor operating system. 

Connectivity

Both Windows/NT and OS/2 will provide methods for networking 
disparate systems along with support for distributed processing. 
OS/2 will continue to rely on third-party solutions such as 
Microsoft's LAN Manager and Novell's NetWare, which provide LAN-
based access to SAA through OS/2's Communications Manager and 
Database Manager.
 
Windows/NT, on the other hand, will incorporate basic networking 
services and APIs for file and print management, messaging and 
security directly into the operating system. In addition, NT 
will support local protocols like Novell's IPX/SPX and 
Microsoft's NetBEUI, as well as enterprise transports such as 
TCP/IP, DECnet, OSI, AppleTalk, and Banyan Vines, while OS/2 
support for these transports will have to come through third 
parties. 

Both Windows/NT and OS/2 will support IBM's Advanced Peer-to-
Peer Networking (APPN) and DEC's Network Application Support 
(NAS), which enable distributed applications to operate in 
multiplatform environments. Both operating systems will also 
supply facilities for the Open Software Foundation's Distributed 
Computing Environment compliant remote procedure calls, which 
should expedite calls for distributed processing, such as those 
between a relatively slow client application and a fast database 
server.
 
Microsoft intends to introduce a version of LAN Manager for NT 
when Windows/NT ships. LAN Manager for NT will include advanced 
administration and security tools, support for NetView alert 
services, and other advanced enterprise networking services. IBM 
also plans to support NetView through its System Network 
Architecture. LAN Manager for NT will also include directory-
like functions and multiple domain services for the enterprise. 

Although LAN Manager for NT will ship concurrently with the NT 
operating system, many of its features will already be 
integrated into NT at the operating system level.  In addition, 
since NT will have both client and server modules that can run 
on each node, it can be configured as a peer-to-peer network. 
Such integrated networking capabilities allow developers to 
write sophisticated distributed applications that take advantage 
of multiprocessor systems.  Besides simplifying network 
management and performance tuning, the tight coupling of 
networking services with the core operating system should 
enhance stability and robustness as well as improve network 
performance.
 
Windows/NT will also provide National Computer Security Center 
C2-level security features in its first release, making the 
operating system secure on both file and thread levels.  Access 
can be restricted to resources and objects alike.  Through the 
use of domain names, an enterprise-wide network can be 
constructed to allow access to components on a group or 
individual basis. IBM has also committed to  C2-level security 
for OS/2, but has not announced a time frame for release.
 
Most leading developers are focusing on writing for the Windows 
API, and later producing versions of their software for other 
platforms.  Microsoft has encouraged vendors to develop for 
Windows/NT by providing driver libraries that will allow the MS-
DOS version of Windows to run NT-specific software. 
Microsoft has announced that, after the release of Windows/NT, 
it will implement most of the functionality of Windows/NT into 
MSDOS and Windows for MSDOS, providing the client side of the 
equation.  Microsoft has also committed to releasing a subsystem 
for Windows/NT sometime after the first version that would allow  
it to run OS/2 Presentation Manager applications.
 
Upcoming Developments

If  IBM goes ahead with plans to incorporate NT as the kernel 
for RISC-based or multiprocessor operating systems, it might not 
be long before it also exercises its option to license 
Windows/NT in future versions of OS/2.  Because Windows/NT was 
originally developed as a portable form of OS/2, IBM has full 
rights to develop a version of the operating system that would 
be optimized for IBM hardware, similar to the way in which 
Microsoft has produced both generic MS-DOS and hardware-specific 
PC-DOS for low-end machines. After the Presentation Manager 
subsystem for Windows/NT is completed, expect IBM to release 
this version of Windows/NT as OS/2 3.x.
 
Of course, we have only Microsoft's word that all the wonders of 
32-bit Windows will be forthcoming, while OS/2 is here today.  
And Microsoft is notorious for delays in delivering new versions 
of Windows, not to mention its divorce from IBM over OS/2.  
While none of this may inspire confidence in IS managers, if 
Windows/NT lives up to its promises, it will afford more 
opportunities for multiplatform growth than OS/2: It has been 
designed with portability in mind, and that means future 
hardware, particularly RISC-based processors and 
multiprocessors, will support NT. 

So far, IBM has not announced support for RISC-based systems. 
IBM's two year-old DRDA strategy for connecting to other 
relational database systems has so far produced few 
applications, and its SAA strategy has suffered a major setback 
with the shelving of Office Vision/2.  But for leveraging 
existing systems, particularly in those IBM shops that are 
running SAA compliant server applications, OS/2 remains a strong 
contender, even if it perpetuates a closed shop.  cc



			     PC GUIs AT A GLANCE

		16-bit              32-bit Windows              OS/2
		Windows 3.1         DOS          NT         1.3     2.0

Minimum Ram     1MB                 2MB          8MB        2MB     3MB  

		286,                386,         386,       286,    386,
Processors      386,                486,         486,       386,    486
		486                 RISC         RISC       486

Multi-threading No                  Yes          Yes        No      Yes

Integrated 
Networking      Yes(1)              Yes(1)       Yes        No      No

Support for applications running on: 

DOS             Yes                 Yes          Yes        Yes     Yes
16-bit  Windows Yes                 Yes          Yes        Yes(2)  Yes(3)
32-bit  Windows No                  Yes          Yes        No      No
16-bit OS/2     No                  No           Yes(4)     Yes     Yes
32-bit OS/2     No                  No           Yes        No      Yes
Posix           No                  No           Yes        No      No


NOTES:
(1)  Windows for Networks Version.
(2)  Running Windows under DOS.
(3)  OS/2 does not run Windows 3.1 Applications.
(4)  Windows/NT supports only character-based OS/2 applications.


Scanned and uploaded by Randy Dugger with the permission of Corporate
Computing Magazine.