I've decided that the list has settled down enough that it is time to shut it down. Everybody interested should read through the whole thing one last time and do their final screaming. :-) I've only posted to the advocacy groups this time. The final revision will be posted to the programmer groups too. OS/2 vs NT features list, Revision 1.9 KEY TO CHANGE MARKERS 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. (I don't mark grammar or spelling corrections.) Deletions in this revision: Fully 32-bit drivers. // There is some question about // whether or not OS/2 does this already, and // I doubt it's worth fighting over // as OS/2 will soon fix this anyway. Catch up to NT by allowing 32-bit drivers. // Same as above. -----------------Begin text of draft of final list--------------------- @ September XX, 1992 @ INTRODUCTION The purpose of this list is to contrast the features of OS/2 2.0 and Windows NT. This list was incrementally developed in the USENET groups: comp.os.os2.advocacy and comp.os.ms-windows.advocacy, with input solicited from the comp.os.os2.programmer and comp.os.ms-windows.programmer.win32 groups. The list is by no means complete. It is likely that it still contains inaccuracies and omissions. But I do believe that in general it reflects the flavor of the two systems. I develop software for both systems, but have a bias towards Windows NT. In collecting this list I tried to be fair, but in the end the decisions of what is or is not in this list are mine and are no doubt still somewhat biased. To help alleviate that bias I asked Tim Sipples (maintainer of the OS/2 2.0 FAQ list) if he would prepare a rebuttal. It appears as the last section of this document. I hope this list will be useful to people wishing to understand both OS/2 and NT. Please feel free to pass this list on to any interested party, but leave its content unaltered. Brian Sturgill brian@cs.utah.edu (Disclaimer: This list reflects only my personal views as modified via interaction with people that responded to my postings. It does not necessarily reflect the views of any organization with which I am affiliated.) @ OVERVIEW This list is actually a list of lists of lists. The lists are organized as follows: BASE PACKAGES Current Future ADD-ONS Current Future OTHER COMPARISONS Resource Usage Relevant List Prices The features in the lists below are unordered. The degree to which a feature is explained has nothing to do with its importance. I added explanations mainly when the other OS camp asked for a clarification, or on features that I felt would be confusing without one. BRIEF EXPLANATION OF WHY I SHOW THE BASIC SYSTEM PACKAGES FIRST The base features of an OS make a lot of difference in what sort of apps will be developed for it. For example a recent freeware program for the Macintosh used sound clips from a recent Bush speech to randomly generate new speeches. If it were not the case that all modern Macintoshes have sound support in hardware and software, it would have been much less likely the author would have gone to the trouble. Another example, suppose there is a telephone package that answer/logs/places calls using a specialized board. Under NT everybody has RPC, so it would not be surprising to find such a package having a feature that could alert another system via RPC that a call has come in. Likewise it could send the notification (or even a WAV file of a saved voice-message) via e-mail as there is a built-in Mail API in NT and the MM features are there to play back the message under a Windows 3.X or NT system. As OS/2 currently markets features such as MM and RPC as options, how likely do you think it is that developers would use them in main-stream applications, especially low-end ones? ************* BASE PACKAGES ************* Features in OS/2 2.0 GA but not in the pre-beta Windows NT Object Oriented Shell (WorkPlace Shell) Great DOS support REXX NT comes with no equal script/batch language. Windows 3.0 support (NT has it too, but it is not as good). Is actually released. Except when simply comparing features, this "feature" is of course a quite important difference. I assume people realize that it means that NT does not yet have support, polished documentation, NetWare support, etc. Supports OS/2 1.X PM apps. Comes with more applets. SOM (A generic object wrapper package) It is used by WPS for its objects. Those objects can also be used by other applications. Supports Windows 2.0 apps. Can run without a GUI. Installable from CD-ROM and diskettes. Can boot non-DOS systems in a VDM. Can be configured to work well in 6 megs of memory. Optional direct access to hardware from VDMs. # Allows performance tuning by "twiddling" parameters. (Unfortunately, sometimes you need to.) This item is meant only to contrast its philosophy with NT. OS/2 tends to allow finer but static control over system resources. Features in the pre-beta Windows NT but not in OS/2 2.0 GA # Designed to be a self balancing system. (Unfortunately, sometimes you can't "twiddle" as much as you want to.) This item is meant only to contrast its philosophy with OS/2. NT tends to balance resources via heuristics with limited user input. 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. System objects are things like processes, threads, files, semaphores, etc. NT has the hooks necessary to set per-user quotas on objects. It also contains monitoring facilities in each of these objects so that statistics on their use can be gathered. In many instances these "hooks" are already in use, especially in the area of monitoring facilities. Full symmetric multiprocessing support. Memory mapped files Asynchronous I/O It turns out that NT's version of async I/O requires you to give it a data buffer at the time you issue the I/O request, so this form is only marginally better than simulating async I/O with threads. IBM is dropping the feature because their underlying implementation was using threads anyway. 32-bit Console API OS/2 2.0 only supports a Console API via 16-bit thunked-calls. These calls are not documented in OS/2 2.0-specific programming literature. 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. In other words if you run a mix of DOS, OS/2 1.X, and NT commands from the command line, their output appears 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 appears and the window closes; often before the output can be read. Has a cleaner, more modern design than OS/2 2.0. The Presentation Manager portion of the OS/2 2.0 API is somewhat more clean than its NT counter-part. But in nearly every other area, NT's design is cleaner. NTs kernel has a much more modern design than OS/2 2.0. It was designed from the beginning to be portable. 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 small header file contains the few differences that are necessary between platforms.) Dynamically loadable/unloadable file system and device drivers. Runs on more than one architecture. In addition to the Intel architecture, it runs on ACE compliant MIPS R4000; both uniprocessors and multiprocessors. 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. (In this release not all programs utilize this.) OS/2 does keep some files (e.g. OS2.INI, OS2SYS.INI) in a binary format to avoid parsing overhead. Windows 3.1 support. GUI Fully 32-bit Graphics Engine. Separate queues per process. PM and Windows 3.X have one message queue for all applications. NT's implementation of this feature does not suffer from the problem of misdirected type/mouse ahead. (At least I couldn't make it mess-up on my system.) 32-bit OLE E-Mail API (X.500, can use X.400 as a transport) Security C2 level (not certified) ACL's for all objects. Logons. B2 hooks Advanced form of setuid(). This allows servers with appropriate privileges to act as a surrogate for a client so that work can safely be performed on behalf of that client. RPC DCE support OLE integrated with RPC RPC has corresponding LPC All system API calls that take strings, take UNICODE strings. (ANSI wrappers are provided.) NTFS (Note: NTFS has all features of HPFS, NT has FAT and HPFS too.) 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. UNICODE file names. Volume Striping(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 Berkeley sockets (WinSock compliant). Named pipes. (Both NT and OS/2 GA have non-networked ones.) Event logging. (Both NT and OS/2 GA have this in non-networked form.) 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 initial environment without having to reboot for it to take effect. Under NT if a user want to do the equivalent of changing their PATH environment in config.sys, they go to the Control Panel, make the edit, then logout and back in again. This is much faster than waiting through a reboot. (Yes, both can change individual command line environments from the command line, this is not nearly the same thing. For example it does not affect programs launched from the GUI.) Has seamless support for 16-bit Windows apps on XGA and 8514 displays. OS/2 2.0 will add the following in the Fall. Slim-down such that it will properly fit in 4 megs. Ship its DDK (actually DAK, Device Adaptation Kits). Probably will pass NT in SuperVGA support. Catch up to NT by having Windows 3.1 support. Catch up to NT by adding a 32-bit graphics engine. Catch up to NT by having seamless support of 16-bit Windows apps with XGA and 8514 displays. 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) NTFS Symlinks Sparse Files Ship its 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. NT will add sometime in 1993: # Catch up to OS/2 by adding compatibility with OS/2 1.X Presentation Manager applications. 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. Publicly available details are sketchy. Prototypes have been demoed to a lucky few. Cairo will also have a BASIC-based, object oriented, visual, scripting/batch language. @ OS/2 will add the following by September 1994: Symmetric Multiprocessing and Portability. This will be done by putting OS/2 on top of the Mach 3 micro-kernel. This will be done in conjunction with putting AIX on the same platform. Applications will run from both environments simultaneously. ******* ADD-ONS ******* 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. Remote booting (Diskless/dataless workstations) Remote 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 its user that it was about to shutdown... shutdown, accepted the new OS, rebooted. All without manual intervention on the client side. Cost: Unknown OS/2 Multimedia (Available 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". Further discussions with someone inside IBM shows that OS/2 has MM synchronization features not found in NT. (No earth-shakers but they make things easier.) Also NT has a slight lead in that they handle limited video, but OS/2 has better video facilities in currently in beta. In general the two are definitely quite similar feature-wise. ] 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 Cost: $149 OS/2 LAN Server 2.0 Entry Package (Available 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. Cost: $795 OS/2 LAN Server 2.0 Advanced Package (Not available for OS/2 2.0 yet) (Includes features of Entry Package above.) Local security Remote maintenance support higher throughput. Fault tolerance (disk duplexing and disk mirroring) Cost: $2,295 OS/2 LAN Sever 3.0 (Due by year end) (Of course all the features from above) Clients can do peer-to-peer file and printer sharing. Has user or share level security (similar to LAN Server Entry's security). Support for running LAN Server over TCP/IP. Advanced version works under 2.0. Cost: Unknown Asymmetric multiprocessing support for OS/2 2.0 (Due by year end) Will start being bundled in October with PS/2 model 295's. Available in more a generic form in December. OTHER ADD-ONS IBM seems to have more specialized add-ons available for OS/2 2.0 than I am willing to type in. Please just assume that in terms of such add-on features NT will be behind for a while. Examples: X, Extended Services, Database Server, etc. ***************** OTHER COMPARISONS ***************** RESOURCE USAGE Memory 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 contend neither has a real edge in memory usage when counting relevant add-ons. Disk Space Currently OS/2 2.0 base package + TCP/IP + MM + LAN Server Entry Package requires more disk space than NT does, this is unfair to OS/2 though as NT has some of it's help files missing (or not fleshed out). Basically it is too early to say anything useful here. 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.) OS/2 LAN Server 2.0 Entry Package* $795 (Source: press release found on CompuServe.) Total OS/2 2.0 (near-NT cnfg)****$1,339 **** This configuration is of course not 100% equivalent. This OS/2 configuration has REXX, truly excellent VDMs, and the WPS, etc over NT's base package. NT has numerous extra OS-type features, Logons, an e-mail API, Symmetric multiprocessing, NTFS, etc over the OS/2 configuration. All in all though I believe if there is error in calling this a "near-NT cnfg", then I'm giving the break to OS/2, so hopefully the OS/2 people can accept this cost comparison, however painful it may be for them to do so. *** 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. @ ---------------------------------------------- THIS LIST WAS FORMED USING THE FOLLOWING RULES ---------------------------------------------- If you have correction/additions/deletions please jump right in. If you're not sure and/or don't want to suggest it publicly, e-mail me... 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. Time frames should be no further out than the end of '94, and preferably before the end of '93. Please specify the source of the information. Time frames do not have to be exact, make-it-or-we'll-die shipping dates. They need to be a date official and firm enough that if the company involved misses by more than 50% more time, then they will be embarrassed. For example the "June" in "June" CSD clearly qualifies. This date, while not "official", was well publicized and openly encouraged by IBM officials as a time frame for the CSD. To avoid things getting entirely out of hand please restrict things to the systems level sorts of stuff. For example servers such as the OS/2 Database Server 2.0 are not strictly speaking OS features. Unfortunately, these things are hard to define as PC OS's regularly muddy traditional lines in this area. Also, things from third-parties don't count. Corrections of grammar, spelling, etc are welcomed. -------------------------- REBUTTAL FROM AN OS/2 USER -------------------------- By Timothy F. Sipples Brian has asked me to prepare a "rebuttal" to offer my objections to his NT v. OS/2 feature list. I have few criticisms as to the particulars in his list, and I won't discuss most of these remaining criticisms here. However, a simple list does not reflect any sort of weighting. This weighting depends on your perspective, but, in general, several points listed in the OS/2 "column" are big ones, while several in the NT "column" deal with what many readers would consider minor technical points. First, OS/2 2.0 is a released operating system, in use by more than a million people (and growing). NT, as of this writing, is only available on CD-ROM in what is euphemistically called "pre-beta" form. Roughly 10,000 developers have obtained this pre-beta according to Microsoft reports. This fact makes comparisons between the two systems extremely difficult, to say the least, for several reasons (support mechanisms, variation in released NT specs, quality of implementation, performance, documentation, availability of bug fixes, tolerance of hardware, etc). Also, OS/2 2.0 incorporates the Workplace Shell, which, in just two words, changes the way people use PCs. NT will rely on the Windows 3.1 Program Manager / File Manager dichotomy, which, according to most reviewers (and, as the sales of Norton Desktop can attest) is growing a bit long in the tooth. And when REXX is listed in the OS/2 column, that one word means an awful lot, namely that the system has a common scripting (and general purpose programming) language. Superior DOS and Windows compatibility is also an extremely important feature -- OS/2 happens to be, according to most reviewers, the best DOS multitasker on the market. Backward compatibility is vital in the PC market, and NT will be hard pressed to improve on OS/2 in this area. These three features are immediately apparent to any user, and obvious differences tend to mean more to sales than extremely narrow, more esoteric differences. The two companies have different philosophies on PR. IBM tends to announce ship dates and future directions at a fairly late stage of development, and they, more often than not, meet those dates. Microsoft tends to preannounce almost every aspect of their product line, and, more often than not, fails to meet announced ship dates and/or changes direction readily. There are merits to both approaches (oddly enough), but one should appreciate the differences, namely that several future OS/2 features (Distributed PM, X Server, Novell Netware Server) did not make Brian's list simply because no "official" date has been released (although they have been demonstrated by IBM at trade shows, for example). And these planned features are extremely important. The world's most popular LAN server software will be available for OS/2 2.0, not for NT, it seems. OS/2 will apparently have distributed GUI features (both with X and PM) well before NT even introduces their object-oriented graphical shell. NT and OS/2 are likely to be sold very differently. While Brian's cost analysis and memory requirements comparisons are literally correct, most people do not buy operating systems as the tables would suggest. IBM's philosophy with OS/2 is to have a low cost of entry (namely as low as $79) to the base package and to offer almost any system software add-on, implemented in top-of-the-line fashion, one could possibly want for an extra charge (e.g. Extended Services, TCP/IP, SPM/2, DCF/2, etc). This approach might be called the "a-la-carte" method of operating system sales. Microsoft, on the other hand, appears to be readying NT for a substantially higher entry cost (in the vicinity of $300 to $500) for a base package with more features (and, not incidently, heftier system requirements). With few exceptions, every NT feature can be replicated in OS/2 (but not the reverse), albeit through an add-on (usually one available from IBM) or in bundling suitable to the situation (e.g. the multiprocessor version of OS/2). Brian, in his preface, argues that NT's approach is better, since developers can write applications which utilize high end features without worrying about whether a given customer's installation has that feature. I personally prefer OS/2's approach, and I think most mainstream developers might, too, simply because having a lower cost to entry helps assure a larger user base. PCs are increasingly sold in "a-la-carte" fashion (allowing the purchaser to choose that video adapter, this hard drive), and I think there are distinct advantages to doing the same with system software. IBM has learned a great deal from OS/2 1.x, lessons which I fear Microsoft has not, particularly in the areas of backward compatibility, low cost of entry, and manageable system requirements. NT, on paper, looks terrific for the LAN server, but, there, too, is cause for concern, since Novell Netware Server is not slated for NT. The remaining criticisms leveled at OS/2 apply doubly to NT, I'm afraid. I hope I am wrong. Competition is always healthy, and I suspect that these two systems (and others: Solaris, other Unix offerings, etc.) will achieve reasonable market penetration. My advice to developers, for whatever it is worth, is to keep your options open. That means developing for OS/2 (or you'll be left behind, I can assure you -- just look at the sales figures and start coding) and keeping tabs on NT. Cross platform development tools are definitely worth investigating. (Users have an easier decision, namely to use what works best for them, using hands on evaluation. Try to avoid the hype on all sides.) T.F.S. --------------end of text of final draft----------------------------