Article View: comp.os.os2.programmer
Article #1349OS/2 vs NT features list, Revision 1.4
From: Brian Sturgill
Date: Wed, 02 Sep 1992 23:03
Date: Wed, 02 Sep 1992 23:03
426 lines
15059 bytes
15059 bytes
I have decided this list is mature enough to go bother the
people in the programmer groups with it. After it gets kicked
around a bit more I'll post it again (in the same manner), so
don't worry about missing it if you don't follow the advocacy group.
FOLLOWUPS ARE REDIRECTED ONLY TO THE ADVOCACY GROUPS, PLEASE LEAVE IT
THAT WAY.
The list below is one we've been kicking around in comp.os.os2.advocacy
for a few days. It is intended as information about the state of features
between the two. While NT is not yet released, much of it's features
are already in the pre-release. This list seeks to explore the
difference now, and in the near future between the two systems.
Relevant add-on packages for OS/2 are also discussed.
Warning: I develop for both systems, but have a bias towards NT.
I do try to be fair though.
NOTE TO THE COMP.OS.MS-WINDOWS.ADVOCACY PEOPLE.
The natural thing for you to do when you see the number of features
NT has over OS/2 is to be mean to OS/2. 1) This will only
provoke the c.o.os2.advocacy people to point out known points
like NT's not out + favorite MS bashes. 2) OS/2 is quite powerful
as it is, and stands a good chance of being slimmed down enough to
run on Windows 3.X sized systems. For all users, bigger is
not necessarily better. 3) If IBM starts bundling it's add-on packages
at reasonable prices, OS/2 is not nearly so far behind. 4) If you really
have to... please change the subject line and start another thread.
-----------
OS/2 vs NT features list, Revision 1.4
A "#" at the beginning of a line signifies that it has been
changed this revision. An "@", signifies it is new this revision.
An "!" indicates a point that definitely needs more information.
One of the characters in front of a paragraph or a section title
implies it is for the whole unit.
Deletions in this revision:
The request for a detailed feature list for LAN Server.
Multiple growable heaps. // DosSubSetMem and friends do the same job.
I hope to keep this thread having a high information content level.
If you feel the need to bash either OS using this list, please do
so in a separate thread. People bashing in this thread will be ignored.
If you have correction/additions/deletetions please jump right in. If
you're not sure and don't want to suggest it publically, e-mail me...
If I don't know for certain already, I have access to nearly all the
available docs for OS/2 and NT.
If you know of a feature that one or the other will add in the future AND
you have a time frame. Send it and the time frame along.
Please specify the source of the information.
Here is a list of relevant "list" prices.
NT list price < $500. (Source: NT dev conf, InfoWorld)
OS/2 2.0 list price $195 (Src: Programmer's connection)
OS/2 2.0 Multimedia add-on*** $149 (Source: product announcement
posted to USENET.)
OS2 TCP/IP Base Kit** $200 (Source: product announcement
found on ftp-os2.)
OS2 LAN Server 2.0 Entry Package* $795 (Source: press release
found on CompuServe.)
*** OS/2's and Windows NT Multimedia support seem to be equivalent.
I have only seen OS/2's MM feature list though, so feel free to
correct this if you've seen both.
** OS/2 2.0's TCP/IP Base Kit contains more programs
than comes with NT. (NT comes with only "client" programs.)
However programming OS/2's TCP/IP requires a $500 programmers
toolkit, and this ability comes with NT's SDK for free. Thus
I pretend it's an even swap. Obviously for some, even many users
this isn't the case. As NT has Berkeley sockets I suspect
that freeware based on Berkeley's daemons will soon appear and make
even this a moot point.
#
* Windows NT's networking features (beyond TCP/IP) are roughly equivalent
to the OS/2 LAN Server 2.0 "Entry Package". Here I only have access to
a features list, so if you have experience with both please
jump in.
***********
The lists below are of features in the BASIC system package.
***********
Features currently in OS/2 2.0 but not in Windows NT
Object Oriented Shell (WorkPlace Shell)
Great DOS support
Mediocre Windows 3.0 support (NT's is currently poor).
Is actually released.
Runs without a GUI.
@ Can boot non-DOS systems in a VDM.
@ Can be configured with less features to use less memory than NT.
If you add OS/2 2.0's memory requirements for the
base package + TCP/IP base + MM + Lan Server Entry you get:
6 + 1 + 1 + 3 = 11 megs. NT currently requires 12 and is
targeted to use 8 megs. Thus I content neither has
a real edge in memory usage when counting relevant add-ons.
Features currently in Windows NT but not in OS/2 2.0
System tables dynamically extensible.
In other words no arbitrary limits of 256 processes or
1024 open files, etc.
Quota and and Statistics hooks for most system objects.
Full symmetric multiprocessing support.
Generic wait on multiple events/semaphores of different types.
This is helps prevent deadlocks. Consider the classic
deadlock example: Two processes, P1 and P2, both want
to access tape drives A and B. P1 locks A and waits for
B, P2 locks B and waits for A. Deadlock.
With the generic wait facility you say wake me when
I have both A and B. This mechanism prevents many
deadlock problems.
Automatic stack expansion.
OS/2 2.0 does not (in the general case) have dynamic stack
extension. Someone inside IBM (and others) sent me this story.
Thread 1's stack is statically sized according to the value
you set in the executable at compile time. Worse, all pages
of this stack are committed as the process starts, so you
don't want to grossly oversize the stack. All other threads
do have dynamic stack extension. Doing this somehow made
compatibility with older API's easier.
Global VM/File Buffer Cache.
This is a common feature in most modern operating
systems. It apparently makes disk consistency
easier to manage.
All but 60K kernel is pageable. (Microkernel design)
All means All... everything but a small piece
is pageable.
Memory mapped files
Asynchronous I/O
OS/2 1.X had this feature but for unexplained
reasons dropped it in 2.0. While you can do it
with threads, you can also multi-task in DOS...
all you have to do is write the code that intercepts
the timer interrupt and swaps the processes.
Apparently the 16-bit API DosReadAsynch, DosWriteAsynch
still exist in thunked form.
Deitel and Kogan don't mention them... anybody
know why they're being phased out?
! Console API
Please remain calm on this one... I am just hoping for
some information. OS/2 2.0 only supports the
Console API via 16-bit thunked-calls. In theory
the 16-bit calls are there only for backwards compatibility.
Anybody know what the future plans are?
DOS, (later POSIX), OS/2 1.X and NT console apps use the same window.
If you bring up an NT command prompt and run a DOS program
the output occurs in the same window. Contrast this
with OS/2 2.0... if you run the DOS "ls" command in an
OS/2 window a DOS window appears... the output flys by and
the window closes; often before the output can be read.
Platform independent device driver support.
Platform independence means independent of the
hardware on which NT runs. The device driver people
at the NT developers conference did not seem to
believe this at first either... but after a long
set of questions seemed convinced this was more or
less possible. (A smaller head file contains the
few differences that are necessary between platforms.)
Dynamic loadable/unloadable file system and device drivers.
Generalized Registry. (database as replacement for '.ini'
files)
Rather than have a "config.sys" and other initialization
files, all system data is put into a tree-structured
database.j
Pen Support.
Windows 3.1 support.
Fully 32-bit drivers.
GUI
Fully 32-bit API
Fast client/server approach.
Separate queues per process.
PM and Windows 3.X have one message queue for all
applications.
Designed to help accellerators.
The internal routines have been changes so that
drawing commands are buffered and sent to the
underlying graphics drivers in a manner that
can take advantage of graphics accellerator cards.
OLE
Good _published_ debug hooks.
Security
C2 level (not certified)
ACL's for all objects.
Logons.
E-Mail API (X.500, can use X.400 as a transport)
B2 hooks
Advanced form of setuid().
This allows servers with appropriate privileges
to impersonate a client's identity to
so that work can safely be performed on behalf
of a client.
RPC
DCE support
OLE integrated with RPC
RPC has corresponding LPC
NTFS
Fast Recovery (CHKDSK gigabyte volumes in a few seconds.)
High Reliability
Hard Links
Case-Sensitive Filenames
# Automatic 8.3 names
NTFS supports both long names and short ones.
The short one is generated automatically
if the long one it does not fit the 8.3 pattern.
This is done so that DOS apps can see long-named
files too. In effect a file has TWO names, one
long and one short.
ACLS
UPS support.
Volume Stripping(RAID 0) (Not just for NTFS)
Multimedia
Audio
Waveform
MIDI
CD-source
Media Control Interface.
High-speed file streaming.
Async event controllable.
Networking
TCP/IP
Peer-peer file and printer sharing.
Ability to support multiple vendors as transports
w/common admin.
Good network admin facilities.
SNMP
Berkely sockets.
Named pipes.
Event logging.
Fast Hyper-text Help System. (OS/2's is much slower.)
I've used both, NT's is faster, though it
has less features than OS/2's.
NT's is of course a variant of Windows 3.1's
help program (which is different from
the Windows 3.0 one).
Developers provided with a common installation program.
More SuperVGA drivers.
@ An NT user can change their environment (e.g.) PATH without
having to reboot for it to take effect.
@ NT can generically use more than 16 megs of memory.
OS/2 only uses the memory above 16 megs as
a form of fast cache.
@ Has seemless support for 16-bit Windows apps on XGA and 8514 displays.
# changed both headers below to say "in the fall" as both companies
# are now using that term in their official announcements.
OS/2 2.0 will add the following in the Fall.
Catch up to NT by having Windows 3.1 support.
Catch up to NT by adding a 32-bit GUI.
Catch up to NT by allowing 32-bit drivers.
@ Catch up to NT by having seemless support of 16-bit Windows
apps with XGA and 8514 displays.
@ Installable from CD-ROM and diskettes.
# Slim-down such that it will properly fit in 4 megs.
@ Ship it's DDK (actually DAK Device Adaptation Kits).
Probably will pass NT in SuperVGA support.
Windows NT will add the following in the Fall.
Catch-up to OS/2 in 16-bit Windows 3.0 compatibility.
Smarter, easier to use OLE, first step toward Cairo.
POSIX (1003.1 -- the system calls)
Tape API
Win32s (Run NT programs under Windows 3.1)
! Remote booting (Diskless/dataless workstations)
(Some say OS/2 has this now... is this in the base package?)
(There is also a question as to whether or not an NT
Lan Manager server will be required to be able to do this.)
Remote installation and maintenance support.
This was demoed at the NT conference. The administrator
on one machine sent a single command that told another
machine it was to get a new version of the OS.
The other machine told it's user that it was about to
shutdown... shutdown, accepted the new OS, rebooted.
All without manual intervention on the client side.
NTFS
Symlinks
Sparse File
@ Ship it's DDK.
@OS/2 will add the following in 4Q92 or 1Q93:
Pen API (possibly as an add-on).
@NT will add the following in 4Q92 or 1Q93:
Catch up to OS/2 by actually being released.
OS/2 will add the following near October 1993:
C2 and B1 security (RACF).
Apparently there is a procedure called a PRPQ that
allows you to get it now. It is not yet certified.
Windows NT will add the following sometime in 1994:
Cairo
Cairo combines an OO shell (has a similar flavor to WPS)
with an OO file system and OO networking. Publically
available details are sketchy. Prototypes have been
demoed to a lucky few.
***********
The lists below are of features in add-on packages.
***********
LAN Manager for Windows NT (Available at the time of NT's release)
RAID 5
Mirroring
System admin tools for support of a site up to 50,000 nodes.
![MICROSOFT PEOPLE -- surely there's more to LM 4 NT... details?]
OS/2 Multimedia (Avaliable now)
(As far as I can tell from the feature list descriptions
the only feature below without an analog in NT is the
"Multimedia Data Converter Applet".)
Amp/Mixer Support
CD Digital Audio Support
MIDI Sequencing and Synthesizer support
Media Control Interface Support
Multimedia I/O Manager
Multimedia drivers cross over into DOS and Windows support.
Synchronization/Streaming API
Videodisc control
Waveform Audio Support
Applets
MM Setup
Multimedia Data Converter Applet
Player Applets
Volume Control
#OS/2 Lan Server 2.0 Entry Package (Avaliable now)
(As far as I can tell from the feature list, NT's base package
has most of this + Local security + better RPC - (possibly)
remote booting for clients, so let's call it even.)
UPS support
User Profile Management
Error logging facility
Remote booting
Domains
Limited RPC
According to PC-Week does not have peer-to-peer abilities.
#OS/2 Lan Server 2.0 Advanced Package (Not available for OS/2 2.0 yet)
(Includes features of Entry Package above.)
Local security
Higher throughput.
Fault tolerance (disk duplexing and disk mirroring)
Brian
--
C. Brian Sturgill *** OS/2 2.0 is for YOU! ***
University of Utah Microsoft needs some competition, but
Center for Software Science -I- want to be one of the many using NT.
brian@cs.utah.edu; CIS: 70363,1373 :-) :-) :-)
Technical Details
Message-ID:
<1992Sep2.170400.10092@hellgate.utah.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!caen!hellgate.utah.edu!jaguar.cs.utah.edu!brianShow Full Headers
Complete Article Headers
Newsgroups: comp.os.os2.programmer,comp.os.os2.advocacy,comp.os.ms-windows.advocacy,comp.os.ms-windows.programmer.win32 Path: arc1-ca.pugleaf.net!sparky!uunet!caen!hellgate.utah.edu!jaguar.cs.utah.edu!brian From: brian%jaguar.cs.utah.edu@cs.utah.edu (Brian Sturgill) Subject: OS/2 vs NT features list, Revision 1.4 Date: 2 Sep 92 17:03:59 MDT Message-ID: <1992Sep2.170400.10092@hellgate.utah.edu> Followup-To: comp.os.os2.advocacy,comp.os.ms-windows.advocacy Originator: brian@jaguar.cs.utah.edu Organization: University of Utah CS Dept Lines: 426