home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 14 Text
/
14-Text.zip
/
OS2VNT.ZIP
/
OS2VNT.TXT
Wrap
Text File
|
1992-09-08
|
32KB
|
628 lines
The Big Showdown: OS/2 v Windows NT
Paper presented at Windows World, Sydney Australia, August 1992
Abstract:
IBM's OS/2 and Microsoft's
Windows NT are both 32-bit
PC operating systems and
will compete in the
marketplace, although they
address different target
markets. IBM's product
offers new paradigms for
user interface in a quirky
implementation. Windows
NT uses considerably more
resources, but offers a
cleaner architecture for
network implementation.
Les Bell
Managing Director
Les Bell and Associates Pty Ltd
Tel +61 2 953 7619
Fax +61 2 953 0602
CIS ID 71210,104
(C) Copyright 1992 Les Bell and Associates Pty Ltd
With the final breakdown and resolution of the relationship between
IBM and Microsoft, observers can now discount many political
theories about the promotion or obstruction of the companies'
operating systems. The air is now clear. IBM has developed and is
promoting OS/2 2.0. Microsoft has developed and is promoting
Windows/NT.
It's a straightforward competition, with neither company holding any
control over the other's source code or development base. Although
IBM has a licence to resell Windows/NT, it will not be the basis for
any future version of OS/2. And although Microsoft has a licence to
resell OS/2 2.0, we are very unlikely to see any Microsoft-labelled
version of that operating system.
The two companies' future development plans call for independent
lives, with either cooperation or competition where appropriate.
The resolution allows prospective users to now evaluate these systems
on the basis of the suppliers' public statements and demonstrations.
Essentially, the value of any software depends upon two primary
factors: its technical aspects (performance, feature set, etc) and the
marketing aspects (will promotion lead to a large installed base,
developer support, etc.).
Technical Aspects
Both Windows/NT and OS/2 2.0 represent a leap forward in
sophistication, though in very different ways.
The primary distinction between Windows/NT and its precursor,
Windows 3.x, is in system stability and interprocess protection. In the
16-bit Windows world, all applications and the parent system share a
single address space, based on a single Local Descriptor Table. It is
this fundamental flaw that allows errant applications to corrupt
memory belonging to other applications or the system, and drive the
system into an unstable or crashed condition. Hence all the horror
stories about UAE's and GPF's. Windows 3.1 attempts to deal with
this by abandoning real mode totally and doing a lot more checking of
passed parameters, but the flaw still remains.
Windows/NT is a 32-bit system, and will require applications to be at
least recompiled and in almost all cases rewritten to a greater or lesser
extent. Taking advantage of this discontinuity in the compatibility
spectrum, Microsoft is capitalizing on the native-mode and protected-
mode features of the 386 processor to provide each NT-mode
application with its own address space. Only system code can run in
the most privileged execution mode, and applications are not allowed
to access hardware directly, and these features combine to produce a
much more stable environment.
Of course, when running Win16 applications, the old rules and
techniques still apply. However, although a Win16 app could corrupt
the Win16 subsystem, it cannot affect the rest of the system. (Similar
concerns apply to security issues).
The second major enhancement found in NT is its implementation of
preemptive multitasking. Windows 3.x implements non-preemptive,
or cooperative, multitasking which relies upon each application
voluntarily yielding the CPU periodically to allow other applications
to do some work. As one wag has put it, "If your brain was running
Windows, you'd have to stop breathing in order to think!".
Nevertheless, millions of users seem to get by with this system. And
that is where it works best - in front of the user, in an event-driven
environment, where the user 'drives' the applications through the
mouse and keyboard. Since Windows applications typically only do
things in response to user input, this naturally provides an appropriate
level of task granularity. It is only when events occur asynchronously -
such as handling background communications - that the coding
techniques required become, in the opinion of many, unnecessarily
tricky and complex.
NT, by contrast, uses a priority-based preemptive multitasking system,
in which the programmer is not responsible for yielding the CPU, but
instead the CPU is managed by the operating system. Tasks are
scheduled to run as necessary based on their priority and their ability
to proceed. In addition, NT supports multiple threads of execution in a
single process, making communications software and other programs
that must handle multiple asynchronous events particularly easy to
write and more powerful for the user.
OS/2, on the other hand, has had these features since version 1.0 in 1987.
Indeed, one might argue that the requirement to recompile or rewrite
programs to capitalise on these features was a major factor in OS/2's
spectacular lack of market success.
So, what's new in 2.0? Many things, but I'll pick out two almost
abitrarily.
First, compared to its precursor, OS/2 1.x, OS/2 2.0 is much better
able to run the new user's existing software. Many DOS users who
investigated OS/2 1.x discovered that some, or indeed many, of their
existing DOS applications ran badly, if at all, in OS/2's infamous DOS
Box (better known as the 'Dog Box"). And if they wanted to take
advantage of OS/2's much-vaunted multitasking capabilities, they'd
have to obtain new OS/2 versions of their applications - which took
time and money, even if the applications were available.
OS/2 2.0 capitalises on the 386 processor's VM86 mode to allow
multitasking of DOS applications, including those that require device
drivers or hardware access. Because of the popularity of Windows
applications, IBM added a Windows subsystem which is able to run
most Windows applications, and later this year, an update will add
Windows 3.1 compatibility and support for 386Enhanced mode.
The second major new feature of OS/2 2.0 is the Workplace Shell, an
object-oriented user shell which supports direct manipulation of
objects on the desktop. This is not just drag-and-drop, or OLE. This is
an environment in which the programmer designs objects as
subclasses of predefined WPS classes, and then writes new methods
for their manipulation, using a class library and metalanguage called
System Object Model. The completed application is not an EXE file
which is invoked in the old ways, but a set of dynamic link libraries
which allow the system to manipulate the new objects in a completely
consistent way.
Now, you may notice that the feature sets I have described above
address different target markets. The features added to Windows/NT
extend the Windows model to the network server, where protection
and preemptive multitasking are held to be more important than on the
desktop. Other NT features, such as security and symmetric
multiprocessor operation, reinforce this impression.
The functionality of OS/2, by contrast, is targetted at the end user
desktop, where IBM is positioning it as a high-performance
integrating platform which can run today's applications while
providing an object-oriented environment for future development. The
object-oriented graphics of the Workplace Shell, for example, have
little relevance to the network server.
The two operating systems therefore address different markets - at
least initially. While we can expect Microsoft to migrate NT down to
the desktop through its DOS6/Win32 plans, IBM will implement 32-
bit server technology in its LAN Server product. Nonetheless, the
initial target markets for the products are distinct.
Both NT and OS/2 2.0 can lay claim to being new operating systems,
while still preserving compatibility with earlier operating systems. So
how do they compare in detail?
Microkernel Design Supports Multiple API's
It is clear that no one operating system meets the needs of the entire
market. DOS, DOS plus Windows, OS/2, UNIX and various other
proprietary operating systems all exist and ship in sufficient quantities
to provide viable markets for both software developers and end users.
This diversity occasionally gives rise to the situation where a user has
identified two applications which meet his needs, but finds that they
run on different operating system platforms.
OS/2 1.0 ran into this difficulty early: users wanted OS/2 applications
but were unwilling to give up their familiar DOS applications. OS/2
2.0 set out to meet this need by providing DOS sessions based on the
386 processor's VM86 mode, but Microsoft's intensive promotion of
Windows shifted the goal-posts and a Windows subsystem had to be
added. This necessitated some changes to the kernel.
NT, by contrast, utilises a microkernel on which various API's can be
implemented. Initially, these will be the Win32, Win16, DOS, OS/2
VIO and POSIX API's, although an OS/2 PM subsystem is slated for
later inclusion. The provision of a POSIX API raises the possibility of
sales to government and other GOSIP-directed users.
The NT microkernel design effectively starts with an assumption that
multiple API's are supported on an equal footing.
While the NT kernel borrows many ideas from VMS, Mach and other
systems, it is a proprietary system. IBM, by contrast, is opting for an
open systems approach and will be basing OS/2 3.0 on the Mach
kernel. This will be able to leverage from US DOS-funded research
into such variants as fault-tolerant Mach, SMP Mach, and high-
security Mach.
Meanwhile, the OS/2 2.0 kernel is essentially designed primarily to
support the OS/2 API, with support for Virtual DOS Machines and
Windows grafted in both as a subsystem and changes to the kernel.
This is less versatile - adding a POSIX subsystem, for example, would
involve major surgery. On the other hand, the commercial value of a
POSIX subsystem remains to be shown.
Symmetric Multiprocessing
It is rumoured that Bill Gates has vowed to drive IBM out of business
by the end of the decade. Whether this is true or not, there is no doubt
that one principal feature of NT - and Microsoft's entire Windows
strategy - is to provide a scalable architecture which will take the
fight into IBM's traditional territory of mid-range and large systems.
While current-generation microprocessors do not provide a
performance anywhere near mainframe levels, nor do they compete in
I/O bandwidth, both of these issues are being addressed both in new
hardware architectures and the design of Windows NT. The rapid
market growth in cheap RISC-based workstations has focussed
attention on alternatives to traditional mini- and mainframe computer
designs, particularly in the area of UNIX and Open Systems.
Many MIS directors are ready to consider alternatives to traditional
minicomputers and mainframes, particularly in view of the increasing
use of PC's as front ends and the simplicity of using a back end which
can use the same network protocols. Connecting PC's to SNA and
other proprietary networks is expensive and definitely not
straightforward. A database server engine which can sit right on an
Ethernet or Token Ring and talk TCP/IP or even NETBIOS to the
users' PC's could bring an immediate cost benefit.
In this climate of downsizing - or rightsizing or whatever you'd like to
call it - Microsoft has been working with hardware vendors such as
NCR and Compaq to implement a scalable multiprocessor architecture
using tightly-coupled 486 processors. The NCR 3550 SMP system, for
example, is based on eight 50 MHz i486 processors, and can support
up to 28 full-height disk drives. Allowing a linear degradation of 15%
for SMP overhead, and accepting that a 50 MHz 486 is approximately
a 30 MIPS machine, we are looking at a box of approximately 204
MIPS performance.
This is certainly threatening to traditional vendors, although it must be
pointed out that it remains to be seen how these boxes compare in
terms of I/O and DASD throughput, an area in which PC architectures
have traditionally been extremely weak.
IBM is also known to have investigated SMP designs in the labs, and I
am reliably informed that a SMP version of OS/2 2.0 could be
displayed at trade shows before year end. As outlined above, IBM's
plans for OS/2 3.0 currently are based on Mach, which is already an
SMP platform.
In addition, most large organisations already have a large investment
in IBM mainframe and network hardware, not to mention the much
larger investment in support infrastructure, staff, skills, etc. OS/2
already converses reliably with IBM mid-range and large systems
using a variety of SNA protocols and capitalizes on these customers'
existing systems. Bill Gates may have a vision of putting "Information
At Your Fingertips", but one must realise that the bulk of the world's
information is stored on IBM mainframes!
RISC Platforms
An interesting feature of Windows NT is its ability to run on RISC
processors such as the MIPS R4000. In fact, the prerelease version
supplied to software developers is able to boot directly off the CD-
ROM on an R4000-based workstation.
Currently, RISC processors appear to be able to offer increased
performance over Intel-style CISC platforms of comparable cost. Even
more interesting is the prospect of NT applications on 64-bit
processors such as the DEC Alpha chip, which will provide the
horsepower required for applications which manipulate large amounts
of graphical data, such as CAD/CAM and document imaging, as well
as OLTP server applications.
The implementation of NT on R4000-based machines will provide
manufacturers with the opportunity to differentiate their products on
the basis of features rather than price, moving away from the
commodity market of PC's to the higher-priced workstation market.
In the OS/2 world, the prospect of RISC-based machines is also
viewed with interest. A lot of work in removing the X86-dependent
features of the OS/2 architecture was done in version 2.0, and
application developers are well aware of the need to write portable
code and avoid assumptions about machine features such as page size,
for example.
Already, IBM has done considerable work in porting Presentation
Manager across to AIX, and has announced plans for the release of a
version of OS/2 running on RS/6000 workstations. In fact, at this
stage, there is a race between the OS/2 and the AIX teams to see who
can implement and release the next version of the Workplace Shell!
Security
Security has always been a major obstacle to the adoption of PC's for
many mission-critical applications. It is just too easy to gain access to
privileged information held on stand-alone PC's, and while networks
have implemented security over access to servers with varying degrees
of success, most have been based on ingenious add-ins rather than a
solid fundamental design. Unfortunately, security is somewhat akin to
quality: it must be designed in, and cannot be added as an
afterthought.
With the design by Gordon Letwin of the OS/2 High Performance File
System, Microsoft took the opportunity to include facilities for the
attachment of Access Control Lists to files, and utilised that feature in
the HPFS386 component of LAN Manager 2.x. The NT security
model extends the ACL concept to most objects in the system:
sessions, desktops, windows, menus, DDE objects, files, processes,
threads and synchronization objects. Applications are required to
"open" a reference to each object before using it, and may be denied
access. This will allow implementation of a security model to NCSC
C2 level.
However, there are some problems associated with the 16-bit
Windows baggage which NT will - at least initially - have to carry
around with it. Many 16-bit Windows applications use a magic alias to
the LDT which allows them to write to it - something that provides an
easy back door around the security system. Likewise, almost all DOS
applications perform direct hardware access of some kind or another.
With C2-level security completely implemented, these applications
simply will not be able to run. So security and backward compatibility
will be mutually exclusive - you'll be able to run the old applications
or have security, but not both.
IBM has also announced that it is implementing C2-level security for
OS/2, but has not announced a timeframe for its release.
Reliability and System Integrity
As mentioned above, both Windows NT and OS/2 utilise the
protected-mode features of the 386 processor to build firewalls
between processes, unlike Windows 3.1. In both systems, processes
occupy their own address spaces and are isolated from the operating
system.
One area in which NT is claimed to have an advantage is in the
provision of separate input queues for processes and threads within
those processes. IBM programmers originally proposed multiple input
queues at the first design review for Presentation Manager back in
1986/87, but Microsoft forcefully put the case for a single input queue
in order to provide ease of migration from Windows. Today,
Microsoft points to this as a fatal design flaw in PM, and touts NT's
multiple queues as superior!
The problem, simply stated, is this: Win16 and PM programs utilise a
single thread of execution to read messages off the input queue and
process these messages (by reading files, redrawing the screen, etc.). If
an errant application ties up that thread in a spin loop, or performing
some time-consuming task, then other processes that share that thread
and input queue will receive no messages. PM gets around the
problem by having programmers place message processing in
secondary threads, and is also able to deal with 'hung' applications by
popping up a dialog box and killing the problem application. Windows
3.x just hangs.
With multiple input queues, each application will be able to read its
own input queue at its own speed without having any effect on other
processes. This has some ramifications for designers of applications
which are sensitive to the queue state and order of windows on the
screen, but the majority of applications will run without modification.
Users will see some improvement in the responsiveness of
applications and the ability of the system to survive poorly-written
applications.
However, IBM has already announced that OS/2 2.0 will move to the
multiple input queue model in the next major upgrade. Much of the
work is already done, and OS/2 2.0 will have these features by the
time NT ships or even before. This round is a draw.
High-Level Graphics
A major strength of Presentation Manager compared to Win16 is its
GPI subsystem. While Windows implements a graphical device
interface (GDI), PM's graphical programming interface has always
been able to perform2-D scaling, rotation, reflection and translation
using fixed-point matrix multiplications, as well as handling splines,
fillets and other types of curves.
NT introduces this high level of graphics to the Windows
environment, making it attractive to developers of CAD/CAM,
presentation graphics and EIS software. While high-end CAD/CAM
developers may prefer to develop their own high-level graphics
primitives, the business programmer with extensive database
experience and no graphics background finds these functions cut the
workload in EIS development substantially.
Almost without exception, programmers have praised the OS/2 API
naming conventions. All of the 1200 (approx) function calls are
prefixed with their subsystem name: Winxxx functions call the
Window Manager subsystem, Splxxx calls drive the spooler and so
on. By contrast, the Windows API is poorly organised; if you know
the function you want you can find it, but if you don't know, be
prepared to spend hours searching. Regrettably, NT does nothing to
improve this situation.
User Interface: Windows vs Workplace Shell
At this stage Windows NT has been designed to look exactly like
Windows 3.x and run Windows programs which appear much like
those in the sixteen-bit world. This provides a comfortable and
friendly environment for existing users - there are no new tricks to
learn.
OS/2 2.0 has introduced a radically different user interface for the
operating system and new applications developed for it. The
WorkPlace Shell implements an object-oriented, rather than
application-centric, paradigm for user manipulation of the
environment. Using the System Object Model, which is implemented
on top of the existing Presentation Manager, programs are written as
objects, which inherit their attributes from existing WPS object
classes, and methods which are invoked to manipulate the objects.
This model results in an environment in which objects can be
manipulated directly by popping up object menus, or dragging and
dropping. Unlike the Windows model, in which the only drag source
is the File Manager, in OS/2 all objects can be dragged and dropped at
any time.
There are no separate programs, such as the Print Manager, File
Manager and Control Panel, to manipulate the system. Instead, objects
such as print queues, disk drives and font or colour palettes are
manipulated directly. For the programmer, system objects can be
subclassed and their operation modified, ensuring consistent
operation, no coding to handle default behaviour and rich
functionality.
At this stage, the WPS/SOM model is so new that few applications
have been released for it. However, those system utilities and early
applications which are based on WPS/SOM display a much higher
level of integration than has been seen in any previous system.
The closest equivalent in the Windows world is Object Linking and
Embedding (OLE) which is built upon Dynamic Data Exchange.
While OLE/DDE is therefore a communications protocol rather than
an object oriented methodology, it can produce some impressive
effects in linking applications together. A high priority at IBM
(number three on the 'to-do list' for the next upgrade) is the mapping
of OLE to SOM, to further integrate the OS/2 and Windows
environments.
Some way down the track, Microsoft plans to produce a similar
object-oriented environment, code-named Cairo. Regardless of its
technical merits, the Cairo proposal has one major advantage: the pre-
release support and involvement of Microsoft's applications
developers. While IBM has seen fit to deliberately avoid competition
with the applications developers it relies upon to drive demand for its
systems, Microsoft is under no such constraints. The simultaneous
release of an object-oriented derivative of Windows together with a
suite of tightly-integrated Microsoft applications would have a greater
impact on the PC market than anything that has happened before.
Of course, a question the developer has to ask himself is, should he
develop for an operating system which is so obviously only a short-
term interim platform and will be replaced with a new object-oriented
system? And if you have to ask which system I'm talking about . . .
API Changes
The goal for Windows NT was to make it possible for developers who
had written their code with some degree of care, to produce a 32-bit
version of their program by simply recompiling it with no source code
changes. This goal has not been achieved. Instead, Microsoft has
introduced a new API, called it Win32s, and is using the attraction of a
32-bit API which will run under Windows 3.1 in 386 Enhanced mode
as a stepping-stone to the full Win32 API. This is an attractive
strategy; it will allow developers to produce 32-bit applications which
can provide higher functionality to Windows 3.1 users and at the same
time are able to exploit at least some of the features of NT.
Essentially, it positions Windows 3.1 as an entry-level introduction to
the more powerful version of Windows.
In addition, Microsoft will follow up with a future version of NT-
mode Windows which will run in top of a multitasking and
multithreaded DOS 6.0.
So, developers will find that generating 32-bit Windows applications
is not as simple as had at first been promised. However, in return, they
will gain access to a larger - albeit somewhat stratified - market than
the original NT-only market.
Another point which developers should bear in mind is the large number
of undocumented function calls - over 200 according to some sources - in
Windows 3.x. These are extensively used by Microsoft applications software,
yet unknown to their competitors at Lotus, Word Perfect, Borland et al. It
would seem that Microsoft's application developers enjoy somewhat of an
advantage over their competitors.
By contrast, the OS/2 API changed only in the areas of memory management and
sempahores in the transition from 1.x to 2.x, and the author knows of only
four undocumented function calls.
Required Hardware Platform
Both these systems require a rather larger system than the average
DOS user likes to contemplate. While the minimum system for OS/2
2.0 is 4 MB of RAM and 12 MB of hard disk space, the majority of
users are upgrading to eight or more megabytes of RAM for
performance reasons. A larger hard disk also allows the user to install
options such as the DOS and WIN-OS/2 subsystems, and the applets.
Currently, NT is still in pre-beta form, but all indications are that it
will be a gross consumer of resources. Current guidelines indicate that
a 12 MB memory machine will be the minimum requirement, and
some users are indicating their plans to use 16 MB and even 32 MB
machines for development. Disk space requirements are also hard to
quantify at this stage, as much depends upon the particular
configuration of subsystems and applications.
Performance
Much has been made in recent months about the relative performance
of Windows running DOS applications, OS/2 running Windows
applications and other permutations which the various promoters have
selected to show their favoured platform in a good light and the
competitor in a bad.
In essence there is little to compare here and little point in comparing.
Potential users who are concerned with performance should perform
their own benchmark tests utilising native applications wherever
possible.
Marketing
OS/2 2.0 has shipped over one million copies by now, but most
observers would have to agree that this has occurred despite IBM's
marketing and not because of it. In part, this can be laid at the door of
IBM's US National Distribution Division (NDD - known to the Boca
Raton OS/2 developers as "Nickel and Dime Division"), who forecast
only 80,000 sales for OS/2 and geared up to manufacture and
distribute only that many. Now that NDD has been relieved of these
responsibilities and the advertising. marketing and production are
under Boca's direct control, IBM's promotional activities are
improving rapidly.
With the release of Windows 3.0 and 3.1, Microsoft has shown that it
can certainly market PC software. Although many of the figures being
quoted have to be regarded with suspicion, due to the practice of
counting licenses sold to OEM's as opposed to copies shipped, copies
shipped as opposed to copies used, and users who have purchased 3.0
and a 3.1 upgrade as two users, nonetheless it is clear that there are a
lot of copies of Windows out there.
Already NT has shipped approximately 4,500 pre-beta copies.
Ability to Integrate Into Mini/mainframe Networks
One area where OS/2 has a clear advantage is in its ability to integrate
into IBM mainframe and minicomputer networks. IBM's Extended
Services 1.0 provides an SNA communications subsystem which is an
excellent platform for the implementation of client-server
applications, and the integration of APPN (Advanced Peer-to-Peer
Networking) shows that IBM is rapidly learning about rightsizing.
Recommendations and Conclusions
OS/2 2.0 has now shipped well over a million copies, and some would
point out that IBM hasn't even started advertising it yet. While this is
small compared to the total PC market (which some not terribly
reliable estimates put at 70 million machines), it is enough to make
OS/2 2.0 viable and an attractive environment for software developers
who want to sell to corporate customers and don't want to compete
with Microsoft in the applications arena. There is a huge selection of
software available, including OS/2 1.x and rapidly-emerging OS/2 2.0
32-bit applications, and of course, a lot of DOS and Windows
applications.
Windows NT has not yet shipped as a retail product; however,
developer interest is high and Microsoft is aggressively promoting
beta test copies and developer tools.
From the end-user's perspective, OS/2 offers opportunities for
o corporate-developed applications with significant user-interface
components
o distributed database applications linking PC front ends with
IBM back ends
o users who wish to utilise a mixture of DOS, Windows and
OS/2 applications
NT offers opportunities for
o developers and users of the server component of client-server
applications
o users who find 16-bit Windows is not stable enough for their
needs
o corporate users who need a higher level of security than is
provided by current systems
Both systems are not for the average desktop. Users who simply
perform some word processing and update the occasional spreadsheet
will derive little benefit from these systems in comparison with the
cost of the required hardware.
The one group that has reason to thank both Microsoft and IBM is the
hardware manufacturers, who will sell more powerful, more expensive
systems with more memory than ever before.
As to which will sell more copies: Paul Maritz of Microsoft estimates
that NT will sell between 10% and 20% of the total Windows market.
Currently, opinions vary widely as to the size of the Windows
marketplace, especially copies in use, as opposed to copies shipped or
sold or licences sold; however, the most credible estimates put the
market at between 7 and 10 million copies world wide.
One should also bear in mind that Microsoft's previous attempt to win
the server market away from Novell with Microsoft LAN Manager (in
the author's opinion a better platform for client-server implementation)
has not been an inspiring success. NT will face competition not just
from IBM with OS/2, but also from Novell Netware.
That gives NT a likely target market of 700,000 to two million copies.
Now, to date, IBM has sold over a million copies of OS/2 2.0 and
expects to sell between 1.5 and 2 million copies by year end. In fact,
as print and TV advertising, and volume shipments to corporate users
kick in, the rate of adoption will likely increase. This indicates that
OS/2 will almost certainly outsell Windows NT, and this is consistent
with OS/2's workstation and NT's initial server orientation. There are
many more workstations than servers out there.