











                                                  A TECHNICAL GUIDE TO OS/2 2.0







                                                                   January 1993


                                                                 Martin McElroy


                                        European Personal Systems Center (EPSC)
                                                                    Basingstoke
                                                                             UK
                                                              MCELROM at NHBVM7
                                                              +44 (0)256 343204








































                         A TECHNICAL GUIDE TO OS/2 2.0

































































  IBM                    A TECHNICAL GUIDE TO OS/2 2.0


























































































































                                                                             ii









  NOTICES
  _______





  TRADEMARKS
  __________

  The following terms are trademarks or registered trademarks of the IBM
  Corporation in the United States and/or other countries:

     OS/2                                              Extended Services
     Presentation Manager                              NetView
     WIN-OS/2                                          Workplace Shell
     AIX                                               IBM
     DB2                                               DDCS/2
     Operating System/2                                SQL/DS
     OS/400                                            RISC
     PS/2                                              RISC System/6000
     Systems Application Architecture                  SAA
     SAA Distributed Database Connection Services/2    SQL
     System/370                                        Audio Visual Connection

  All trademarks appearing in this document are owned by their respective
  companies.


  DISCLAIMER
  __________

  Some of the information in this paper concerns future products, or future
  releases of products currently commercially available. The discussion
  regarding Microsoft Windows is based upon information which the Microsoft
  Corporation has made publically available, and is subject to change.  The
  description and discussion of IBM's future products, performance, functions
  and availability are based upon IBM's current intent and are subject to
  change.


  SPECIAL NOTICES
  _______________

  References in this publication to IBM products, programs, or services do not
  imply that IBM intends to make these available in all countries in which IBM
  operates.

  Any reference to an IBM program, product or service is not intended to imply
  that only IBM's program, product or service may be used. Any functionally
  equivalent program, product or service may be used instead.

  IBM may have patents or pending patent applications covering subject matter
  in this document. The furnishing of this document does not imply giving any
  license under any patent or pending patent.





                                                                   Notices  iii









  PREFACE
  _______





  This document describes the features and benefits of OS/2 Version 2.0 from a
  technical perspective.  It is aimed at customer technical staff, software
  developers, IBM staff, dealers and business partners, and anyone else who
  needs to understand the detail of how OS/2 2.0 has been designed and
  implemented.  Its primary aim is to help those evaluating the product to
  understand why OS/2 2.0 is the platform of choice for the 90s.

  The structure of the document is designed to lead the reader from an
  awareness of the needs of the PC systems of the 90s, to an understanding of
  how OS/2 2.0 meets those needs. It therefore covers the design of OS/2 as
  well as its key features, and goes on to discuss future directions for OS/2.
  The guide can either be read sequentially, in its entirety, or individual
  sections may be used for reference purposes, relating to specific aspects of
  OS/2 (such as DOS compatibility).  To help in the latter use, here is a
  summary of the aim and contents of each section:

  OS/2 VERSION 2.0 sets the background against which OS/2 has been developed.
  ________________
  It describes how the PC environment is radically different from that of the
  80s, and the resulting needs of customers deploying PC systems. It also
  recounts how OS/2 has been designed to address those needs, culminating in
  release 2.0.

  WHY OS/2? outlines the most important reasons why OS/2 is the platform of
  _________
  choice for the 90s. It is a summary of the arguments provided in the rest of
  the document. It can be regarded as a management summary, and as such is
  designed so that it can also be used standalone, separate from the rest of
  the document. It is suitable for use in proposals, or customer reports on
  OS/2 2.0.

  OS/2 2.0 KEY ELEMENTS prefaces the three chapters on DOS, Windows and OS/2
  _____________________
  support that follow, by describing some of the technologies that underpin the
  whole system. Features such as multi-tasking, hardware support, 32-bit design
  and Multiple Virtual DOS Machines (MVDM) are the foundation for many of the
  specific aspects described in the three sections that follow.  They are also
  fundamental to understanding OS/2's superiority to DOS-based systems.

  BETTER DOS describes the extensive support for DOS applications, and the ways
  __________
  in which OS/2 2.0 provides a better environment for running DOS applications
  than DOS itself. This section includes discussion of the memory usage,
  protection and the steps taken to ensure the widest possible compatibility
  with existing DOS applications.

  BETTER WINDOWS begins by explaining some of the aspects of DOS/Windows 3.x,
  ______________
  in order to show how OS/2 2.0 provides a better Windows environment. An
  important factor is the discussion of how DOS/Windows 3.x is used widely for
  running multiple DOS applications, perhaps even more than for running Windows
  applications. This leads on to a description of how OS/2 2.0 is a superior
  multi-DOS environment, which also runs Windows applications, supporting


                                                                    Preface  iv









  Windows features such as DDE, clipboard and OLE. The section concludes with a
  brief discussion of why many developers are already porting their Windows
  applications to OS/2, and some of the tools available to help.

  BETTER OS/2 describes some of the additional features in OS/2 2.0 compared
  ___________
  with OS/2 1.3.  It illustrates the benefits of a 32-bit OS/2, and discusses
  migration from 16-bit OS/2 1.x.

  WORKPLACE SHELL discusses the user interface of OS/2 2.0. It begins by
  _______________
  outlining the reasons why OS/2 2.0 uses a new user interface model, and the
  benefits it provides. Emphasis is placed on the fact that users have greater
  flexibility to work the way they want, and concentrate on the information
  they are working with, not the steps the computer needs to follow.  This
  section also describes some of the components and features of the Workplace
  Shell, comparing them with older GUI systems like DOS/Windows.

  OS/2 IN A CONNECTED ENVIRONMENT points out how OS/2 2.0 is the client of
  _______________________________
  choice in client-server systems, and is the base for a family of products
  which connect the OS/2 client into LAN, mini and host based systems,
  including open systems. Some of the OS/2 products that offer these features
  (Extended Services, OS/2 LAN Server, TCP/IP for OS/2) are briefly described.
  Another crucial element in considering connected, rather than standalone
  systems, is the ability to support systems management tools, so that the cost
  of maintaining and managing the system does not exceed the benefits.  This
  section also discusses migrating from older connectivity products such as
  DOS-based terminal emulators and networking products.

  FUTURES describes some of the areas in which OS/2 is expected to be enhanced
  _______
  to address the growing sophistication of PC usage, and emerging technologies
  such as distributed computing, multimedia and object-oriented technology. It
  aims to provide an understanding of the framework within which OS/2 will
  continue to develop throughout the 90s.

  The APPENDICES give some background information on OS/2 2.0 and comparisons
      __________
  with other environments.

  APPENDIX A  compares OS/2 2.0 features with those of DOS/Windows 3.x,
              including a detailed comparison of support for DOS applications
  APPENDIX B  discusses the hardware requirements for OS/2 2.0 and gives a
              summary of performance considerations and tuning hints.
  APPENDIX C  gives a guide to other books, publications and materials relating
              to OS/2 2.0, where the reader may find more information.

  To use the guide most effectively, it is important not only to understand its
  contents, but also its purpose.  Although the document is technical in
  nature, it does not aim to be a technical reference.  This is beyond the
  scope of a document of this length.  Those looking for such details should
  consult the OS/2 Technical Compendium referenced in the Appendices (see
  Appendix C, "Further reference materials" on page 153).  This guide stands in
  technical content and level of detail, between the product information
  brochure, and the comprehensive discussion of the OS/2 Technical Compendium.

  The guide covers OS/2 function in the release made generally available at the
  end of March 1992.  It gives some discussion of planned updates to be made


                                                                     Preface  v









  available during 1992, but details may change before such updates are
  available.  Readers are advised to check with IBM representatives or
  Authorised Dealers for specific dates and functions.

  Although this guide is suitable as an introduction to OS/2 for software
  developers, it is NOT intended as a developers' guide. Issues for programmers
                    ___
  are dealt with only as they affect the fundamental OS/2 architecture or in as
  much as they concern the OS/2 user. More detailed information for OS/2
  programmers may be obtained from your local IBM contacts or via the OS/2
  Developer Assistance Program, or on local bulletin boards or Compuserve.

  No guide to OS/2 can pretend that the product exists only in a standalone
  environment. The chapter OS/2 IN A CONNECTED ENVIRONMENT discusses how OS/2
                           _______________________________
  2.0 is ideally suited to the needs of the connected PC, whether it be
  LAN-based, or integrated within an enterprise network. It also describes in
  brief some of the other members of the OS/2 family, such as Extended Services
  for OS/2, or OS/2 LAN Server. However, detailed discussion of these products
  would probably double the size of the document. A separate technical guide
  covering the OS/2 systems extensions is planned (contact your IBM
  representative for more information).

  References to Microsoft Windows 3.x are made to denote the versions of
  Windows currently available (3.0 and 3.1) which act as an extension to DOS,
  running on a DOS base.  The term, "Windows 3.x"  is used throughout the guide
  where the comment is applicable to both 3.0 and 3.1.  A specific version
  number is used when talking only about one or other release.  References in
  this document to Windows/NT (which Microsoft has announced they expect to
  ship in 1993) are based on information which the Microsoft Corporation has
  made publicly available.



























                                                                    Preface  vi









  CONTENTS
  ________





  NOTICES  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  III
  Trademarks   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  iii
  Disclaimer   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  iii
  Special notices  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  iii

  PREFACE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   IV

  FIGURES  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   VIII

  TABLES   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   VIII

  OS/2 VERSION 2.0   . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
  The changing PC environment  . . . . . . . . . . . . . . . . . . . . . . .  1
  Cheaper processors and memory  . . . . . . . . . . . . . . . . . . . . . .  3
  OS/2 so far  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3

  WHY OS/2?  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  The best of both worlds  . . . . . . . . . . . . . . . . . . . . . . . . .  5
  Broad appeal   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  Freedom of choice  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
  A productive environment for the user  . . . . . . . . . . . . . . . . . .  6
  Better DOS, Windows and OS/2   . . . . . . . . . . . . . . . . . . . . . .  6
  A platform you can rely on   . . . . . . . . . . . . . . . . . . . . . . .  7
  Superior connectivity  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
  The integrated system  . . . . . . . . . . . . . . . . . . . . . . . . . .  8
  32-bit power   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
  Platform for growth  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
  Value for money  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
  Exploits today's investment, and is a base for the future  . . . . . . .   10

  OS/2 2.0 KEY ELEMENTS  . . . . . . . . . . . . . . . . . . . . . . . . .   11
  32-bit   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
    Flat memory model  . . . . . . . . . . . . . . . . . . . . . . . . . .   11
    Large memory address space   . . . . . . . . . . . . . . . . . . . . .   12
    Virtual memory   . . . . . . . . . . . . . . . . . . . . . . . . . . .   12
    Mixed 16-/32-bit environment   . . . . . . . . . . . . . . . . . . . .   12
  Intel 386/486 exploitation   . . . . . . . . . . . . . . . . . . . . . .   13
    Growth in processor power  . . . . . . . . . . . . . . . . . . . . . .   13
    386/486 now majority of shipments  . . . . . . . . . . . . . . . . . .   14
    386SX versus DX  . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
    486SX and DX   . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14
    Features of 386 chip used by OS/2 2.0  . . . . . . . . . . . . . . . .   14
  Multiple Virtual DOS Machines (MVDM)   . . . . . . . . . . . . . . . . .   18
    Contrast with OS/2 1.3 DOS support   . . . . . . . . . . . . . . . . .   18
    Memory: Conventional, Expanded, Extended   . . . . . . . . . . . . . .   21
    MVDM memory management   . . . . . . . . . . . . . . . . . . . . . . .   23
    Virtual Device Drivers (VDDs)  . . . . . . . . . . . . . . . . . . . .   24
  Multi-tasking  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   28


                                                                  Contents  vii









    Why do I need multi-tasking?   . . . . . . . . . . . . . . . . . . . .   28
    What is pre-emptive multi-tasking?   . . . . . . . . . . . . . . . . .   29
    Why is it important?   . . . . . . . . . . . . . . . . . . . . . . . .   30
    Multi-tasking and the user interface   . . . . . . . . . . . . . . . .   33
  File systems   . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   34
    High Performance File System (HPFS)  . . . . . . . . . . . . . . . . .   34
    Enhanced FAT   . . . . . . . . . . . . . . . . . . . . . . . . . . . .   35
    SCB exploitation   . . . . . . . . . . . . . . . . . . . . . . . . . .   35
  Broad hardware support   . . . . . . . . . . . . . . . . . . . . . . . .   35

  BETTER DOS   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   38
  Multiple DOS applications  . . . . . . . . . . . . . . . . . . . . . . .   38
  Application integration  . . . . . . . . . . . . . . . . . . . . . . . .   39
  Multi-tasking of DOS applications  . . . . . . . . . . . . . . . . . . .   40
    Pre-emptive multi-tasking  . . . . . . . . . . . . . . . . . . . . . .   40
    Overlapped I/O   . . . . . . . . . . . . . . . . . . . . . . . . . . .   40
    Access to OS/2 file system   . . . . . . . . . . . . . . . . . . . . .   41
  Memory usage   . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   41
    Comparison with memory usage under DOS   . . . . . . . . . . . . . . .   41
    Expanded and Extended Memory   . . . . . . . . . . . . . . . . . . . .   43
    Multiple DOS applications - effect on memory   . . . . . . . . . . . .   44
  Reliability and protection   . . . . . . . . . . . . . . . . . . . . . .   44
  Compatibility  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   45
    Overcoming OS/2 1.3 limitations  . . . . . . . . . . . . . . . . . . .   45
    DOS device drivers   . . . . . . . . . . . . . . . . . . . . . . . . .   46
    What DOS version?  . . . . . . . . . . . . . . . . . . . . . . . . . .   47
    DOS Settings   . . . . . . . . . . . . . . . . . . . . . . . . . . . .   47
    Migrating applications   . . . . . . . . . . . . . . . . . . . . . . .   51
    Virtual Machine Boot (VMB)   . . . . . . . . . . . . . . . . . . . . .   51
  DOS extenders  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   52

  BETTER WINDOWS   . . . . . . . . . . . . . . . . . . . . . . . . . . . .   53
  What is MS-Windows?  . . . . . . . . . . . . . . . . . . . . . . . . . .   54
    Windows 3.x modes  . . . . . . . . . . . . . . . . . . . . . . . . . .   54
    Windows 3.x key aspects  . . . . . . . . . . . . . . . . . . . . . . .   55
  OS/2 versus Windows as a multi-DOS environment   . . . . . . . . . . . .   60
    Memory   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   60
    Reliability  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   61
    Performance  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   62
    Integration  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   63
  Running Windows applications under OS/2  . . . . . . . . . . . . . . . .   65
    Standard mode support  . . . . . . . . . . . . . . . . . . . . . . . .   65
    386 Enhanced mode  . . . . . . . . . . . . . . . . . . . . . . . . . .   66
    Contrast with previous approaches (BCL)  . . . . . . . . . . . . . . .   67
    How they run   . . . . . . . . . . . . . . . . . . . . . . . . . . . .   67
    Full Screen or Seamless  . . . . . . . . . . . . . . . . . . . . . . .   69
    Clipboard/DDE  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   72
    Windows 3.1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   74
  A better Windows?  . . . . . . . . . . . . . . . . . . . . . . . . . . .   74
  Porting Windows applications to OS/2   . . . . . . . . . . . . . . . . .   75
    IBM/Micrografx porting tools   . . . . . . . . . . . . . . . . . . . .   77

  BETTER OS/2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   78
  Compatibility  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   78


                                                                 Contents  viii









  Graphical installation   . . . . . . . . . . . . . . . . . . . . . . . .   78
    Boot Manager   . . . . . . . . . . . . . . . . . . . . . . . . . . . .   80
  OS/2.0 - the 32-bit system   . . . . . . . . . . . . . . . . . . . . . .   80
    Why 32-bit OS/2?   . . . . . . . . . . . . . . . . . . . . . . . . . .   81
    Migration 16- to 32-bit  . . . . . . . . . . . . . . . . . . . . . . .   84
    OS/2 - a 32-bit API - TODAY  . . . . . . . . . . . . . . . . . . . . .   84

  WORKPLACE SHELL  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   87
  Why another user interface?  . . . . . . . . . . . . . . . . . . . . . .   87
  An INFORMATION-oriented user interface   . . . . . . . . . . . . . . . .   89
  Workplace Shell components   . . . . . . . . . . . . . . . . . . . . . .   90
    User interface elements  . . . . . . . . . . . . . . . . . . . . . . .   90
    Controls   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   95
    Applets  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   96
    Extra facilities   . . . . . . . . . . . . . . . . . . . . . . . . . .   96
    Adobe Type Manager (ATM)   . . . . . . . . . . . . . . . . . . . . . .   99
    LAN-independent shell  . . . . . . . . . . . . . . . . . . . . . . . .  101
    System Object Model (SOM)  . . . . . . . . . . . . . . . . . . . . . .  103
  Moving from a previous GUI   . . . . . . . . . . . . . . . . . . . . . .  104
  Benefits of the Workplace Shell  . . . . . . . . . . . . . . . . . . . .  107
    Easy to learn  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  107
    Flexible   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  107
    Personal   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  107
    Simple   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  108
    Compatible   . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  108
    Consistent   . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  108
    Information-oriented   . . . . . . . . . . . . . . . . . . . . . . . .  108
    Integrating  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  108

  OS/2 IN A CONNECTED ENVIRONMENT  . . . . . . . . . . . . . . . . . . . .  109
  OS/2 for client-server   . . . . . . . . . . . . . . . . . . . . . . . .  109
  The OS/2 family of networking extensions   . . . . . . . . . . . . . . .  111
    Extended Services for OS/2   . . . . . . . . . . . . . . . . . . . . .  111
    DDCS/2   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  112
    OS/2 LAN Server  . . . . . . . . . . . . . . . . . . . . . . . . . . .  112
    NetWare from IBM   . . . . . . . . . . . . . . . . . . . . . . . . . .  114
    LAN Enabler  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  114
    IBM Network Transport Services/2   . . . . . . . . . . . . . . . . . .  115
    Open systems connectivity  . . . . . . . . . . . . . . . . . . . . . .  115
  Systems management   . . . . . . . . . . . . . . . . . . . . . . . . . .  116
    IBM LAN NetView family   . . . . . . . . . . . . . . . . . . . . . . .  117
    Configuration, Installation, Distribution (CID)  . . . . . . . . . . .  118
    Commitment to open standards   . . . . . . . . . . . . . . . . . . . .  120
  Migration from existing connectivity products  . . . . . . . . . . . . .  120
    Networking on OS/2   . . . . . . . . . . . . . . . . . . . . . . . . .  120
    DOS communications applications under OS/2   . . . . . . . . . . . . .  121

  FUTURES  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  123
  OS/2 1992 developments   . . . . . . . . . . . . . . . . . . . . . . . .  123
  32-bit system extensions (communications, database, LAN)   . . . . . . .  124
  Multimedia   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  125
  Pen-based computing  . . . . . . . . . . . . . . . . . . . . . . . . . .  126
  Systems management   . . . . . . . . . . . . . . . . . . . . . . . . . .  127
  Presentation Manager futures   . . . . . . . . . . . . . . . . . . . . .  127


                                                                   Contents  ix









    32-bit implementation  . . . . . . . . . . . . . . . . . . . . . . . .  127
    Continuing object-oriented direction   . . . . . . . . . . . . . . . .  128
    Distributed PM   . . . . . . . . . . . . . . . . . . . . . . . . . . .  128
  Object-oriented environments   . . . . . . . . . . . . . . . . . . . . .  128
  Distributed computing  . . . . . . . . . . . . . . . . . . . . . . . . .  130
  AIX interoperability   . . . . . . . . . . . . . . . . . . . . . . . . .  132
  Future Windows compatibility   . . . . . . . . . . . . . . . . . . . . .  132
  Portable version of OS/2   . . . . . . . . . . . . . . . . . . . . . . .  133
  Conclusion   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  134

  -----------------------------------------------------------------------------
  APPENDICES   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  135

  APPENDIX A.  COMPARISON TABLES   . . . . . . . . . . . . . . . . . . . .  136
  DOS environments   . . . . . . . . . . . . . . . . . . . . . . . . . . .  136
  OS/2 2.0 compared with Windows 3.0/3.1   . . . . . . . . . . . . . . . .  139

  APPENDIX B.  HARDWARE REQUIREMENTS AND PERFORMANCE   . . . . . . . . . .  146
  Minimum requirements   . . . . . . . . . . . . . . . . . . . . . . . . .  146
  Processor  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  147
  Memory size  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  147
  Disk space   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  149
  Performance considerations   . . . . . . . . . . . . . . . . . . . . . .  150
  Tuning hints   . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  152

  APPENDIX C.  FURTHER REFERENCE MATERIALS   . . . . . . . . . . . . . . .  153
    IBM ITSC OS/2 2.0 Technical Compendium ("Red Books")   . . . . . . . .  153
    The OS/2 Developer (previously Personal Systems Developer)   . . . . .  154
    Personal Systems Technical Solutions   . . . . . . . . . . . . . . . .  154
    OS/2 White Papers  . . . . . . . . . . . . . . . . . . . . . . . . . .  154
    IBM OS/2 Information   . . . . . . . . . . . . . . . . . . . . . . . .  155
    IBM OS/2 Applications Solutions Directory  . . . . . . . . . . . . . .  156
    CUA Vision materials   . . . . . . . . . . . . . . . . . . . . . . . .  156
    OS/2 in the Corporate Environment  . . . . . . . . . . . . . . . . . .  157
    OS/2 Notebook  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  157
    The Design of OS/2   . . . . . . . . . . . . . . . . . . . . . . . . .  157
    Other OS/2 Books   . . . . . . . . . . . . . . . . . . . . . . . . . .  158
    OS/2 Monthly   . . . . . . . . . . . . . . . . . . . . . . . . . . . .  160
    Moving to the Workplace Shell video  . . . . . . . . . . . . . . . . .  160
    OS/2 Frequently Asked Questions (FAQ)  . . . . . . . . . . . . . . . .  160
    OS/2 2.0 Information and Planning Guide  . . . . . . . . . . . . . . .  160

  APPENDIX D.  OS/2 BULLETIN BOARD SYSTEMS   . . . . . . . . . . . . . . .  161
  IBM Bulletin Boards  . . . . . . . . . . . . . . . . . . . . . . . . . .  161
  Other BBSs   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  163











                                                                    Contents  x









  FIGURES
  _______





   1.  Processor shipments and decreasing memory prices  . . . . . . . . . .  3
   2.  Memory: Conventional, Expanded, Extended  . . . . . . . . . . . . .   21
   3.  How VDDs work   . . . . . . . . . . . . . . . . . . . . . . . . . .   26
   4.  Multi-tasking under Windows 3.x   . . . . . . . . . . . . . . . . .   30
   5.  Multi-tasking under OS/2  . . . . . . . . . . . . . . . . . . . . .   31
   6.  Multiple DOS applications in windows on the Workplace Shell desktop   38
   7.  DOS application memory space - a comparison   . . . . . . . . . . .   41
   8.  DOS Settings notebook   . . . . . . . . . . . . . . . . . . . . . .   47
   9.  Migrate Applications object   . . . . . . . . . . . . . . . . . . .   51
  10.  Windows application sales as a proportion of total PC application
       sales   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   57
  11.  Number of Windows applications in the top 20 selling applications     58
  12.  Windows user survey quoted in PC Magazine June 11, 1991 issue   . .   59
  13.  Single and Multiple application Windows groups  . . . . . . . . . .   68
  14.  Windows Full Screen and Seamless Sessions   . . . . . . . . . . . .   70
  15.  How Seamless Windows works  . . . . . . . . . . . . . . . . . . . .   71
  16.  Installation program - progress indicator   . . . . . . . . . . . .   79
  17.  Comparison of 32- and 16-bit performance - REXX   . . . . . . . . .   81
  18.  OS/2 Workplace Shell  . . . . . . . . . . . . . . . . . . . . . . .   88
  19.  Development of user interface   . . . . . . . . . . . . . . . . . .   89
  20.  Container   . . . . . . . . . . . . . . . . . . . . . . . . . . . .   95
  21.  Slider  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   96
  22.  Notebook  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   96
  23.  Master Help Index   . . . . . . . . . . . . . . . . . . . . . . . .   98
  24.  LAN Server Tree view  . . . . . . . . . . . . . . . . . . . . . . .  101
  25.  Folder with network resources   . . . . . . . . . . . . . . . . . .  102
  26.  Dragging a shadow of a network resource to the desktop  . . . . . .  102
  27.  Drag and drop printing on the network   . . . . . . . . . . . . . .  102
  28.  The OS/2 family of networking extensions  . . . . . . . . . . . . .  109
  29.  OS/2 - an object-oriented future  . . . . . . . . . . . . . . . . .  130




















                                                                    Figures  xi









  TABLES
  ______





   1.  Memory management models  . . . . . . . . . . . . . . . . . . . . .   15
   2.  DOS environments - OS/2 1.3 and 2.0 compared  . . . . . . . . . . .   19
   3.  Virtual Device Drivers  . . . . . . . . . . . . . . . . . . . . . .   27
   4.  Multi-tasking - Windows 3.x and OS/2 2.0  . . . . . . . . . . . . .   32
   5.  Memory comparison: OS/2 2.0, DOS 5.0, Windows 3.1 enhanced mode   .   42
   6.  Some VDM DOS Settings   . . . . . . . . . . . . . . . . . . . . . .   48
   7.  Windows 3.x and OS/2 1.3 vs. Workplace Shell  . . . . . . . . . . .  105
   8.  OS/2 systems management tools   . . . . . . . . . . . . . . . . . .  116
   9.  Comparison of DOS environments  . . . . . . . . . . . . . . . . . .  138
  10.  OS/2 2.0 compared to Windows 3.0/3.1  . . . . . . . . . . . . . . .  139
  11.  OS/2 product information  . . . . . . . . . . . . . . . . . . . . .  156







































                                                                    Tables  xii









  OS/2 VERSION 2.0
  ________________





  THE CHANGING PC ENVIRONMENT
  ___________________________

  In 1981, when IBM introduced the first IBM Personal Computer, no-one
  anticipated how much it would change the face of the computer industry. In
  the first half of the 1980s, PC use was mainly confined to improving personal
  productivity by using spreadsheets, word processors and other widely
  available applications.

  However, it has been clear from the mid-1980s and beyond that the PC needs to
  perform a broader role in the organisation. As greater amounts are spent on
  PC technology, more is being demanded, and increasingly the PC is being seen
  as a "window" on the enterprise, a single screen from which company-wide
  information resources can be accessed, and a base for mission critical,
  "line-of-business" applications that previously would only have run on a
  mainframe. Thus, PCs have been increasingly connected together in Local Area
  Networks (LANs) and to host computers, making them a critical part of the
  corporate data network.

  In addition, new technologies like Graphical User Interfaces (GUIs) and
  multimedia, along with greater connectivity, offer the potential to provide
  even more information in an easily accessible manner, so that not only can
  more USES be found for PCs, but also more USERS. In this way, PCs can be used
       ____                                 _____
  to transform the business, not just increase productivity or automate
  existing processes.

  And the trend towards "rightsizing" applications continues, moving critical
  applications to PCs on a LAN, using a client-server approach. The market
  analysts Forrester Research published a report in May 1992, identifying the
  growth in demand for a new "super client," driven by the migration of
  business applications towards LANs and client-server.

  Unfortunately, much of this remains an aspiration, rather than reality. An
  article in a June 1990 issue of PC Week said that the PC must now "grow up,"
                                  _______
  saying that PCs must be considered as  "business tools," not
  "microcomputers."

  But a number of requirements must be in place before the PC can "grow up" and
  before the "super client" can emerge:

  o   "INDUSTRIAL STRENGTH" RELIABILITY:  unless the PC can demonstrate itself
      __________________________________
      to be as robust an environment as the host computer, it cannot expect to
      take over some of the applications the host runs today, nor even
      participate fully in sharing those applications via a client-server or
      co-operative processing setup.  There is little point in having a
      reliable server or host if the client platform is unstable.

  o   NETWORKING "BUILT IN": the PC environment needs to allow straightforward
      ______________________
      and simultaneous connection to a variety of other platforms:  LAN,


                                                            OS/2 Version 2.0  1









      mid-range, UNIX and mainframe, and to be able to handle the variety of
      communications protocols that results from the multi-vendor environment
      in most companies.

  o   PERFORMANCE:  the PC platform must demonstrate that it can adequately
      ____________
      share the processing load, by exploiting the power of the base hardware.
      Since most client-server and connectivity applications will require
      multiple processes, the ability to run several concurrent tasks
      efficiently is fundamental.  In this respect, the requirement for
      performance measurement goes beyond the simple benchmarking of one
      application at a time, and leads towards determining overall throughput
      and concurrency.

  o   WIDE APPLICATION CHOICE: the platform of the 90s should build on
      ________________________
      compatibility with existing productivity applications, and allow
      "mission-critical" applications to be developed for the same platform, so
      that the user's system can handle both business and productivity
      applications.

  o   EASE OF USE AND LOW TRAINING COSTS:  in expanding the use of the PC,
      ___________________________________
      additional complexity in terms of communications and multiple
      applications are inevitably introduced.  These must be implemented while
      presenting the user with a way of working the system that is as easy to
      learn and adapt to as possible, both for the user's sake (for better user
      adoption) and for the organisation's (in less "down time" while learning
      the system).  This applies not only to existing users: to expand the use
      of the PC and bring in more users, to make it a truly business system,
      barriers to learning the system must be lowered.

  o   EASILY MANAGED: put simply, the costs of installation, integration,
      _______________
      maintenance and updates most not exceed the benefits of running the
      system.

  o   INVESTMENT PROTECTION:  all of these aims must be achieved without
      ______________________
      completely starting from scratch.  To retain users' comfort and
      capitalise on the existing investment in applications and hardware,
      maximum use must be made of the systems and applications in place, where
      possible integrating them with the new systems. But the design of such a
      system should offer compatibility, but not be constrained by the past.
      Investment EXPLOITATION is as important as protection in the long term.
                 ____________

  All in all, the requirements of the PC systems of the 90s can be summed up in
  one word: INTEGRATION. The means of integration will be software, and in
            ___________
  particular the operating environment.  Once the basis is there, applications
  to exploit it will follow.  In short, an advanced operating system is needed
  for the PC of the 1990s, one that can exploit the benefits of the ten years'
  worth of productivity applications, while moving the PC platform forward to
  address the needs of the 1990s and become a "business" machine, rather than
  just a productivity tool.







                                                            OS/2 Version 2.0  2









  CHEAPER PROCESSORS AND MEMORY
  _____________________________

  Some of the obstacles to the widespread use of an advanced platform, such as
  high memory costs and insufficient processor capacity, are now being removed.
  Memory prices have fallen dramatically over the last three or four years, and
  the recent development of the 16 megabit DRAM chip means that memory is being
  packaged in ever larger units (4MB or in future 8MB at a time).  This will
  continue the rise in the average amount of memory installed in PCs:  in 1992,
  nearly all IBM PS/2s using an Intel i386SX processor or above, ship with at
  least 4MB of memory installed as standard, and nearly all other PC vendors
  are doing the same.  Indeed, 8MB is no longer an unusual configuration, and
  many high end machines can be installed with 16 and even 32MB of memory.

  Furthermore, processor power is increasing rapidly, and Intel's i386
  processor family (i386SX and i386DX) has become the largest volume Intel
  processor shipped in PCs.  According to industry estimates, in 1991, the
  majority of new PC shipments had a 386SX or above, and by the mid-1990s this
  figure will increase to over 90% as the i486 ships in greater volume. In
  fact, recent changes in the competitive microprocessor market, have led to
  large reductions in prices on even 486 chips, particularly the 486SX, so that
  some vendors are even using the 486SX as the mainstream processor across
  their product range.  Therefore, 32-bit processors, whether 386 or 486,
  completely dominate new shipments of PCs.

  The result of this is that the new PCs shipped have a minimum of a 386SX and
  4MB of memory, and commonly a 486SX and perhaps 8MB.  This enables
  substantially more to be done with the PC platform and, in particular, an
  advanced operating system base that can really begin to fulfil the PC's
  potential.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 1. Processor shipments and decreasing memory prices

  OS/2 SO FAR
  ___________

  In the mid-1980s, IBM realised the need for an advanced platform, and saw
  that single-tasking DOS was not likely to be able to meet these demands.  IBM
  therefore set out with Microsoft to develop OS/2.  In 1987, the first
  character-based version, OS/2 1.0 appeared, followed by the inclusion of the
  Presentation Manager GUI in Version 1.1 (1988), and by Version 1.2 in 1989.
  These were all based on the Intel 80286 (286) processor's protected mode, and
  were therefore 16-bit releases.  Intel 386-based machines were supported, but
  their full 32-bit potential was not exploited because of the requirement to
  support the large base of 286 machines at the time.

  These first releases provided the basis for a "platform of the 1990s," but
  the learning curve involved in providing the operating system function itself
  and in developing applications to exploit it, proved a greater challenge than
  expected.




                                                            OS/2 Version 2.0  3









  In 1990, IBM took over chief responsibility for the 16-bit versions of OS/2,
  and later that year, produced Version 1.3, which has become a widely used
  platform among companies who are beginning to develop in-house
  "line-of-business" applications, benefiting from its multi-tasking, large
  memory, industrial strength robustness and protection between processes. In
  addition, 1.3 provided these capabilities with lower memory requirements than
  previous releases, while adding extra features such as high quality font
  support via the built-in Adobe Type Manager.

  Although OS/2 1.3 has been highly regarded as a platform for line-of-business
  applications, limits in the capability of the 286 processor set bounds on
  what could be achieved in terms of compatibility with the existing range of
  DOS productivity applications. This, in turn, placed limits on the level of
  integration between new applications and the existing, extensive installed
  base of DOS applications.

  OS/2 2.0, which first shipped in March 1992, has been designed to build on
  the strengths of OS/2 1.3, such as multi-tasking and threading, robust
  protection between applications, and large memory support.  It adds to those
  facilities, greater compatibility with the existing installed base of DOS and
  Windows applications, so that users can choose from the widest range of
  applications on an Intel-based platform.  Because it is designed for 32-bit
  processors like the 386 and 486, it can escape the limitations of the 286,
  and provide not only a better platform for supporting old applications, but a
  new foundation for 32-bit applications which can fully exploit the
  capabilities of the 32-bit hardware.  That is why OS/2 2.0 is the INTEGRATING
                                                                    ___________
  PLATFORM, bringing together the investments of the past, and providing a base
  ________
  for the future.




























                                                            OS/2 Version 2.0  4









  WHY OS/2?
  _________





  This section summarises the reasons why OS/2 is the platform of choice for
  the 1990s:


  THE BEST OF BOTH WORLDS
  _______________________

  In the PC environment of the 90s, where both personal productivity and
  line-of-business applications are required, only OS/2 can satisfy both needs.
  It provides a better platform for DOS applications than DOS itself, and runs
  the widest range of DOS and Windows applications, as well as being the best
  platform for running in-house mission critical applications, with its
  industrial strength, robust protection, and powerful multi-tasking.  You
  don't have to choose between different systems for your different needs -
  OS/2 can do both.


  BROAD APPEAL
  ____________

  OS/2 2.0 is, therefore, a platform of broad appeal, not just for high end
  usage, or for niche applications like servers, but as a client system, and a
  productivity machine.  You do not need to be a "power user" to appreciate the
  benefit of running several DOS and Windows applications on a reliable base.
  Not only the features of the product, and the applications it can run, but
  its price and the breadth of PC systems it can run on, have been planned to
  address the widest possible audience of PC users. And this has already been
  proved to be true. On August 12th, 1992, IBM announced that it had shipped
  one million copies of OS/2 2.0 since its initial shipment in March. This
  represents, according to data from independent estimates, an initial success
  comparable to that claimed for DOS/Windows 3.0 in 1990.

  During the first ten years of the PC, users, IS staff, and developers found
  it difficult to arrive at a common platform: DOS and Windows satisfied the
  users's needs for productivity applications, but lacked the reliability and
  full connectivity support to be trusted in mission-critical environments by
  IS staff and developers, whose systems remained mostly on the mini and
  mainframe.  However, OS/2 2.0 is a platform that can appeal to all three
  communities; the right choice for the IS strategy, can now also be the
  platform that developers and users can choose for themselves.


  FREEDOM OF CHOICE
  _________________

  Today's computing environment can be confusing: the sheer variety of options
  can be overwhelming. And in making choices about hardware and software
  platforms, it is difficult to follow a path which keeps a wide range of
  options open. Too often choices can be constrained by compatibility issues or
  by a limited growth path. OS/2 2.0 aims to simplify the decision by providing
  a free choice: the widest range of applications on a wide range of hardware.


                                                                   Why OS/2?  5









  OS/2 2.0 can run DOS, Windows and OS/2 16-bit applications; it provides the
  widest choice of applications on an Intel-based platform. More and more
  32-bit OS/2 applications are appearing, making the choice even greater. In
  fact, OS/2 2.0 is such a good environment for DOS and Windows applications,
  that even if you only use DOS applications on a 386-based machine, OS/2 2.0
  is the best environment to run them in.

  Furthermore, all applications running under OS/2 2.0, whether DOS, Windows or
  OS/2 applications, gain added value from working together; they can share
  information and be run from the common Workplace Shell desktop.  This not
  only protects your current investment in DOS, Windows and OS/2 applications,
  but adds value to them by integrating them together.

  OS/2 2.0, and Extended Services and OS/2 LAN Server, are supported on a wide
  range of IBM-compatible hardware as well as IBM PS/2s.  This means you can
  run OS/2 with confidence on hundreds of machines from vendors including
  Compaq, Olivetti, Dell, Hewlett Packard and Toshiba, and with IBM support.
  In fact, even though IBM cannot test OS/2 on all the models and manufacturers
  in the market, it is likely that most PCs equipped with an Intel 386SX or
  above processor, will work.


  A PRODUCTIVE ENVIRONMENT FOR THE USER
  _____________________________________

  OS/2 provides an object-oriented user interface, the Workplace Shell, which
  allows users to think of the information they want to work with, not think
  first of what application needs to be loaded.  This is a business-oriented,
  rather than computer-oriented way of working.  In this way, users become more
  productive. They can concentrate more on what they want to do, and less on
  how to do it.  The Workplace Shell also provides a single, consistent
  environment in which multiple applications can be loaded from different
  sources.  It is an easy environment to learn, since once you know how to drag
  a file's icon with the mouse to put it into a folder, you can use the same
  operation to print it, and to copy it to another disk or folder.  In
  addition, companies can benefit from a standard interface, which complies
  with IBM's Common User Access (CUA) definition for user interface design.

  Also, since many applications can be loaded and running at the same time,
  users can be more productive, especially in work that involves much
  interruption and switching from one task to another.  OS/2's true
  multi-tasking means that long-running processes can simply be switched to the
  background, while the user continues with something else.  This results in
  less "wait time"  for the user.  At the same time, more can be done with the
  existing set of applications by allowing them to share information easily via
  consistent interfaces like the clipboard.


  BETTER DOS, WINDOWS AND OS/2
  ____________________________

  OS/2 2.0 doesn't just run the widest range of applications on an Intel
  platform. It also aims to improve even on the native environment of each
  application, and provide a better environment for that application to work
  in:



                                                                   Why OS/2?  6









  A BETTER DOS:  it adds to the DOS environment:  multi-tasking, more memory
  and application integration (see "Better DOS" on page 38 ).

  A BETTER WINDOWS:  it provides a superior environment for running DOS
  applications than either Windows 3.0 or Windows 3.1, and also runs a wide
  range of Windows applications with no loss of function, as well as taking
  advantage of the better multi-tasking, memory support, and reliability of
  OS/2 (see "Better Windows" on page 53).

  A BETTER OS/2:  it improves even on previous releases of OS/2 itself,
  providing a new object-oriented user interface, a graphical install program,
  and access to powerful 32-bit applications (see "Better OS/2" on page 78).


  A PLATFORM YOU CAN RELY ON
  __________________________

  When the PC becomes the focal point of information processing, as in today's
  environment it often is, then the PC platform must show the stability and
  reliability of the host environment. The main reason why the PC has not been
  trusted to fulfil this crucial role to date, is because its operating system
  - DOS - was not designed for "mission critical" use, but as a personal
  productivity environment. Nor can extensions to DOS such as Microsoft
  Windows, offer the required stability while they continue to be based on DOS.
  Only OS/2, which has been designed to protect applications from one another,
                            ________
  can deliver the stable platform required for full multi-tasking and greater
  protection from system crashes. It is no use having the most fault tolerant
  server or host, if the client keeps going down.  And even the productivity
  user's PC is "mission critical" from that user's perspective, so that
  reliability is a requirement for every PC.


  SUPERIOR CONNECTIVITY
  _____________________

  OS/2 2.0 is both the server and the client platform of choice.  Its strong
  multi-tasking and robust protection make it the best available base for
  working in a connected environment, in client-server and distributed
  processing.  It provides a consistent platform for both server and client,
  can handle multiple concurrent communications protocols (eg NETBIOS, APPC,
  IPX, TCP/IP) with ease, and even provides a LAN-independent user interface to
  mixed vendor networks.  It is enabled for automated LAN-based installation.
  But most important, OS/2 offers the stability and reliability in a client to
  match the reliability of the server or host. The result is that "mission
  critical" applications which depend on communications with various systems
  can be implemented much more safely on OS/2 than on DOS or any of its
  extensions.

  OS/2 2.0 is also the base system for a family of networking and
  communications products from IBM, including Extended Services for OS/2 and
  OS/2 LAN Server.

  Extended Services for OS/2 provides powerful communications and database
  function in a single integrated package.  It supports multiple communications
  protocols (EHLLAPI, NETBIOS, APPC, X.25 and asynchronous) and terminal
  emulators (3270, 5250, ASCII, VT100).  It includes a full function


                                                                   Why OS/2?  7









  client-server relational database management system (RDBMS).  This RDBMS is
  part of an SAA family of relational databases which also includes DB2 and
  SQL/DS.  Extended Services for OS/2 also includes query and database
  management tools.

  OS/2 LAN Server works with OS/2 to provide Local Area Network support to DOS
  and OS/2 machines. It includes facilities for sharing resources such as files
  and printers, and to manage those shared resources, providing security
  control, applications management, and network statistics.

  Both Extended Services for OS/2 and OS/2 LAN Server 2.0 run on both OS/2 2.0
  32-bit and the 16-bit OS/2 1.3.1 bases.  OS/2 LAN Server 3.0 runs only on the
  OS/2 2.0 base.  Both Extended Services for OS/2 and OS/2 LAN Server are also
  supported on selected non-IBM as well as IBM equipment.  More details on
  these and other networking products are available in the chapter on OS/2 in a
  connected environment (see "OS/2 in a connected environment" on page 109).


  THE INTEGRATED SYSTEM
  _____________________

  OS/2 not only makes DOS, Windows and OS/2 applications run together, but also
  provides a GUI, and, with Extended Services for OS/2 and LAN Server,
  database, communications, and LAN support.  For developers, all the
  Application Programming Interfaces (APIs) and services have been designed to
  work together.  This means customers don't have to do the systems integration
  work with a variety of DOS-based packages to include all the function
  required, and work around any incompatibilities or problems.  Instead, the
  OS/2 function has been designed and tested to work together - IBM has already
  done the integration work.

  OS/2 also has advanced features built in and integrated with the rest of the
  system: the Presentation Manager GUI itself, font handling with Adobe Type
  Manager (ATM) (now for both OS/2 applications and Windows applications), REXX
  (the extended batch language which can be used to integrate different
  applications and automate common routines)

  The Workplace Shell environment integrates DOS, Windows and OS/2 applications
  and makes them work together, even though they may have been written by
  different vendors and never designed to do so.  Also, OS/2 can permit working
  combinations (such as a 32-bit OS/2 word processor and a 16-bit DOS
  spreadsheet) that would never have been possible before.  In summary, the
  whole is greater than the sum of the parts:  in running not only OS/2, but
  DOS and Windows applications, OS/2 makes them work together from the same
  user interface.  This helps reduce the differences between applications, and
  between the local machine and the network, and make it all act as one system.
  That's why OS/2 is the INTEGRATING platform.
                         ___________










                                                                   Why OS/2?  8









  32-BIT POWER
  ____________

  OS/2 2.0 is the first mainstream 32-bit platform for Intel-based PCs. It
  offers the ability to take full advantage of the performance of today's
  32-bit PCs. And over over 1000 32-bit OS/2 applications are being developed
  (several hundred of which had already shipped by September 1992), to
  demonstrate what can be achieved with a 32-bit system.

  The OS/2 32-bit API also allows developers to create richer, more
  sophisticated applications.  It overcomes the constraints imposed by existing
  16-bit systems (see "Why 32-bit OS/2?" on page 81).  This allows applications
  like multimedia to exploit their full potential and power.  OS/2 provides
  this foundation TODAY.  Moving to the OS/2 32-bit API now, gets developers
                  _____
  ready for future developments in OS/2, such as object-oriented technology,
  distributed computing and portability to RISC.  So 32-bit is not just about
  exploiting the power of today's environments, but also to move forward to
  build for the future.  But most of all, OS/2 2.0 gives you the benefits of a
  32-bit system NOW - no need to wait for other alternatives with uncertain
  delivery dates.


  PLATFORM FOR GROWTH
  ___________________

  The design of OS/2 not only preserves the investments of the past, but allows
  maximum flexibility for future growth. It also makes the OS/2 system itself
  ready to develop further (for portability to other processors, for example).

  OS/2 will be the base of new developments for many of the features that will
  be a requirement for the workstation of the mid-90's, such as multimedia,
  object-oriented systems, support for the Distributed Computing Environment
  (DCE) and portability across different processors. It has the extra power to
  support such advanced features as they emerge.  Requirements of this kind
  will demand a robust, architected and powerful 32-bit system, and that system
  is OS/2.

  With OS/2 2.0, IBM has reaffirmed its commitment to OS/2, and its conviction
  that the workstation of the 1990s requires a real advanced platform, not a
  series of extensions to DOS, which is fundamentally ill-equipped for these
  requirements.


  VALUE FOR MONEY
  _______________

  OS/2 2.0 offers a "3 in 1" environment, with everything you need to run DOS,
  Windows and OS/2 applications in the one package.  It also includes a series
  of productivity applications, utilities and games for which you need to pay
  extra in the DOS world.  OS/2 provides scalable font support for both Windows
  and OS/2 applications with Adobe Type Manager at no extra charge.  OS/2 2.0
  offers all this function at a price less than the combined cost of DOS and
  Windows 3.1, even before taking into account the extra utilities you would
  need to buy under DOS or Windows to achieve the same function.  Upgrading
  from DOS or Windows makes the cost of moving to OS/2 even less.




                                                                   Why OS/2?  9









  EXPLOITS TODAY'S INVESTMENT, AND IS A BASE FOR THE FUTURE
  _________________________________________________________

  OS/2 supports the widest choice of applications from the PAST ten years of
                                                           ____
  the PC, and is the best platform for the PRESENT requirement of client-server
                                           _______
  and reliable connectivity. It also provides the best base for FUTURE
                                                                ______
  technologies. That's how OS/2 2.0 can integrate past, present and future
  requirements. It already has NOW what other environments can only promise for
                               ___
  the future, with the best and most reliable migration path - why wait?
















































                                                                  Why OS/2?  10









  OS/2 2.0 KEY ELEMENTS
  _____________________





  This section examines some of the key technologies and features of OS/2 2.0,
  which affect all applications running in the system.  The following sections
  cover OS/2 from an application point of view, showing how it exceeds the
  capabilities of DOS, Windows 3.x and previous releases of OS/2.


  32-BIT
  ______

  OS/2 2.0 is the first version of OS/2 to support a 32-bit addressing system
  and programming model.  Although implemented on the Intel 386 and 486 family
  of processors, it is really a 32-bit system rather than an Intel-specific
  system.  Mike Kogan, one of the lead designers of 32-bit OS/2 has said in his
  book The Design of OS/2 2.0 (see Appendix C, "Further reference materials" on
       ______________________
  page 153), "OS/2 2.0 was not designed to be 386-specific, but rather 32-bit
  OS/2 implemented on the 80386 platform."  Part of the design of OS/2 2.0 has
  been to leave the maximum possible scope for future portability, both in the
  API and the subsystems like Presentation Manager (PM).

  OS/2 2.0's 32-bit design provides significant benefits to the user and the
  programmer, including better performance, simpler programming and ease of
  migration from 16-bit applications, as well as reinforcing the benefits of
  inter-process protection associated with previous releases of OS/2.


  FLAT MEMORY MODEL

  OS/2 2.0 features a different memory addressing model from 1.3 - the flat
  memory model. This enables each process to look at memory as a large linear
  address space which can be addressed by a simple 32-bit offset (sometimes
  referred to as "0:32"), as opposed to the segment/offset combination
  ("16:16") required by OS/2 1.3 and other 16-bit systems like DOS and Windows.
  The 0:32 model therefore hides all details of segmented memory management
  from the 32-bit programmer, resulting in :

      - much simpler programming
      - better performing code
      - greater portability to other instruction sets (ie non-Intel).

  One example of better performance is in calling Dynamic Link Libraries
  (DLLs), which are common in both the OS/2 system and OS/2 applications. Since
  all code and data are addressable within the same linear address space, there
  is no longer any need for segment switching.








                                                      OS/2 2.0 key elements  11









  LARGE MEMORY ADDRESS SPACE

  Using the 32-bit flat memory model, the 386 processor supports up to a 4
  gigabytes (GB) linear address space.  In fact, up to 64 terabytes can be
  addressed by the processor using a non-linear addressing model.  To get some
  idea of the enormity of such numbers, this means that, if an average page in
  a book contained 2000 characters, and each book 500 pages, a task could
  address any character in any book in a library with more than 70 million
  books (70,368,744,177,664 characters to be precise)!

  For reasons of compatibility with OS/2 1.x 16-bit applications, the address
  space per process in OS/2 2.0 is restricted to 512MB (since this is the
  maximum address space possible for 16:16 applications).  This is addressed
  using the flat memory model, allowing programmers to reference memory under
  OS/2 2.0 as one single huge address space.  Although 512MB is hardly likely
  to be a limitation in practice, this memory limit will be removed in a future
  release of OS/2.

  Within a given process, memory objects can be allocated for any size, no
  longer limited to the 64KB segment maximum, but any size between 1 byte and
  512MB.  This gives the programmer much greater flexibility in memory
  management.  For the user, this means that programmers can spend more time on
  making their programs more powerful and even easier to use, and less on
  segmented memory management.


  VIRTUAL MEMORY

  OS/2 2.0 can use more memory than is physically installed in most PCs, by
  using the hard disk for additional memory, usually referred to as virtual
  memory.  Although 16-bit systems like OS/2 1.3 and Windows 3.x also offer
  memory overcommit via swapping segments to disk, the larger process address
  space available under OS/2 2.0 means that virtual memory is effectively
  limited only to available disk space, whereas Windows 3.x can offer only 16MB
  maximum, or four times the physical memory installed in the machine,
  whichever is less.  OS/2 2.0 takes advantage of the 386 processor's support
  for fast and effective paging of memory to and from disk (see "4KB demand
  paging" on page 17).  It is also not limited to the segment-based swapping of
  OS/2 1.3.


  MIXED 16-/32-BIT ENVIRONMENT

  Not only are OS/2 1.x applications supported, and are binary-compatible with
  2.0, but OS/2 2.0 can support mixed model programming. In order to support
  applications written for 16-bit, the OS/2 designers had to develop an
  architecture in which 16- and 32-bit modules could reside simultaneously.
  This was not only for ease of conversion from 16-bit programs, but also
  because the system itself contains a mixture of 16- and 32-bit service
  routines.  This is a difficult task because segmented and flat memory models
  are so different.

  OS/2 provides address conversion between 16:16 and 0:32 addresses, to allow
  16-bit API calls to be serviced internally by 32-bit routines, and vice


                                                      OS/2 2.0 key elements  12









  versa.  A series of procedures called "thunks"  within the system facilitate
  this process, by handling any necessary parameter conversion for APIs.  This
  technique is used internally between 16- and 32-bit parts of the system
  itself, but the user never notices - the system takes care of it.  They are
  tools internal to the system, and not APIs for the programmer to learn and
  use - and certainly no user needs to know how to handle them.

  Note that the mixed model gives great flexibility, both in migrating
  applications from 16- to 32-bit, and also in allowing 32-bit applications to
  make the best possible use of existing 16-bit service routines, window
  classes etc., developed for previous releases of OS/2. The important point
  here is how OS/2 2.0 helps the migration process to 32-bit.


  INTEL 386/486 EXPLOITATION
  __________________________

  Since OS/2 2.0's 32-bit capabilities are implemented on Intel's i386 and
  i486(1) family of processors, it is not surprising that the system takes
  advantage of some of the processor's features.  Indeed, some of them
  (especially virtual 8086 mode) are vital to some of the most notable features
  of the system.  It is for that reason that OS/2 2.0 requires a 386SX
  processor or higher to run.  Unlike OS/2 1.3, it will not run on machines
  equipped with an 80286, nor will it run on 8088 and 8086 machines supported
  by DOS.


  GROWTH IN PROCESSOR POWER

  It is widely recognised how substantial have been the improvements in
  processor speed and capacity, even since 1981 and the launch of the first IBM
  PC. Since then, processor clock speed has increased by a factor of seven, and
  memory address space by four thousand to one.  This growth in processor power
  lowers the cost of the hardware technology to run advanced operating systems
  and applications.  The software and hardware are now at a sufficiently
  advanced stage, to enter a new phase of personal computing, beyond the basic
  productivity applications that have characterised its usage to date (see
  "Cheaper processors and memory" on page 3).








  ---------------

  (1) In this document, the i386 and i486 processors will often be referred to
      as 386 and 486 respectively. Where discussion relates to 386 or 486 SX or
      DX models specifically, terms such as 386SX will be used. Otherwise the
      terms will be used to refer to any member of the 386 or 486 family as
      appropriate.  The term 80X86 is sometimes used to denote the range of 32
      bit processors currently shipped by Intel (ie 386 and 486 together, but
      NOT the 80286).


                                                      OS/2 2.0 key elements  13









  386/486 NOW MAJORITY OF SHIPMENTS

  PCs using the i386 family (which includes the SX as well as DX models) are
  now shipping in greater volumes than any other Intel processor.  Add to the
  number of 386s the growing volumes in 486SX and DX processors, and there are
  a growing number of 32-bit processors in the marketplace.  Until OS/2 2.0,
  there has not been a 32-bit system for Intel processors which has provided
  sufficient compatibility with existing 16-bit applications, to become a
  standard.


  386SX VERSUS DX

  It is important to understand that both 386SX and 386DX processors are
  supported by OS/2. Even though the 386SX has a 16-bit external data bus, it
  is a 32-bit processor internally, fully compatible with the 386DX processor's
  instruction set, supporting multiple Virtual 8086 sessions (essential for the
  Multiple Virtual DOS Machines features of OS/2 2.0), protected mode operation
  and full 32-bit addressing.  It can therefore support all of the features
  that OS/2 2.0 provides, just as the 386DX does.  The main difference is in
  the throughput for I/O, owing to the 16-bit data bus.  Nevertheless, many
  users find it an excellent combination of 386 function, compatibility and
  performance at a reasonable price.  IBM's own 386SLC chip, which appears in,
  among others, some models of the PS/2 Model 57, adds performance features
  such as caching to the basic 386SX design; it represents an excellent
  platform for OS/2 2.0.


  486SX AND DX

  All the 386 features used by OS/2 2.0 are also supported by the 486.
  Therefore machines using a 486SX or 486DX will also run OS/2 2.0.  In many
  operations, the 486 is faster than the 386, which will provide performance
  benefits to users of OS/2 2.0 on 486-based machines. The 486SX is very
  similar to the 486DX, but does not have the built-in math co-processor
  function which the 486DX has. The price of the 486SX processor has fallen
  rapidly during 1992, so that machines using 486SX can often be obtained at
  prices competitive with 386DX machines. The 486SX therefore represents an
  economical entry into 486 power for OS/2 2.0.


  FEATURES OF 386 CHIP USED BY OS/2 2.0

  Among the specific features of the 386/486 processors supported by OS/2 2.0,
  and used to provide additional function beyond OS/2 1.3, are:

      Protected mode operation
      Virtual 8086 mode
      4KB demand paging
      Numeric co-processor support






                                                      OS/2 2.0 key elements  14









  Protected mode operation

  To understand the significance of protected mode, let us briefly review some
  of the different models of memory management which the 386 processor can use:


  +---------------------------------------------------------------------------+
  | Table 1. Memory management models                                         |
  +-----------+------------+------------+------------+------------+-----------+
  | MODEL     | PROCESSOR  | MAX        | ADDRESSING | PROTECTION | SYSTEM    |
  |           | ARCHITECTUR| PHYSICAL   | STYLE      | BETWEEN    | SOFTWARE  |
  |           |            | ADDRESS    | (SEGMENTED | PROCESSES  | EXAMPLE   |
  |           |            | SPACE      | VS. FLAT)  |            |           |
  +-----------+------------+------------+------------+------------+-----------+
  | Real mode | 8086       | 1MB        | segmented  | none       | DOS       |
  |           |            |            | (64KB)     |            |           |
  +-----------+------------+------------+------------+------------+-----------+
  | Segmented | 80286      | (on 286)   | segmented  | yes        | OS/2 1.3, |
  | Memory    |            | 16MB       | (64KB)     |            | Windows   |
  | Model     |            |            |            |            | 3.x       |
  +-----------+------------+------------+------------+------------+-----------+
  | Flat      | i386       | 4GB (16MB  | flat       | yes        | OS/2 2.0  |
  | Memory    |            | on 386SX)  |            |            |           |
  | Model     |            |            |            |            |           |
  +-----------+------------+------------+------------+------------+-----------+

  In reality, operating systems like OS/2 create an architecture with indirect
  selectors/descriptors rather than direct segment/offset addressing. This
  provides memory protection between processes to support multi-tasking. This
  is just one example of the ways in which an operating system builds on the
  base capabilities of the processor. Virtual memory is another function
  provided by the operating system but relying on a processor feature (in this
  case on the 286 and above).

  In OS/2, all process address spaces are kept separate from each other. This
  allows OS/2 to maintain protection between different processes running in the
  system, whether they be DOS, Windows or OS/2 applications, or other parts of
  the system itself. The result is that, if a process attempts to reference
  memory outside its own address space, it is trapped by the system. In
  contrast, multi-tasking systems based on single-tasking DOS, such as Windows,
  cannot always offer protection.  Windows applications, for example, share the
  same Local Descriptor Table as Windows itself, which limits the memory
  protection Windows can provide to its applications (see "Reliability" on
  page 61 and "Reliability and protection" on page 44).












                                                      OS/2 2.0 key elements  15









  Virtual 8086 mode

  The 386 offers a mode called virtual 8086 (V8086) mode, which emulates
  multiple instances of an Intel 8086 processor to provide some compatibility
  with real mode applications (such as most DOS applications) under a protected
  mode system (like OS/2 2.0).  Applications running in V8086 mode, can run
  concurrently with other 8086 applications and protected mode applications,
  and take advantage of the virtual memory and paging facilities of the 386.
  V8086 mode is a superset of protected mode.

  The CPU provides high performance hardware support to enable switching
  between V8086 and protected mode - this eliminates the performance overhead
  of mode switching associated with lower processors such as the 286. This is
  why multiple DOS capability can be provided so much more easily and more
  effectively in OS/2 2.0, which requires the 386 facilities, than in OS/2 1.3
  which was based on a 286-style architecture.

  V8086 processes are protected from each other in OS/2 2.0. This gives
  compatibility with the real mode world of DOS applications while providing
  greater address space and protection. In OS/2 2.0, each Virtual DOS Machine
  (VDM) is encapsulated in its own unique linear address space, and thus cannot
  corrupt another application's code or data.  Traps or exceptions are handled
  by the VDM Manager in OS/2 2.0, and execution is passed to an exception
  handler, or the VDM terminated.  Therefore, OS/2 2.0 runs in protected mode
  all time, even for DOS applications, hence the greater protection of the
  system against application errors or failures.

  In real mode, an application can directly address any object in memory
  between 0 and 1MB, including portions of the operating system (whether this
  be DOS, DOS/Windows, or OS/2 1.3, all of which provide varying amounts of
  real mode execution).  A DOS program that accidentally wrote to a system
  area, or directly addressed a hardware device and left it in an unknown
  state, could cause system integrity problems.  Real mode is less of an issue
  in a single-tasking system like DOS, where it is more than likely that the
  application is the only one executing in the system; but in a multi-tasking
  system, it represents a "trap door," which can endanger system integrity.
  This is part of the difficulty in running a multi-DOS environment like
  Windows 3.0 or 3.1 on a DOS base; as long as there is real mode access (as
  long as it runs on DOS as we know it today), there is a potential risk.  In
  fact, even Windows 3.1 , which is claimed to offer greater protection and
  stability, does not change the design of Windows in this respect.  It is
  still possible for a DOS Terminate-and-Stay-Resident (TSR) program to switch
  the system into real mode and open up the potential for endangering system
  integrity (see "Reliability" on page 61  for more on this).

  The only solution is to run the operating system in protected mode, and
  provide a multi-DOS mode using features like V8086, so that the system never
  runs in real mode.  This is exactly what OS/2 2.0 does, and it is one of the
  key differences between it and Windows 3.x in terms of overall integrity:
  Windows implements V8086 function in a system running on DOS, and some real
  mode access is inevitable - hence its occasional fragility when working with
  DOS applications or TSRs; OS/2 2.0 never executes in real mode.




                                                      OS/2 2.0 key elements  16









  4KB demand paging

  Demand paging is the 386's method of providing virtual memory to the system;
  when physical memory is exhausted (memory "overcommitment"), the disk may be
  used to provide additional virtual memory. Memory overcommit is provided on
  286-based operating systems such as OS/2 1.3 as well, but is usually based on
  a segment-swapping mechanism. As the name suggests, segment swapping is
  closely tied to the segmented model used in OS/2 1.3, and the swapper
  algorithm has to do much work to compact segments of varying sizes into a
  unit capable of being swapped to disk, or much I/O work in swapping large
  segments.

  OS/2 2.0 manages memory internally using pages, each of which is 4KB in size.
  Each memory object handled by the system is regarded as a set of one or more
  pages, and therefore memory is allocated in units of 4KB (although to
  optimise memory management, programmers may handle a page as multiple smaller
  objects).  Paging offers a number of advantages over swapping, which was the
  mechanism used in OS/2 1.3:

  BETTER GRANULARITY: when memory becomes over-committed (ie there is no more
  real memory left to load applications), individual 4KB pages may be swapped
  to and from disk, rather than entire memory objects (or segments as in OS/2
  1.x).  In turn, this will improve performance, especially in terms of the
  lower I/O cost of moving 4KB pages as opposed to whole segments.

  Programmers can write their applications to take advantage of the smaller
  granularity of memory object (ie 4KB page as opposed to a whole segment).
  This will reduce the working set (overall memory usage) of applications and
  thence improve performance. Memory objects can be allocated in logical units,
  without the artificial constraints of segment sizes; this means that you can
  allocate smaller or larger memory objects according to the needs of the
  application, rather than the constraints of the system. Once again, this
  makes programming much simpler.

  It is important to remember that paging is carried out without any awareness
  on the part of the application.  Programmers may allocate memory to
  co-operate with this mechanism for performance reasons, but the user need not
  be aware of the paging system at all.  It will simply translate into the
  performance benefits mentioned above.

  SIMPLER SWAP ALGORITHM: because of the more granular paging, OS/2 2.0 does
  not need to move around different sized segments to compact them into a
  single swap segment of the right size, as was done in 1.x.  This makes the
  swap algorithm simpler and therefore faster, improving overall system
  performance.  Indeed, unlike OS/2 1.x, the swapper file, SWAPPER.DAT is
  designed to actually shrink as well as grow during use of OS/2 2.0.  This is
  in order that applications requiring high availability (such as LAN servers)
  do not need to be rebooted to recover swap disk space.

  The 386 has hardware support, such as buffering and caching, to support
  paging.  Once again, OS/2 is taking advantage of the processor's built-in
  features.




                                                      OS/2 2.0 key elements  17









  Numeric co-processor support

  Some OS/2 applications can make use of an i387 numeric co-processor if one is
  installed in a 386 PC running OS/2 2.0 (or 486DX systems, which have
  co-processor function built in).  Where a 387 is not installed, OS/2 2.0
  provides a 387 emulator to all applications running in protected mode,
  available to both 32-bit and 16-bit applications, but not VDMs running DOS
  applications.  DOS applications must continue to use whatever mechanisms they
  are currently using to detect co-processor presence.


  MULTIPLE VIRTUAL DOS MACHINES (MVDM)
  ____________________________________

  OS/2 2.0 features a totally redesigned environment for DOS compatibility. It
  is based on the Virtual 8086 mode of the 386 processor, and results in a DOS
  environment where multiple DOS applications can be run, each in their own
  separate "virtual machine."  "Virtual machine" means that the virtual 8086
  mode process simulates a self-contained DOS environment, in which the
  application runs. Access to I/O resources is usually not done directly to the
  physical device, but via a virtual device; this virtualisation allows the DOS
  application to believe it owns all the system resources, just as it does
  under DOS.  Behind the scenes, the OS/2 system manages concurrent access to
  these physical resources, from both DOS and OS/2 applications.

  Each Virtual DOS Machine, or VDM, emulates an entirely independent instance
  of DOS.  It is in fact a generic emulated version of DOS (which resembles DOS
  5.0), not the real DOS retail product.  Each VDM is a separate process,
  protected from the others, and multi-tasking alongside the others.  This
  design allows OS/2 to provide superior support for DOS applications than in
  previous releases of OS/2.


  CONTRAST WITH OS/2 1.3 DOS SUPPORT

  It is useful to look at the OS/2 2.0 DOS support in the light of 1.3's DOS
  support. The following table gives a summary of the key difference in DOS
  support between 1.3 and 2.0:



















                                                      OS/2 2.0 key elements  18









  +---------------------------------------------------------------------------+
  | Table 2. DOS environments - OS/2 1.3 and 2.0 compared                     |
  +--------------------------------+---------------------+--------------------+
  |                                | OS/2 1.3            | OS/2 2.0           |
  +--------------------------------+---------------------+--------------------+
  | Processor mode                 | Real mode           | V8086 mode         |
  +--------------------------------+---------------------+--------------------+
  | Protection/Integrity           | Low                 | High               |
  +--------------------------------+---------------------+--------------------+
  | Number of DOS applications     | 1                   | up to 12 full      |
  |                                |                     | screen; up to 240  |
  |                                |                     | windowed           |
  +--------------------------------+---------------------+--------------------+
  | Background execution           | No                  | Yes                |
  +--------------------------------+---------------------+--------------------+
  | Windowed                       | No                  | Yes                |
  +--------------------------------+---------------------+--------------------+
  | Cut and Paste                  | No                  | Yes                |
  +--------------------------------+---------------------+--------------------+
  | Conventional memory free       | 512KB               | 633KB              |
  +--------------------------------+---------------------+--------------------+
  | DOS Extended Memory            | None                | 16MB per           |
  |                                |                     | application (XMS)  |
  +--------------------------------+---------------------+--------------------+
  | EMS/XMS                        | No                  | Yes                |
  +--------------------------------+---------------------+--------------------+
  | DPMI                           | No                  | Yes                |
  +--------------------------------+---------------------+--------------------+
  | Overcommit                     | Swap                | Page - Available   |
  |                                |                     | disk               |
  +--------------------------------+---------------------+--------------------+
  | Timing Dependent applications  | Foreground          | Foreground /       |
  |                                |                     | Background         |
  +--------------------------------+---------------------+--------------------+
  | Recover from hang/crash        | Sometimes           | Usually            |
  +--------------------------------+---------------------+--------------------+

  Let's take a look at some of these aspects in more detail:


  286-based architecture

  OS/2 1.3    On the 286, there is no V8086 mode, so 1.x had to run DOS
              applications in real mode, thus requiring a protect-to-real mode
              switch when moving from an OS/2 to DOS application. This involves
              significant performance degradation (see below).

  OS/2 2.0    DOS applications run in V8086 mode. No protect-to-real mode
              switching is needed.


  Relative performance




                                                      OS/2 2.0 key elements  19









  OS/2 1.3    A switch from real mode to protected can be done on a 286 (though
              it costs many CPU cycles). A switch the other way, from protected
              to real, means effectively rebooting the CPU, but OS/2 has to
              preserve all the system control information, process states etc,
              at the same time, so that the normal processing can continue
              after the switch. This switching back and forth from real (DOS
              box) to protected (rest of 1.x) generates significant overhead.
              This can mean that OS/2 background tasks are slowed significantly
              when running a DOS application in the foreground.

  OS/2 2.0    DOS applications run in V8086 mode. No protect-to-real mode
              switching is needed.


  System integrity

  OS/2 1.3    Since 1.3 does not run always in protected mode (unlike 2.0), any
              switch into real mode allows an errant DOS application to
              directly address any object in memory under 1MB, including
              portions of the OS/2 1.x kernel (the same is true in Windows 3,
              hence its comparative lack of integrity.)

              Also, DOS applications could directly address a hardware device
              and leave it in an unknown state, which may cause OS/2 device
              drivers to fail.

              Either of these scenarios could cause the whole system to crash.

  OS/2 2.0    All OS/2 2.0 processes, including DOS applications in VDMs, are
              protected from each other, and cannot write outside their own
              address space. Hardware access is controlled through Virtual
              Device Drivers (see "Virtual Device Drivers (VDDs)" on page 24),
              which handle the DOS-OS/2 hardware concurrency problem.


  Background execution

  OS/2 1.3    DOS applications are suspended when not in the foreground. This
              was a decision made in 1.x, mainly to avoid the overhead in
              real-protected-real mode switching; it means that timing
              dependent applications like communications programs are
              unsuitable for running in an OS/2 1.3 DOS box, as they cannot
              receive interrupts while suspended.

  OS/2 2.0    In 2.0, the virtualisation of interrupts and hardware access
              allows most communications programs to run in background in a
              VDM.


  Amount of memory

  OS/2 1.3    Since DOS applications run in real mode, some of the OS/2 device
              driver and kernel code has to be located below 1MB to service the
              real-mode (DOS box) requests. This has an inevitable result on


                                                      OS/2 2.0 key elements  20









              the amount of memory available below 1MB, and therefore on DOS
              application space, which, in 1.3, depending on the configuration,
              is about 520KB.  This prevents some larger DOS applications from
              even loading.  No EMS or XMS support is provided in 1.3.

  OS/2 2.0    OS/2 2.0 locates most driver and even DOS emulation code outside
              the DOS application's address space in a VDM. This provides even
              more conventional memory than under standalone DOS, and full
              support for EMS and XMS (see below).


  MEMORY: CONVENTIONAL, EXPANDED, EXTENDED

  Memory management under DOS today is quite complex, and often requires the
  user to know about various different memory types.  To support some DOS
  applications, OS/2 2.0 needs to provide more than just conventional memory.


  Definitions

  The diagram below shows some of the types of memory commonly referred to, and
  is a useful reference for the discussion below:

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 2. Memory: Conventional, Expanded, Extended

  CONVENTIONAL MEMORY  is the name given to the memory area up to 640KB
  ___________________
  accessible by DOS applications.

  EXTENDED MEMORY refers to any memory above the 1MB line addressed by the
  _______________
  processor in protected mode.  (1MB is the normal limit addressable by the
  processor in real mode).  The LIMA (Lotus/Intel/Microsoft/AST) Extended
  Memory Specification (XMS) version 2.0 provides a standard for the use of
  extended memory on 80286 and above computers.  The specification provides for
  moving code and data objects to and from extended memory to base
  (conventional) memory, and is operating system independent (even though the
  technique for determining that XMS is present relies on the DOS interrupt
  vector 2Fh).  XMS manages 3 different kinds of memory, described below:

      -    High Memory Area (HMA)
      -    Extended Memory Blocks (EMBs)
      -    Upper Memory Blocks (UMBs)

  HIGH MEMORY AREA (HMA) is the region of memory between 1MB and the 64KB above
  ______________________
  it (minus 16 bytes).  This can be addressed by enabling one of the
  processor's address lines to allow the processor to access an extra 64KB
  beyond the normal 1MB limit in real mode.  Its operation is due to an anomaly
  in the 286 and above, which has been exploited by this technique to give a
  valuable extra address space.  Drivers like HIMEM.SYS, which appear in DOS
  5.0 and MS-Windows 3.x, exploit this technique.



                                                      OS/2 2.0 key elements  21









  EXTENDED MEMORY BLOCKS (EMBS) are blocks of extended memory above the HMA,
  _____________________________
  not accessible from real mode and serve usually as data storage. An XMS
  driver can move memory between extended and conventional memory to offer up
  to 64MB of extended memory in up to 255 blocks.

  UMA, UMBS: between 640KB and 1MB (the limit addressable by the processor in
  __________
  real mode) lies the Upper Memory Area (UMA).  In this area are reserved
  portions of memory for BIOS, video buffers etc.  Usually, however, there are
  a number of address ranges not used (for example, since there are address
  ranges for monochrome, CGA and EGA adapters, it is not possible to use all of
  these ranges at the same time.  Thus there will be a number of "gaps"  in the
  UMA.  These can be used by memory managers such as exist in DOS 5.0 itself,
  or by third party utilities such as Quarterdeck's QEMM product.  They can be
  used to load various drivers, or in DOS 5.0's case, even part of the system
  itself, to free more memory below the 640KB line.  The address ranges used in
  this manner are usually called Upper Memory Blocks or UMBs.  The number and
  size of UMBs will depend on the hardware configuration.

  EXPANDED MEMORY (EMS) is a page mapping technique that provides additional
  _____________________
  memory support, by allowing DOS applications to allocate and access up to
  32MB of additional memory.  This is done by creating memory objects in
  expanded memory that can be mapped into the real mode 1MB address space, thus
  allowing DOS applications to access address spaces beyond 640KB at the cost
  of having to quickly remap the memory that is to be accessed.  In effect,
  parts of the 8086 address space become moving "windows"  into larger virtual
  memory objects in an expanded memory area.  The expanded memory specification
  was developed by Lotus, Intel and Microsoft, and is thus known as LIM EMS.
  The latest version of the specification is 4.0.  EMS is provided under DOS
  either by a special memory adapter and driver, or by defining portions of
  memory above 1MB for use as expanded memory by a driver that sometimes ships
  with DOS (eg EMM386.EXE with DOS 5.0).

  DOS PROTECT MODE INTERFACE (DPMI): The DPMI specification provides a standard
  _________________________________
  interface that can access memory above 1MB and is addressable by computers
  with an Intel 80x86 (or later) microprocessor.  The specification was created
  by a group of eleven companies in the industry (including Microsoft, Lotus
  and Intel, as well as Quarterdeck, Rational Systems and Phar Lap), to allow
  multiple DOS extender applications to multi-task reliably under a
  multi-tasking environment.  It superceded the VCPI specification (see below).

  DPMI is a specification that exists in two versions. The 0.9 version was
  implemented in Windows 3.0. The 1.0 specification added new features while
  remaining fully compatible with 0.9. OS/2 2.0 is compatible with the 0.9
  level, and adds some 1.0 features.

  VIRTUAL CONTROL PROGRAM INTERFACE (VCPI) is an earlier DOS extender
  ________________________________________
  specification, created by Phar Lap and Quarterdeck.  While it allowed 386
  expanded memory managers and DOS extenders to coexist, it did not address the
  problem of DOS extenders coexisting within a multi-tasking environment.
  Examples of applications written to this specification include Lotus 1-2-3
  version 3.0 and Autocad/386 (Lotus 1-2-3 3.1+ changed the type of extender
  used from VCPI to DPMI).




                                                      OS/2 2.0 key elements  22









  MVDM MEMORY MANAGEMENT

  MVDMs support all of the above types of memory, providing Virtual Device
  Drivers for both EMS and XMS functions, thus allowing DOS applications all
  the memory management functionality possible under DOS, including use of UMBs
  for the DOS 5.0 LOADHIGH, DEVICEHIGH commands and for TSRs.  Indeed, DOS
  emulation in OS/2 2.0 VDMs owns the UMBs, but can free them for application
  use with statements in CONFIG.SYS or in DOS Settings.  Note that the
  availability and size of UMBs depends on the same principle as under DOS (ie
  configuration of that DOS virtual machine).  VDM DOS settings like
  MEM_INCLUDE_REGIONS and MEM_EXCLUDE_REGIONS allow some detailed configurable
  control over UMBs for separate VDMs.  This is an advantage over DOS itself,
  which for obvious reasons can only apply one UMB configuration for all DOS
  applications that load, leading to many DOS users maintaining multiple
  CONFIG.SYS files for their different required configurations, and rebooting
  between them.

  OS/2 2.0 provides Virtual Device Drivers (VDDs) for both EMS and XMS.  The
  Virtual Expended Memory driver (VEMM.SYS) supports up to 32 MB of expanded
  memory per VDM, and the Virtual Extended Memory driver (VXMS.SYS) up to 16MB
  per VDM.  These figures could be made higher, but are restricted for
  compatibility with EMS and XMS support under DOS.  DPMI applications can
  access up to 512MB in OS/2 2.0.  In contrast, DOS and DOS extenders like
  Windows 3.x can offer extended memory only up to four times the physical
  memory in the machine or 16MB, whichever is less.

  Virtualising EMS, XMS access means one VDM's use of memory does not affect
  others - more than one VDM can use XMS and EMS.

  EMS and XMS memory is mapped into the system's linear address space, and
  managed just like any other allocated memory. VEMM is compatible with LIM EMS
  4.0 specification, and VXMS compatible with LIMA version 2.0 functions. The
  amount of EMS or XMS is configurable in CONFIG.SYS or in DOS settings.


  Protection

  VDMs operate in entirely separate process address spaces, and are controlled
  by a VDM Manager.  They can thus be terminated on detection of illegal
  instructions without affecting the rest of system, or when the application is
  "hung."  Thus problems in one VDM do not corrupt others, nor the system.


  Memory management

  Since VDMs take advantage of the virtual memory and paging facilities of the
  386, they are swappable and, therefore, starting several DOS sessions will
  not significantly increase system memory requirements. Note, also, that each
  DOS session is individually configurable, so that EMS and XMS support can be
  switched off if not required, reducing overall virtual memory requirements.
  As always, of course, there is a balance to be made between memory usage and
  performance when overcommitting memory.




                                                      OS/2 2.0 key elements  23









  DOS emulation

  All DOS services (eg I/O) are emulated within the MVDM kernel or passed to
  the OS/2 kernel (eg file services). Most of this emulation runs in protected
  mode outside the VDM (hence the large amount of DOS memory available). All
  documented (and some undocumented) DOS features are supported (such as device
  driver loading/support, program loading and execution, memory management) as
  well as all documented (and some undocumented) DOS interrupts (INT 20h, INT
  21h, INT 27h etc).  This provides a highly compatible "DOS 5.0-like"
  environment.


  Input/Output

  File Input/Output (I/O) in VDMs is made through the OS/2 file system, which,
  via VDM DOS emulation, provides a compatible interface to file I/O for DOS
  applications.  Thus DOS applications can, without modification, take
  advantage of OS/2's Installable File Systems (IFS) like HPFS, and the
  enhanced FAT (see "File systems" on page 34).  Other I/O is performed either
  by DOS emulation or via Virtual Device Drivers (VDDs), such as BIOS, video,
  printer, keyboard (see below).  DOS applications may continue to run and
  access system resources quite unaware that those resources are virtual, and
  real access to devices is provided by OS/2 2.0 itself.  This guarantees
  compatibility but also allows DOS applications to take advantage of the
  inherent strengths of the OS/2 environment.


  VIRTUAL DEVICE DRIVERS (VDDS)

  OS/2 2.0 isolates DOS and Windows applications from I/O devices that are
  controlled by OS/2 device drivers, by emulating, or virtualising them for one
  or more DOS or Windows applications.  This is done by Virtual Device Drivers
  (VDDs).  VDDs provide a virtual instance of the real hardware, which is
  controlled by a physical protected mode driver (PDD - see "PDDs" on page 25
  below).


  VDD features

  VDDs therefore provide the following support:

  1.  PROTECTION:  VDDs allow DOS applications to access hardware and BIOS
      without affecting other VDMs or other protected mode processes. This
      prevents VDMs from corrupting each other, or the system.

  2.  VIRTUALISATION:  VDDs avoid direct hardware access from DOS applications,
      but provide a virtual, or emulated, hardware state that lets the
      application think it is doing so.  To do this, they maintain a virtual
      hardware state for each VDM.  This means applications can, for example,
      access BIOS and video RAM (as Lotus 1-2-3 does), and receive hardware and
      software interrupts.  In addition, VDDs can either perform I/O through a
      PDD, or directly address an I/O device itself for greater performance.
      In this way, virtual video drivers can support fast screen I/O to match
      performance expectations of DOS users working with programs like 1-2-3.


                                                      OS/2 2.0 key elements  24









  3.  SHARING:  VDDs allow sharing of devices across the system between DOS and
      OS/2 applications where there is a VDD/PDD combination for that device.
      There is also support for many DOS device drivers, to allow devices that
      do not have a VDD/PDD combination, to be supported in a VDM, for access
      exclusive to that VDM.

  4.  MEMORY:  the VDD is a protected mode driver which allows virtual device
      driver support to be loaded above the VDM's first megabyte of address
      space.  This means that there is no memory impact on the use of VDDs for
      DOS applications. Only where DOS device drivers need to be loaded is
      there any impact under 1MB, and then the same as in DOS.


  PDDs

  Physical Device Drivers (PDDs) correspond to OS/2 device drivers in 1.3, but
  with an important difference: they execute entirely in protected mode, unlike
  the bimodal 1.x device drivers.  Real mode interrupt handling is no longer
  required since VDMs run in V8086 mode - all interrupt processing is therefore
  done in protected mode.  Most OS/2 1.x device drivers work "as is":  the part
  of the driver capable of being run in real mode (needed for the 1.x DOS
  compatibility box) is not supported, but their protected mode portion will
  usually work.  However, an old 1.x device driver is unlikely to service VDMs,
  because the VDD requires support from the PDD that does not exist in older
  drivers.

  This also means that no portion of the OS/2 device drivers needs to be
  located below the 1MB line, and therefore increases the size of the
  environment available to DOS applications.  But DOS applications may still
  make use of these PDDs through the VDD interface.


  How VDDs work

  VDDs work by facing two ways: to the application, providing a virtual
  hardware state, and to the PDD or device, performing the physical I/O.

  At boot time, VDDs are loaded, and many establish communications with the
  corresponding PDD via a direct call interface.  The list in the section "VDD
  examples" on page 26 shows which VDDs have a direct interface with an OS/2
  PDD. The VDD controls the DOS application's access to the device, and relies
  on the PDD to manage the physical hardware operations.

  The example below, and the accompanying diagram, show how the virtual COM
  driver (VCOM.SYS) works.

  1.  The COM PDD services all hardware interrupts from the asynchronous ports,
      and buffers the data being transmitted or received.

  2.  The direct call interface between the VDD and PDD allows the VCOM to
      emulate asynchronous BIOS functions to send and receive characters, or to
      set and query the state of a COM port, as well as receive the interrupts
      passed on by the PDD.



                                                      OS/2 2.0 key elements  25









  3.  All of the time, the DOS application believes it is controlling these
      functions itself (just like it would under DOS), and is having interrupts
      and data from the PDD and the COM port reflected back to it by the VDD to
      maintain the illusion. The DOS application is therefore accessing only a
      virtual copy of the COM port. The VDD gets control when a DOS application
      performs direct I/O to a port (IN our OUT instructions), or via BIOS or
      other software interrupts (INT instructions).

  4.  OS/2 applications can simultaneously access the COM functions via the PDD
      using normal OS/2 function calls like DosOpen.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 3. How VDDs work

  Not all VDDs need to operate with a PDD in this way. Some VDDs (eg video)
  directly access the device for performance reasons. DOS applications still do
  not address the device directly themselves - the VDD still virtualises the
  I/O to the DOS application.

  The VDD/PDD interface is required where hardware interrupts need to be
  simulated into one or many VDMs (COM is a good example).  This is important
  so that DOS applications that want to control the hardware device directly,
  do not need to get control at interrupt time, but can be deferred until the
  OS/2 kernel dispatches the VDM task.  This preserves system integrity and
  maintains overall system performance.  This interrupt latency, as it is
  called, may cause problems for a minority of applications that are highly
  dependent on real-time interrupts.  But the vast majority of DOS
  applications, even high speed communications, can be dealt with successfully.

  VDDs can be made swappable, and are installed using DEVICE= statements in
  CONFIG.SYS.

  Additional VDDs can be written by third parties for their devices, via a
  published programming interface, using the Virtual Device Helper (VDH)
  services provided by the MVDM kernel.

  A VDD is required only if a device will be shared with other VDMs or OS/2
  processes.  If a particular device is to be used exclusively by one DOS
  application, the DOS device driver may be used.  Thus, OS/2 2.0 can provide
  "generic" support to most DOS device drivers, but such support is limited to
  that VDM. It does provide greater compatibility and a wider support of
  devices, enhancing the DOS compatibility of OS/2 2.0 (see "DOS device
  drivers" on page 46 for more).  DOS Device drivers can be loaded via the DOS
  Settings (see "DOS Settings" on page 47).


  VDD examples

  VDDs exist for most of the common device types.  The following table lists
  some of the ones that are included in OS/2 2.0:



                                                      OS/2 2.0 key elements  26









  +---------------------------------------------------------------------------+
  | Table 3 (Page 1 of 2). Virtual Device Drivers                             |
  +-------------+-----------------------------------------+-------------------+
  | NAME        | DESCRIPTION                             | INTERFACES WITH   |
  |             |                                         | PDD               |
  +-------------+-----------------------------------------+-------------------+
  | VBIOS       | DOS system areas like ROM BIOS and      |                   |
  | &CLUB.      | interrupt vector tables are mapped from |                   |
  |             | physical memory into the VDM address    |                   |
  |             | space by VBIOS.SYS.                     |                   |
  +-------------+-----------------------------------------+-------------------+
  | VCDROM      | CD-ROM support                          |      *            |
  +-------------+-----------------------------------------+-------------------+
  | VCMOS       | CMOS data area and Real time clock      |                   |
  | &CLUB.      | support                                 |                   |
  +-------------+-----------------------------------------+-------------------+
  | VCOM        | Asynchronous COM ports                  |      *            |
  +-------------+-----------------------------------------+-------------------+
  | VDMA        | Direct Memory Access (DMA)              |                   |
  | &CLUB.      |                                         |                   |
  +-------------+-----------------------------------------+-------------------+
  | VDPMI       | DOS Protect Mode Interace - used in     |                   |
  |             | WIN-OS/2 and applcations like Lotus     |                   |
  |             | 1-2-3 3.1+                              |                   |
  +-------------+-----------------------------------------+-------------------+
  | VDPX        | DOS Protect Mode Extender               |                   |
  +-------------+-----------------------------------------+-------------------+
  | VDSK        | Disk/diskette, only for INT 13          |      *            |
  | &CLUB.      | copy-protection                         |                   |
  +-------------+-----------------------------------------+-------------------+
  | VEMM        | Expanded memory support - up to 32MB    |                   |
  |             | per VDD                                 |                   |
  +-------------+-----------------------------------------+-------------------+
  | VFLPY       | Floppy disk interface                   |      *            |
  | &CLUB.      |                                         |                   |
  +-------------+-----------------------------------------+-------------------+
  | VKBD        | Keyboard - also has INT 9h emulation    |      *            |
  | &CLUB.      | code to perform functions usually       |                   |
  |             | performed by CBIOS, such as key and     |                   |
  |             | scan code queuing, update of keyboard   |                   |
  |             | LEDs, and processing for Print Screen,  |                   |
  |             | SysReq, Break and Pause (INT 5h, INT    |                   |
  |             | 15h, INT 1Bh respectively).             |                   |
  +-------------+-----------------------------------------+-------------------+
  | VLPT        | Printer                                 |      *            |
  | &CLUB.      |                                         |                   |
  +-------------+-----------------------------------------+-------------------+
  | VMOUSE      | Mouse                                   |      *            |
  +-------------+-----------------------------------------+-------------------+
  | &CLUB. refers to base set of VDDs automatically loaded at system          |
  | initialisation time; others can be loaded via DEVICE= statements in       |
  | CONFIG.SYS.                                                               |
  +---------------------------------------------------------------------------+



                                                      OS/2 2.0 key elements  27









  +---------------------------------------------------------------------------+
  | Table 3 (Page 2 of 2). Virtual Device Drivers                             |
  +-------------+-----------------------------------------+-------------------+
  | NAME        | DESCRIPTION                             | INTERFACES WITH   |
  |             |                                         | PDD               |
  +-------------+-----------------------------------------+-------------------+
  | VNPX        | Numeric co-processor (x87)              |                   |
  | &CLUB.      |                                         |                   |
  +-------------+-----------------------------------------+-------------------+
  | VPIC        | Programmable Interrupt Controller       |                   |
  |             | (8259)                                  |                   |
  +-------------+-----------------------------------------+-------------------+
  | VTIMER      | Timer                                   |      *            |
  | &CLUB.      |                                         |                   |
  +-------------+-----------------------------------------+-------------------+
  | VWIN        | For WIN-OS/2 "seamless" support         |      *            |
  +-------------+-----------------------------------------+-------------------+
  | VXMS        | Extended Memory (XMS) specification -   |                   |
  |             | up to 16MB per VDD                      |                   |
  +-------------+-----------------------------------------+-------------------+
  | Video       | Supports all documented video modes     |      *            |
  | (VCGA,      | from mono to XGA, including the         |                   |
  | VMGCA,      | documented modes of VGA and 8514/A.     |                   |
  | VEGA, VVGA, |                                         |                   |
  | V8514,      |                                         |                   |
  | VXGA,       |                                         |                   |
  | VSVGA)      |                                         |                   |
  +-------------+-----------------------------------------+-------------------+
  | &CLUB. refers to base set of VDDs automatically loaded at system          |
  | initialisation time; others can be loaded via DEVICE= statements in       |
  | CONFIG.SYS.                                                               |
  +---------------------------------------------------------------------------+


  MULTI-TASKING
  _____________

  OS/2 has always been highly regarded for its industrial-strength
  multi-tasking design.  OS/2 2.0 continues those strengths, harnessing the
  CPU-level support of the 386 processor for even more efficient multi-tasking.


  WHY DO I NEED MULTI-TASKING?

  Some people believe that they do not need multi-tasking, on the premise that
  "I can only manage one thing at a time myself."  However, the simplest way of
  understanding the need for multi-tasking is to imagine what happens when you
  get an interruption at work.  Consider this simple scenario:

  You are working on a report (using your word processor) when the telephone
  rings.  It's the boss, and he wants the latest sales figures from you NOW.
                                                                        ___
  Quickly, you stop what you're doing, put aside the word processor, and
  connect to the database to run the report routine.  While logging on and
  running the report, you start your spreadsheet program, so you can put the
  report from the database into the spreadsheet, to make some extra


                                                      OS/2 2.0 key elements  28









  calculations that are required.  When the report has run and the spreadsheet
  has recalculated, you take the figures into your charting program to make a
  graph.  You may also wish to cut and paste this graph into a new document
  that you create with your word processor (which you call up quickly after you
  put it aside) to explain the figures to the boss.  In addition, if you are a
  cautious person, you may back up the report you have created and keep your
  own copy on diskette (in which case it would have been nice to have started
  that formatting five minutes ago when you were logging on!)  Once you've
  created the new document, with the latest sales figures and calculations
  shown in a graph, you may wish to send it to the boss via electronic mail.
  Finally, you can return, after a brief rush of activity, to your original
  report where you left it.

  Such a scenario is characteristic of much of our work. Many of us are driven
  by interruptions. In fact, it is not an exaggeration to say that any PC user
  who has a phone can benefit from multi-tasking. The benefits are obvious:

  o   handle interruptions

  o   less waiting for one operation to complete (the "hourglass" in Windows
      3.x is a sign of a platform with only limited multi-tasking)

  o   let the computer do the work while you stay productive
                                         ___

  o   handle "beneath the covers"  function like logging on, printing and
      running database reports

  o   give smooth, even performance between different tasks

  But perhaps the most persuasive argument is to imagine how the above scenario
  would have been achieved using DOS!


  WHAT IS PRE-EMPTIVE MULTI-TASKING?

  Most users understand that multi-tasking allows more than one application to
  run at once.  Of course, without multiple processors, they do not actually
  execute instructions simultaneously - the CPU still only processes one
  instruction at a time, but the operating system can divide CPU time between
  several processes to make it appear to the user that those processes are
  executing simultaneously.  Therefore most multi-tasking operates on the basis
  of some form of CPU time-slicing.

  Furthermore, it is important to distinguish between multi-tasking, where
  applications continue to execute when in the background, and context
  switching, where they lie dormant until given the user focus.  Some
  environments (such as OS/2 1.3 DOS Box, Windows 3.x standard mode, and DOS
  5.0's Task Switcher) are only context switching.  In these cases, the
  background task does not receive CPU cycles, and time is devoted only to
  foreground tasks.

  Some of the tasks in the scenario outlined above can be achieved using
  systems that offer only context-switching, or non-pre-emptive multi-tasking.
  But a pre-emptive multi-tasking system would allow the whole job to be


                                                      OS/2 2.0 key elements  29









  achieved faster and more efficiently, because the overall performance of the
  system would be more balanced (see "Why is it important?" on page 30).
  Systems management tasks like background "agents"  to collect configuration
  and performance data, are very difficult to implement except in a pre-emptive
  multi-tasking system (see "OS/2 for client-server" on page 109).

  Multi-tasking is pre-emptive when the processor allocates a finite time to
  each task, and then switches the processor to another task, even if the first
  task is not "ready" to give up the processor.  Non-pre-emptive implies that
  tasks can "hold on" to the processor within certain limits.


  WHY IS IT IMPORTANT?

  To understand the significance of the difference between pre-emptive and
  non-pre-emptive multi-tasking, it is useful to contrast the approach taken by
  a DOS multi-tasker like Windows 3.x, with OS/2's approach.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 4. Multi-tasking under Windows 3.x

  Windows 3.x implements a time-slicing scheduler on top of DOS, which is in
  itself a single-tasking operating system. In Windows Enhanced mode (which
  requires a 386 or above - see "Windows 3.x modes" on page 54), DOS
  applications run in virtual machines which are pre-emptively multi-tasked;
  Windows applications run together in one separate virtual machine; this
  process is pre-emptively multi-tasked in relation to the other DOS sessions.

  However, Windows applications themselves only support co-operative
  multi-tasking, which means that Windows applications need to be "well
  behaved" to give up the processor attention to allow other tasks to proceed,
  with specific use of functions such as yield(). Windows applications are
  therefore pre-emptively multi-tasked with respect to the rest of the system,
  but only co-operatively among Windows applications. When a Windows program
  needs to do some lengthy processing, or is waiting for I/O, it needs to take
  special precautions against halting all other Windows programs for this
  duration.  Needless to say, some do not, and that is why the user can be
  frequently faced with the hourglass icon for periods of time when doing
  extensive processing or I/O. Furthermore, a Windows application has no
  guarantee of processor time within any period, which can potentially cause
  problems for applications needing regular processor attention, such as
  communications programs.

  Even though DOS applications are pre-emptively multi-tasked in Windows, the
  scheduler algorithm is fairly unsophisticated, time-slicing on a static
  allocation basis (the proportions can be tuned by the user, but they remain
  static). This means that, even though an application may be unable to make
  any effective use of its processor share (for example when it is tied up with
  an I/O request), it will get it anyway, even though more deserving candidates
  are waiting their turn. Thus the multi-tasking can be bogged down with



                                                      OS/2 2.0 key elements  30









  applications that are "I/O bound," like Application 1 in the above diagram,
  waiting for an I/O device to respond.

  Finally, since DOS itself is single-tasking, it has only one I/O queue, and
  cannot therefore easily handle multiple I/O requests except by processing
  them serially. So extenders like Windows that rely on DOS may be further
  weighed down by the single-tasking character of the operating system.

  One of the best illustrations of the I/O limitations of Windows 3.0 or 3.1 is
  to try running a spreadsheet recalculation, and a download from a host
  machine to the hard disk, while also attempting to format a floppy disk from
  the DOS prompt (not unlike the scenario we discussed previously). You will
  see that at least one of the tasks (usually the diskette format if it is not
  in the foreground) will process in a very "jumpy" way, and often will pause
  for very long periods. It is not unusual in such a scenario, to see one of
  the tasks come to a near standstill as the others progress. If one of the
  background applications is a communications program, the lack of processing
  time available to the background application may even result in loss of data.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 5. Multi-tasking under OS/2

  In contrast, OS/2 pre-emptively multi-tasks all processes, and also provides
  another, more granular unit of execution - the thread.  Threads can be
  thought of as distinct subroutines within a process, which can execute
  without immediate reference to the main logic, such as file I/O, database
  read/write, recalculation.  In OS/2 these threads can be dispatched
  separately, and be multi-tasked with each other, and along with other
  processes.  In fact, the basic unit of execution for the scheduler is the
  thread, and all processes contain at least one thread.

  The advantage of threads is that more time-consuming operations can be put
  into separate threads, and the main thread of the program devoted to user
  input; this helps the application to maintain an interactive and responsive
  feel even when processing other sub-tasks in the background (see Application
  1 in the diagram).  In this way, threads help prevent the kind of "I/O bound"
  feel to many DOS and Windows programs.  But it should be noted that use of
  threads applies to more than just I/O operations:  it is a powerful tool that
  can be used for any operation that can be run in background while allowing
  the user to regain control of the application, for further input.

  Threads do not exist in any currently available version of Windows (at the
  time of writing). Indeed, though the promised future product, Windows/NT (a
  different operating system) is claimed to offer multi-threading, Windows
  applications will need to be rewritten to take advantage of this facility,
  since Windows 3.x programs are inherently single-threaded. Porting from a
  Windows 16-bit program to a future 32-bit version of the Windows API will not
  be enough, nor can threads be easily added later; they must be woven into the
  basic design of the program to be used effectively. In fact, another promised
  feature of Windows/NT, symmetric multiprocessing, may have little value until
  multi-threaded Windows programs exist.  Symmetric multiprocessing is the


                                                      OS/2 2.0 key elements  31









  ability of a system to run multiple threads of execution on different
  processors concurrently (eg on multiple 486s within the same machine).  By
  definition it requires a multi-threaded system, and therefore, to take full
  advantage of it, multi-threaded applications, and Windows today is only
  single-threaded. So this feature will need new versions of applications to
  show its advantage. In fact, the most likely early candidates for
  multi-threaded Windows/NT programs are those (like Sybase SQL Server and
  Oracle) that are already multi-threaded by design because they exist today as
  multi-threaded OS/2 programs. It is one of many examples where Windows/NT
  promises little that is not already available with OS/2 Version 2.0.

  Again, in contrast with DOS and Windows 3.x, the OS/2 scheduler is much more
  intelligent than a simple time-slicer.  It can detect when applications are
  I/O bound (like Application 2 in the diagram), and shift CPU time to another
  thread or process.  Thus, priorities can be changed dynamically to preserve
  overall system responsiveness.

  And, to complete the picture, since OS/2 itself has a multi-tasking,
  multi-threaded design, it can provide multiple I/O queues and therefore
  overlapped I/O between processes. This helps to improve the perceived
  performance, especially in heavy system loads.

  The following table summarises the differences between Windows 3.x and OS/2
  2.0:

  +---------------------------------------------------------------------------+
  | Table 4. Multi-tasking - Windows 3.x and OS/2 2.0                         |
  +------------------------+-------------------------+------------------------+
  |                        | WINDOWS 3.X             | OS/2 2.0               |
  +------------------------+-------------------------+------------------------+
  | Multi-tasking DOS      | pre-emptive             | pre-emptive            |
  | applications           |                         |                        |
  +------------------------+-------------------------+------------------------+
  | Multi-tasking Windows  | co-operative            | pre-emptive (if in     |
  | applications           |                         | separate VDMs)         |
  +------------------------+-------------------------+------------------------+
  | Priority               | static                  | dynamic                |
  +------------------------+-------------------------+------------------------+
  | I/O processing         | serial, single queue    | overlapped, multiple   |
  |                        |                         | queues                 |
  +------------------------+-------------------------+------------------------+

  What this means to the user is that OS/2's multi-tasking is smoother, more
  consistent, less likely to be bogged down by I/O or by an application
  attempting to monopolise the processor, and more responsive and interactive
  in feel.










                                                      OS/2 2.0 key elements  32









  MULTI-TASKING AND THE USER INTERFACE

  One of the advantages of a graphical environment is that it can represent
  concurrent tasks by icons and windows on the screen, thereby giving a visual
  indication of the number and variety of tasks. This is true of both Windows
  and OS/2.

  However, OS/2 2.0 builds on the basic benefits of the "first generation" GUIs
  like Windows 3.x and OS/2 1.3, and adds some features specifically designed
  to aid smoother multi-tasking and switching between tasks:

  o   the "Window List" is more functional than the Windows 3.x task list,
      allowing several applications to be "resurfaced" on the screen, or
      closed, at once, rather than moving to and clicking on discrete icons for
      each task

  o   the ability to "hide" windows when not in use, rather than reducing to an
      icon on the screen(2) , results in a less cluttered desktop, making it
      easier to find what you want quicker, especially in screen resolutions
      with limited screen "real estate," such as VGA.

  o   OS/2 2.0 allows whole groups of applications and data to be grouped
      together in a logical unit (a "project," as it were) by putting them
      together in a common folder. This is more convenient and flexible than
      just creating directories and copying files manually, as you would have
      to in DOS and Windows. (You can also be more flexible in naming such
      folders, going beyond the eight character limits even in a FAT file
      system - see "Descriptive names" on page 92)

  o   Each folder can also be given a "workarea" property.  This allows several
      applications to be opened, hidden or closed, together, simply by opening
      or closing the folder, rather than going to each window individually.
      For example, a folder containing a spreadsheet, word processor and
      graphics applications may have all these programs running together, but
      then close them or hide them in a single operation on the folder, and
      restore them all to the state they were in previously, in another single
      operation.  This means the whole state of work in progress can be quickly
      set aside, and another begun or resumed easily.  OS/2's ability to save
      and restore what you were doing from one boot to another is a specific
      example of this workarea feature

  None of these user interface features appear in either Windows 3.x or in the
  current beta test releases of Windows/NT.  The result of all of this is that
  the Workplace Shell is much easier to use in a multi-tasking scenario than
  older GUIs.  The user interface matches the internal design in being
  optimised for multiple tasks, making it easy to move from one task to the
  next.

  ---------------

  (2) Windows can either be hidden (the installed default), minimised to the
      desktop, as happens in Windows 3.x and OS/2 1.3, or minimised to a
      Minimised Window Viewer, according to the user's preference.  This can be
      set on a per-object basis.


                                                      OS/2 2.0 key elements  33









  FILE SYSTEMS
  ____________

  OS/2 offers superior file system support, which leads to increased
  performance.  The OS/2 architecture also allows other file systems to be
  installed in a modular fashion (Installable File Systems or IFS). It is
  therefore more flexible in design to accommodate future enhancements; for
  example, OS/2 now includes CD-ROM support via an IFS.

  OS/2 also provides support for very large disks, a consideration that is
  particularly relevant to server environments. OS/2 supports hard drives up to
  2GB in size. In Windows 3.1 the limit is only 1GB.

  OS/2 2.0 provides file I/O services not only to OS/2 applications, but to DOS
  and Windows applications running in VDMs. Therefore, DOS and Windows
  applications can take advantage of the advanced function, without having to
  be modified, since the DOS emulation of MVDM provides a compatible interface
  to the file system for DOS applications.

  Both major OS/2 file systems have been improved under OS/2 2.0, allowing
  better performance not only for applications themselves, but also in the
  paging performed by the system when using virtual memory.


  HIGH PERFORMANCE FILE SYSTEM (HPFS)

  HPFS was first introduced to OS/2 in version 1.2, and is an example of the
  kind of advanced function that has not yet been implemented in less
  sophisticated systems like DOS.  It was introduced as an alternative to the
  File Allocation Table (FAT) system which came from DOS.  HPFS is particularly
  good for managing large disks and partitions or large files.  It provides
  fast and consistent performance, outperforming DOS-based FAT systems in tests
  run by IBM, in nearly all cases. (OS/2 2.0 implements an enhanced FAT system
  that uses some similar caching features as HPFS, which can also give high
  performance in many circumstances - see below).

  HPFS is particularly good in disk utilisation (compared to FAT).  It uses a
  highly contiguous file allocation system, which results in especially good
  performance (relative to FAT) in accessing files or data in a cluttered or
  full partition.  It implements a B-Tree directory structure and search
  algorithm, as opposed to sequential under FAT.  HPFS also allows for
  multi-threaded I/O, caching of directory pointers in memory for quicker
  access of last directories used, and read-ahead and lazy write (lazy write
  buffers up write requests from applications and commits them to disk after a
  given time or during disk inactivity.)  These advanced features allow for
  substantial performance increases and greater tuning.  HPFS can also provide
  write error recovery on the fly with "hotfix"  facilities.

  Since it is FAT-compatible at API level, applications running under OS/2 can
  use either system, and do not have to be written specifically for one or the
  other.  It also presents a consistent interface to other components of OS/2
  like MVDM, to allow DOS and Windows to use HPFS volumes as if they were FAT.

  HPFS also supports the use of long file names, for greater usability, so
  instead of having LJS1290.TXT, you can have a file name "Letter to John Smith


                                                      OS/2 2.0 key elements  34









  December 90."  Obviously applications need to be coded with this in mind.
  DOS and Windows applications can use files that adhere to the 8.3 naming
  system on HPFS without any difficulty.

  HPFS has been enhanced in version 2.0 to add performance-related features
  such as command chaining (providing a list of contiguous sector requests
  required to fulfil an I/O request) and scatter/gather facilities such as are
  supported in Small Computer Systems Interface (SCSI) adapters to gather
  physically discontiguous pages in a data buffer, and perform I/O in a single
  operation.


  ENHANCED FAT

  OS/2 2.0 includes an enhanced version of the FAT file system which is
  completely compatible with the FAT system under DOS.  This gives greater
  performance but full compatibility with existing FAT systems.  It adds
  features like lazy write and improved caching to FAT.  This means that DOS
  applications running with a FAT file system under OS/2 2.0 will be
  substantially faster for disk-based operations than under DOS.  All of these
  benefits can be obtained without having to reformat your hard disk - the OS/2
  enhanced FAT driver works with existing DOS FAT volumes.


  SCB EXPLOITATION

  OS/2 2.0 implements the Subsystem Control Block (SCB) architecture for more
  intelligent and efficient disk access. SCB defines a standard way of
  communicating between device drivers running on the main system CPU, and I/O
  processors located on advanced function adapters (like SCSI) that are capable
  of operating independently from the CPU. SCB therefore fits naturally with
  the use of SCSI adapters, and will allow better exploitation of SCSI
  functions like scatter/gather and command chaining.  The implementation is
  transparent to the OS/2 user and the developer; there are no application
  considerations, simply improved performance.  It is simply a means of getting
  more out of a system that provides advanced intelligent adapters for disk
  I/O.  Exploitation of newer, more advanced devices such as SCSI is better
  under OS/2 than under Windows, which does not provide such features.


  BROAD HARDWARE SUPPORT
  ______________________

  OS/2 1.x was separately distributed by both IBM and Microsoft. IBM delivered
  IBM OS/2, which was specifically optimised for and supported on IBM equipment
  (AT and PS/2 family), while Microsoft distributed MS OS/2 to its OEMs like
  Compaq and Olivetti (many of these versions had manufacturer-specific
  modifications too). This meant that there were different versions of OS/2
  according to the machine it ran on. Although this was not in essence any
  different than had always been the case for DOS, the perception was that
  supporting OS/2 in a mixed hardware environment was hampered by the lack of a
  "generic" version of OS/2.

  This problem has been overcome in OS/2 2.0, which supports a broad range of
  machines with an Intel 386SX or above, with a single version of OS/2. This


                                                      OS/2 2.0 key elements  35









  shows that OS/2 2.0 does not run only on IBM equipment.  Open hardware
  support applies not only to the base system, but also to Extended Services
  for OS/2 and OS/2 LAN Server (some models may require more memory installed
  to run the systems extensions).  IBM supplies regularly updated lists of the
  models it has tested via bulletin boards (see the list in Appendix D, "OS/2
  Bulletin Board Systems" on page 161) and IBM representatives. Among the
  vendors whose models are supported, are Compaq, AST, Olivetti, Toshiba,
  Hewlett Packard, Dell, Gateway, Wang, DEC, NCR, Tandy, ACER, CompuAdd and
  many others.  Ask your IBM representative to look for the PCMTABLE package on
  the MKTTOOLS disk.

  In fact, even though IBM cannot test OS/2 on all the models and manufacturers
  in the market, it is likely that most PCs equipped with an Intel 386SX or
  above processor, will work.  More models are being tested all the time, and
  IBM is committed to working with as many manufacturers as possible to
  determine OS/2 compatibility.  Indeed, the evidence from user registrations
  for OS/2 2.0 in Europe alone, suggests that users are already running OS/2
  2.0 on hundreds of machines that have not yet appeared on any "official"
  list.  By 2 September, 1992, 802 models had been recorded from registration
  cards that do not appear on the list of tested models.

  OS/2 is not limited to machines with Micro Channel architecture.  Even the
  supported PS/2 models include AT-bus machines like the Model 40, as well as
  Micro Channel machines like the Model 57.  AT-bus, Micro channel and EISA
  machines from a variety of vendors are supported.

  Furthermore, IBM is now making OS/2 2.0 available, preloaded on the hard disk
  of selected IBM PS/2 models, including the Models 56 and 57. This is a
  convenience for users, who do not need to install the operating system at
  all, but can switch on the PC to discover the system already set up for their
  use, along with a number of new applets and help on using the system. IBM is
  making this facility available to other IBM-compatible hardware
  manufacturers, and arrangements have already been made with a number of
  vendors, including Dell and Olivetti, to provide OS/2 2.0 with selected
  models in their hardware range. Contact your supplier for the latest
  information.

  OS/2 also has broad support for different displays, disks and printers.  Most
  of the major display standards (VGA, 8514, XGA) have full support.  SuperVGA
  (SVGA) support exists for some adapter types already (some existed in OS/2
  1.3), and more drivers are appearing from the SVGA chip set vendors like
  Trident and Tseng.  Many SVGA DOS and Windows drivers are also supported in
  full screen DOS and WIN-OS/2 sessions, even if the main desktop has to run in
  VGA mode if there is no PM screen driver.  IBM plans further enabling of
  SuperVGA support in an update option to be made available by the end of 1992.

  OS/2 supports 205 models of printer, which covers over 90% of the printer
  market, from dot matrix, to inkjet and laser printers.  Models from the major
  vendors like Epson, Hewlett Packard and IBM receive wide coverage (look at
  the file PMSETUP.INF in the \OS2 directory for the complete list). There is
  also generic text printing support which should work on any printer.
  Furthermore, if a Windows driver exists for a device, it can be installed in
  WIN-OS/2, and used for Windows applications running under OS/2 2.0 (the
  product includes additional Windows printer drivers for Canon, HP and NEC


                                                      OS/2 2.0 key elements  36









  printers).  Where both a Windows and an OS/2 printer driver exist, they can
  both be installed in one step at installation time.

  Generic INT13 disk support is provided in OS/2 2.0, which should allow most
  of the common drive types to work.  IBM and Adaptec have developed a common
  specification which will make the development of vendor-specific SCSI drives
  much easier.  Drivers already exist for some of the OEM SCSI adapter vendors.
  More are in development, and IBM is producing tools to help support the
  development of drivers for displays, printers and disks.

  OS/2 1.x suffered from a relative lack of OS/2 device driver support, but
  OS/2 2.0 can make use of many devices via their DOS device driver (see "DOS
  device drivers" on page 46). Devices such as hand scanners and fax cards can
  often be supported in this way, broadening the range of devices available to
  OS/2 users.

  OS/2 device support is broadening as the industry increases its support, but
  IBM continues to develop drivers itself and work with other vendors to ensure
  that even wider support is provided.





































                                                      OS/2 2.0 key elements  37









  BETTER DOS
  __________





  There are over 20,000 DOS applications available today. In order to be an
  integrating platform for PC-based applications, the primary task for OS/2 2.0
  is to fully support that wide range of applications.

  OS/2 version 1.3 was limited in the support it could provide for DOS
  applications, mainly due to the limitations of the 286 architecture on which
  the OS/2 1.x base was designed. However, use of the 386, and in particular
  the virtual 8086 mode of the processor, allows DOS applications support to be
  much more extensive in version 2.0 - indeed, a better DOS than DOS itself.


  MULTIPLE DOS APPLICATIONS
  _________________________

  Several DOS applications can be run at once in OS/2 2.0.  All DOS
  applications can be invoked from an icon on the Workplace Shell desktop, or
  from any DOS or OS/2 command prompt.  They can be run in a full screen
  session (rather like they were in 1.3), or windowed on the Workplace Shell
  desktop.  Both text-based applications (such as Lotus 1-2-3 v2.2 and
  WordPerfect) and applications that run in graphics mode (such as Lotus
  Freelance Plus or Harvard Graphics, as well as the Microsoft Flight Simulator
  or other games programs) can be run.  Graphics mode applications can be run
  windowed alongside text-based applications running in windows.  This cannot
  be done without restrictions in Windows 3.0, and although Windows 3.1 does
  allow VGA graphics to run in a window, this feature will not be available
  under Windows/NT, where, according to Microsoft, the application will have to
  run full screen.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 6. Multiple DOS applications in windows on the Workplace Shell desktop

  DOS applications running in a window on the Workplace Shell desktop can take
  advantage of many of the ease of use features of the Workplace Shell, such as
  sizing the window to a convenient size, tiling windows so several
  applications can appear alongside each other, and hiding them to make more
  space on the screen while leaving the application running.  Furthermore, many
  DOS applications will be able to take advantage of the font support in PM
  windows:  you can change the font size to better suit the size of the window
  you are running in (the range of sizes available is determined by the display
  adapter you are using - on VGA, for example, there are 10).  Again, all of
  this support is provided by PM:  no modification is required to the DOS
  application.  Contrast this with DOS, where getting a small font size for
  applications like Lotus 1-2-3, requires re-running the Install program, and
  the risk of creating an invalid setup.




                                                                 Better DOS  38









  DOS applications that support the mouse get use of the mouse, even when
  running in a window (there are DOS settings to give the DOS application
  exclusive use of the mouse pointer while in the application window - see "DOS
  Settings" on page 47). This is much easier to set up in OS/2 2.0 than it is
  under Windows 3.1 (Windows 3.0 did not support DOS windowed applications
  using a mouse), as it only requires one change to the DOS settings (which are
  automatically set up for many programs via the Migrate option - see
  "Migrating applications" on page 51); in Windows 3.1, you need to have
  already installed the DOS mouse driver in AUTOEXEC.BAT or CONFIG.SYS (thus
  reducing the memory available to all DOS applications whether or not they use
  the mouse).

  All of this means that, without changing any of your DOS applications, the
  Workplace Shell environment can "add value" to the applications while
  preserving full compatibility with the way they are used under DOS.


  APPLICATION INTEGRATION
  _______________________

  OS/2's DOS support is not simply a question of compatibility - under OS/2
  2.0, you can make your applications work together in a way that is not
  possible under plain DOS.  It is possible to copy information from one
  application to the clipboard, and paste it into another.  This can be between
  two DOS applications, between a DOS application and an OS/2 application, or
  any combination of DOS, Windows and OS/2 applications.

  Moreover, both text and graphics can be cut and pasted between applications,
  (although graphics can only be received by those applications that are
  capable of handling bitmap data - mainly OS/2 and Windows applications). This
  allows two-way sharing of data between applications.

  This means that DOS applications not only integrate better with GUI
  applications written for Windows and OS/2, but also with other DOS
  applications, even though they may not have been written to work together.

  Imagine, for example, if you were using the DOS versions of Lotus 1-2-3 and
  WordPerfect, and you wanted to incorporate some figures from your spreadsheet
  into the report you are writing on the word processor.  Under DOS, you would
  need to quit one application (the word processor) to load another (the
  spreadsheet), retrieve the spreadsheet file and make the conversion into a
  file format the word processor understands (perhaps plain ASCII, thus losing
  any formatting you have created in the spreadsheet), exit the spreadsheet
  application, load the word processor and the report again, and import the
  data into your report.  Whereas in OS/2 2.0, you can simply use the
  clipboard.  With the applications running side by side in windows on the
  desktop, mark some data from the spreadsheet, copy it to the clipboard, and
  paste it into the word processor - all without closing files or applications.
  The clipboard takes care of any data conversion.  As the number of
  applications you need to integrate grows, so the difficulty of remembering
  different methods of data conversion grows, but in OS/2 2.0, the user simply
  works with copy and paste each time.

  Thus, standard, unmodified DOS applications can be integrated under the OS/2
  Workplace Shell.  DOS applications can also be written to take advantage of


                                                                 Better DOS  39









  the OS/2 environment, or OS/2 applications written to start DOS applications.
  One example of this is the OS/2 command prompt in OS/2 2.0, which can start
  DOS applications simply by typing the name of the .EXE file, just as one
  would from a DOS command prompt.  This helps to reduce the need to
  differentiate between DOS and OS/2 applications, from the user's point of
  view.

  Another method of integration is via the named pipes mechanism, which allows
  DOS and OS/2 applications to be written to communicate with each other.


  MULTI-TASKING OF DOS APPLICATIONS
  _________________________________

  Not only can several DOS applications run at the same time, in separate
  windows on the Workplace Shell desktop, but each continues to run in the
  background while you are working on another.  In this way, DOS applications
  can take advantage of OS/2's pre-emptive multi-tasking, overlapped I/O, and
  OS/2 file system performance.  Let's take a look at each of these in turn:


  PRE-EMPTIVE MULTI-TASKING

  As was explained earlier ("Multi-tasking" on page 28), OS/2 was designed to
  manage processor time smoothly between multiple applications, not only OS/2
  applications, but also DOS and Windows applications running in Virtual DOS
  Machines (VDMs).  This is more sophisticated than the simple time-slicing
  mechanism employed by Windows 3.x, and takes into account, for example, when
  applications are "I/O bound," waiting for an I/O device to respond.  In OS/2
  priorities can be changed dynamically by the processor according to such
  criteria, in contrast to the static approach employed by Windows 3.x.
  Therefore, even though both environments employ pre-emptive multi-tasking for
  DOS applications, the OS/2 scheduler is more sophisticated than Windows'
  scheduler.  Relative performance between applications can be tuned by a
  number of DOS settings (see "DOS Settings" on page 47 for some examples of
  DOS settings).

  The result of all of this, is that OS/2 provides a more balanced performance
  between applications, not only those from DOS, but between them and Windows
  and OS/2 applications.


  OVERLAPPED I/O

  All DOS applications have their I/O requests serviced by OS/2 (although the
  application makes calls to DOS I/O in the same way as usual, they are trapped
  and serviced by OS/2).

  This allows DOS applications to take advantage of OS/2's better I/O
  capabilities without needing to be rewritten. Just by running under OS/2 they
  can benefit from OS/2's ability to overlap I/O requests and services. This
  improves performance in many scenarios, particularly where multiple
  applications are running.




                                                                 Better DOS  40









  ACCESS TO OS/2 FILE SYSTEM

  Although DOS applications have not been written to use the OS/2 file systems,
  they can without modification use them and derive the same benefits as OS/2
  applications do. All file access uses the OS/2 file system. Both the HPFS and
  enhanced FAT file systems under OS/2 provide superior performance compared to
  DOS(3)

  Therefore despite the inevitable multi-tasking overhead, many applications
  will perform just as well, and some will perform better, than under native
  DOS.  In test cases run by IBM, multi-tasking performance of DOS applications
  was superior to that under Windows 3.x.


  MEMORY USAGE
  ____________

  Memory has been one of the biggest constraints on the development of the DOS
  environment. The 640KB limit was for a long time an inhibiting factor for
  many users and application developers. Despite many workarounds, such as the
  LIM expanded memory, use of the HMA area, and the growth of DOS extenders
  (see "Memory: Conventional, Expanded, Extended" on page 21 for a more
  detailed discussion), memory management under DOS is a complex and
  frustrating task, and there still remain limitations for the large number of
  DOS applications written to use only conventional memory below the 640KB
  mark.


  COMPARISON WITH MEMORY USAGE UNDER DOS

  Part of the problem has been that successive releases of DOS have added
  function, but removed some of the vital conventional address space. The
  following chart shows the relative memory sizes free under various versions
  of DOS:

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 7. DOS application memory space - a comparison

  As the chart also shows, OS/2 Version 2.0 provides a DOS conventional memory
  of 633KB, at least as good, if not better, than even DOS 5.0 or DR-DOS 6.0.
  (The respective vendors of both of the latter products promote the amount of
  memory free as key selling points for their systems).

  And that is only for default configurations. In the real world, many device
  drivers are needed for various applications, whether for memory (expanded or
  extended), connectivity (LAN, 3270), or mouse. In OS/2 2.0 these features are
  supported without taking precious conventional memory away, whereas, even in

  ---------------

  (3) See, for example, the benchmarks run by NSTL in their Software Digest
      Ratings Report Volume 9, Number 4


                                                                 Better DOS  41









  systems like DOS 5.0 that can move certain device drivers into the HMA area,
  there is nearly always a conventional memory impact. The following table
  shows some sample configurations which illustrate this point vividly:

  +---------------------------------------------------------------------------+
  | Table 5. Memory comparison: OS/2 2.0, DOS 5.0, Windows 3.1 enhanced mode  |
  +-------------------------------------+------------+------------+-----------+
  |                                     | OS/2 2.0   | DOS 5.0    | WINDOWS   |
  |                                     |            |            | 3.1       |
  +-------------------------------------+------------+------------+-----------+
  | Conventional DOS memory after       | 633KB      | 622KB      | 577KB     |
  | default install                     |            |            |           |
  +-------------------------------------+------------+------------+-----------+
  | Various scenarios, built on default configuration:                        |
    __________________________________________________
  +---------------------------------------------------------------------------+
  | CONFIG #1 - POPULAR FEATURES                                              |
  +-------------------------------------+------------+------------+-----------+
  |   file I/O                          | YES        | 1          | 1         |
  +-------------------------------------+------------+------------+-----------+
  |   EMS                               | YES        | 8          | 8         |
  +-------------------------------------+------------+------------+-----------+
  |   mouse                             | YES        | 14         | 14        |
  +-------------------------------------+------------+------------+-----------+
  |   fast file access                  | YES        | 20         | 20        |
  +-------------------------------------+------------+------------+-----------+
  | REMAINING APPLICATION MEMORY        | 633KB      | 579KB      | 534KB     |
    ____________________________
  +-------------------------------------+------------+------------+-----------+
  | CONFIG #2 - LAN CONNECTIVITY                                              |
  +-------------------------------------+------------+------------+-----------+
  |   LAN adapter drivers and LAN       | YES        | 100        | 100       |
  | requester                           |            |            |           |
  +-------------------------------------+------------+------------+-----------+
  | REMAINING APPLICATION MEMORY        | 633KB      | 522KB      | 477KB     |
    ____________________________
  +-------------------------------------+------------+------------+-----------+
  | CONFIG #3 - 3270 CONNECTIVITY                                             |
  +-------------------------------------+------------+------------+-----------+
  |   3270 adapter drivers and emulator | YES        | 28         | 28        |
  +-------------------------------------+------------+------------+-----------+
  | REMAINING APPLICATION MEMORY        | 633KB      | 594KB      | 549KB     |
    ____________________________
  +-------------------------------------+------------+------------+-----------+
  | CONFIG #4 - NLS PACKAGE/COUNTRY SUPPORT                                   |
  +-------------------------------------+------------+------------+-----------+
  |   NLS keyboard                      | YES        | 7          | 7         |
  +-------------------------------------+------------+------------+-----------+
  |   NLS display                       | YES        | 8          | 8         |
  +-------------------------------------+------------+------------+-----------+
  |   NLS printer                       | YES        | 11         | 11        |
  +-------------------------------------+------------+------------+-----------+
  |   NLS other (eg codepage)           | YES        | 5 (min)    | 5 (min)   |
  +-------------------------------------+------------+------------+-----------+
  | REMAINING APPLICATION MEMORY        | 633KB      | 591KB      | 546KB     |
    ____________________________
  +-------------------------------------+------------+------------+-----------+




                                                                 Better DOS  42









  Of course, the above configurations are by no means mutually exclusive:  it
  will be very common to have elements from at least two of the configuration
  groups above.  Indeed, groups 1, 2 and 3 together could be considered a
  fairly essential configuration for a corporate, connected workstation,
  running any modern DOS applications.  That means the difference between OS/2
  and DOS grows greater.  Note also, of course, that because Windows 3.1 and
  3.0 are DOS extenders, and run on top of DOS, that any reductions in the
  memory available for DOS will be passed on to Windows, and to any DOS
  applications executing under Windows.  While it may not be a problem for
  Windows applications running in standard or enhanced mode, which use extended
  memory anyway, it will substantially reduce the effectiveness of most DOS
  applications running under Windows because of the constraints on conventional
  memory.

  The reason OS/2 can provide all these features without loss of DOS
  application space is because many features are supported by OS/2 device
  drivers, which are available to OS/2 and DOS applications, and which do not
  affect the amount of application space available to DOS applications. Only
  the DOS emulation kernel resides below 1MB. In this way, the MVDM
  architecture makes available to DOS applications the maximum amount of
  conventional memory.

  In fact, if that were not enough, it is possible to increase DOS application
  space still further.  One of the DOS settings is VIDEO_MODE_RESTRICTION (see
  "DOS Settings" on page 47).  This frees much of the video buffer space above
  the 640KB line by restricting applications to text or CGA graphics mode only,
  allowing more than 720KB memory free - an unheard of figure for DOS users!

  This increased size of conventional memory space may even mean that, where
  DOS users could not load TSR programs with larger DOS applications, they can
  under OS/2! Furthermore, there are many scenarios encountered by Windows 3.x
  users today, where they require access to a network, and a Windows
  application, at the same time as using a DOS application that requires 590K
  or more memory (the latter is not uncommon with the more modern DOS
  applications).  This combination is usually not possible under Windows 3.x,
  and the user has to exit Windows to run the DOS application, or remove
  network support.  Under OS/2 2.0, this setup can be achieved easily.

  And, of course, more conventional memory means more space for data and, for
  some DOS applications, better performance, making OS/2 a better DOS
  environment than DOS itself, by overcoming one of DOS's most fundamental
  limitations - memory.


  EXPANDED AND EXTENDED MEMORY

  OS/2 also supports the full range of other memory types supported under DOS
  and Windows 3.x: HMA, XMS, expanded and extended memory and DPMI (see
  "Memory: Conventional, Expanded, Extended" on page 21 for an explanation of
  these memory types). This means that not only do all DOS applications have
  more conventional memory available, but those which have been written to
  access more memory can work in the same way under OS/2 2.0.




                                                                 Better DOS  43









  For example, expanded memory conforms to the LIM 4.0 specification, and will
  provide expanded memory to applications like Lotus 1-2-3 release 2 using the
  standard DOS INT 67h services. Each VDM is provided with a separate EMS
  emulation, so each can access as much expanded memory as necessary, and not
  conflict with each other. The amount of expanded memory is configurable by
  the user in DOS settings, as well as a limit set across all VDMs if required.
  In Windows 3.x, expanded memory can only be used if a physical expanded
  memory adapter is in the machine, therefore limiting the number of users who
  can mix applications needing expanded and extended memory.

  XMS support (LIMA version 2.0 level) is provided via a virtual device driver
  (the same is true of EMS), and manages three types of memory: High Memory
  Area (HMA), Upper Memory Blocks (UMBs) in the Upper Memory Area (UMA) and
  Extended Memory Blocks (EMBs).  These are used by various DOS applications
  and TSRs, and by Windows 3.x and DOS 5.0.  Just as DOS 5.0 can load part of
  the system into the HMA, and device drivers into UMBs, so can OS/2 2.0 via
  the statements DOS=HIGH and DEVICEHIGH= in CONFIG.SYS; these settings can
  also be made for an individual VDM by changing the DOS Settings DOS_HIGH and
  DOS_UMB (see "DOS Settings" on page 47).  Furthermore, more extended memory
  can be provided to DOS applications under OS/2.  DPMI-compliant applications
  such as Lotus 1-2-3 version 3.1+ can access up to 512MB of extended memory in
  an OS/2 VDM.

  The key point is that OS/2 provides compatible services for extended and
  expanded memory for DOS applications, as well as a larger conventional
  address space, and also provides higher limits for many of the DOS
  applications that use extended memory. And this can usually be provided as
  default without any configuration effort on the user's part.


  MULTIPLE DOS APPLICATIONS - EFFECT ON MEMORY

  Runing several DOS applications will not cause an excessive effect on memory
  use or performance.  Because OS/2 operates a virtual memory system, you do
  not need to have extra physical memory to have large memory applications, nor
  to run several of them at once.  Any memory required above what is physically
  installed will be found by using the disk as virtual memory.  VDMs are
  swappable when inactive, reducing the overall overhead on physical memory.
  Furthermore, applications that do not use EMS, XMS or DPMI, can have the
  default VDM settings changed to remove any expanded/extended memory
  requirements, thus reducing the overall virtual memory required.


  RELIABILITY AND PROTECTION
  __________________________

  In DOS, most applications run in the real mode of the processor. DOS extender
  applications execute mainly in protected mode, but still have to switch back
  to real mode to perform certain I/O instructions (such as most calls to DOS
  services) or when passing control to TSRs like device drivers. Protected
  mode, as its name suggests, provides a measure of protection in the CPU
  between processes, but while in real mode, applications can write to any area
  of memory.  Errors can exist even in the best-written and well tested of DOS
  applications, which can cause such system corruption under DOS, often leading
  to a system crash or hang, forcing the machine to be rebooted.  Windows 3.x,


                                                                 Better DOS  44









  as a DOS extender, can be prone to some of these problems.  The problem can
  be particularly acute under Windows, since one application that crashes may
  affect all the programs running at that time.  Therefore, the potential for
  data loss and for wasted time in resetting the system, is even greater.  That
  is why it is crucial that a multi-tasking environment provides as much
  protection as is possible.  There is a limit to how much can be achieved
  under DOS or a DOS extender.

  In fact, although Windows 3.1 is claimed to provide greater protection than
  Windows 3.0, by "rebooting" individual DOS sessions and adding parameter
  checking, it is still as prone as before to the risk of a DOS TSR (such as a
  DOS network driver) taking the system out of protected mode into real mode
  (see "Reliability" on page 61). Neither Windows 3.0 nor 3.1 can prevent this
  "trap door" in its system integrity as long as they run on DOS. It is, in
  architectural terms, fundamentally prone to such problems, no matter what
  error checking code is implemented at higher levels.

  In OS/2 2.0, each VDM emulates an entirely independent instance of DOS, and
  each VDM has its own separate address space (just like other processes under
  OS/2), applications are protected from one another, and the system is
  protected from applications. The VDM Manager (VDMM) within the OS/2 kernel
  can terminate VDMs when an application or device driver performs an illegal
  operation, while allowing other VDMs to continue running. While it is not
  impossible to crash OS/2 (no system is secure from applications designed
  specifically to subvert the normal means of protection), it provides a higher
  degree of crash protection than any alternatives running on DOS.

  Therefore, OS/2 is better protected than DOS, and provides all the benefits
  of a DOS extender, including multi-tasking of DOS applications, without the
  uncertainty of using an operating system (DOS) that was never designed for
  multi-tasking.


  COMPATIBILITY
  _____________

  Of course, none of the benefits of extra memory, application protection,
  integration, multi-tasking and so on, are of much value to users unless they
  can be certain that their DOS application will run. It is impossible to
  guarantee all applications will run, of course (there are more than 20,000
  commercial applications without even counting the investment made by in-house
  corporate developers - an impossible testing task!).  But it is worth
  understanding how OS/2 2.0 has been designed to provide the maximum
  compatibility possible in a multi-tasking environment.


  OVERCOMING OS/2 1.3 LIMITATIONS

  Since OS/2 2.0 is not constrained by some of the limitations of the OS/2 1.3
  DOS box, particularly with regard to more memory (some DOS applications
  simply did not have enough memory free to run in the OS/2 1.3 DOS Box), and
  support for interrupt-dependent programs like communications, it is able to
  offer wider compatibility for DOS applications.  However, OS/2 2.0 has taken
  compatibility still further, and has been designed to take into account some
  of the aspects of DOS applications which show their single-tasking heritage.


                                                                 Better DOS  45









  For example, some so-called "bad" applications directly address hardware
  devices, and assume they have sole control over them. Many applications write
  directly to the video memory buffer to improve screen refresh performance.
  Perhaps the best known example of such an application is Lotus 1-2-3. In a
  multi-tasking environment, it is important to be able to handle multiple
  applications wanting to write to the screen at once, and maintain visual
  consistency on the screen, while keeping maximum compatibility with existing
  applications. OS/2 does this via its virtual device drivers. There is a
  virtual video device driver, and also a virtual COM driver, which handles
  contentions between applications wanting to use the COM port, and provides
  all DOS applications with COM services at the same time.

  The video virtual device driver is of further interest in that it provides
  applications with fast screen I/O by allowing the foreground application to
  write directly to the video hardware, but still insulating the physical
  hardware from background VDM screen activity.  It also provides services for
  DOS applications that use BIOS video routines, by intercepting the ROM BIOS
  video interrupt (INT 10h) and performing the requested operations directly,
  thus improving performance.


  DOS DEVICE DRIVERS

  Many common device types (video, keyboard, mouse, COM, EMS, printer) are
  supported by virtual device drivers.  If neither a virtual device driver nor
  OS/2 protected mode device driver is available, OS/2 2.0 can still provide
  support for many DOS device drivers via a "generic"  DOS device support.
  This would usually entail exclusive access to that adapter and device driver
  from one single VDM.  This will be more than adequate for many DOS
  applications, which use many device drivers for only one application anyway.
  And it has the great advantage of allowing the large number of DOS device
  drivers, for the plethora of adapters now available for PCs, to be used
  "as-is"  under OS/2 2.0.  Scarcity of protected mode device drivers was an
  inhibitor to adoption of OS/2 1.x; it need not be for 2.0.

  IBM has demonstrated how DOS device drivers for scanners, FAX cards, MIDI
  adapters can all be supported, and DOS applications that depend on them work
  unmodified. Furthermore, there are a variety of devices in the banking and
  manufacturing industries that can also be supported via this approach. Even
  3270 applications can be supported with the DOS device driver in this way.(4)
  However, a better approach would be to use an OS/2 device driver, as provided
  with Extended Services for OS/2, for example, which can support both DOS and
  OS/2 3270 applications simultaneously. This is better than running the DOS
  driver in a VDM, which only allows access exclusive to that VDM. A similar
  restriction exists in the March General Availability code, with DOS network
  drivers (eg for Token Ring adapter).  These can often be used, but allow the
  adapter only to be used within a single VDM (so that, for example, DOS 3270

  ---------------

  (4) The Microsoft document "Microsoft Windows/NT Operating System - An
      Overview" confirms that "...OS/2 supports some MS-DOS programs requiring
      some special-purpose, custom device drivers, whereas Windows NT does not.
      Examples are 3270 emulators, fax boards, scanners and MIDI boards." (p13)


                                                                 Better DOS  46









  communications via Token Ring cannot be used concurrently with DOS-based
  networking through the same Token Ring adapter). This restriction can be
  overcome for Token Ring using the Network Transport Services/2 product
  (NTS/2) - see "IBM Network Transport Services/2" on page 115  running on an
  OS/2 2.0 base.  This product provides a virtual device driver (VDD) for 802.2
  access.  This VDD allows 802.2 device sharing between VDMs so that, for
  example, Personal Communications/3270 and program using the LAN can run
  together.

  Even so, not all DOS device drivers are supported. Some block device drivers
  (usually disk and tape drivers) are not supported, though some can run by
  booting the "real" DOS inside a VDM (see "Virtual Machine Boot (VMB)" on
  page 51).

  The result of this is that OS/2 opens the door to an even wider range of DOS
  applications and devices that can run as before, but taking advantage of the
  OS/2 benefits described here.


  WHAT DOS VERSION?

  OS/2's DOS emulation is just that - an OS/2-specific DOS kernel that emulates
  DOS services. It is "DOS 5.0 - like," in that it should run all applications
  supported by DOS 5.0.

  Should applications require dependencies on a specific version of DOS there
  are a number of strategies available to the OS/2 2.0 user.  First of all, it
  is possible to "fake out" the DOS version, in other words, fool the
  application into thinking you are using a specific version of a DOS
  component.  This is using the DOS_VERSION setting in DOS Settings (see
  below).  If this is not enough, it is possible to boot the real version of
  DOS inside that VDM only (see "Virtual Machine Boot (VMB)" on page 51).


  DOS SETTINGS

  The DOS_VERSION option described above is just one of a number of "DOS
  Settings" that can be changed to control the environment in each VDM.  These
  are set for that VDM only. Some settings can be made for all VDMs via
  AUTOEXEC.BAT and CONFIG.SYS, such as DEVICE=...  statements (ANSI, VXMS,
  VEMM, VMOUSE, VVGA, VCOM), and some (though not all) can be changed while the
  application is running.  Several of these settings can also have an effect on
  DOS compatibility, others can improve performance.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 8. DOS Settings notebook

  This means that each individual VDM can have its own optimised settings: some
  with EMS, others without; some have DOS loaded high, others have special DOS
  device drivers loaded in that VDM only. This gives great flexibility in
  configuration, and allows the user to run different DOS applications


                                                                 Better DOS  47









  concurrently without having to maintain different CONFIG.SYS files and reboot
  between them.

  Among the commonly used or interesting settings are:

  +---------------------------------------------------------------------------+
  | Table 6 (Page 1 of 3). Some VDM DOS Settings                              |
  +----------------------+-----------------------------------------+----------+
  | SETTING              | DESCRIPTION                             | DEFAULT  |
  |                      |                                         | SETTING  |
  +----------------------+-----------------------------------------+----------+
  | DOS_BACKGROUND_EXECUT|OWhen set off, suspends execution of the | On       |
  |                      | program when it is in the background.   |          |
  |                      | Useful for preventing degradation of    |          |
  |                      | multi-tasking performance when a single |          |
  |                      | application is polling heavily for      |          |
  |                      | keyboard input.  Rather less fine       |          |
  |                      | control than using IDLE_SENSITIVITY and |          |
  |                      | IDLE_SECONDS, which should be attempted |          |
  |                      | first (see below).                      |          |
  +----------------------+-----------------------------------------+----------+
  | DOS_DEVICE           | Allows DOS device drivers to be loaded  | Existing |
  |                      | in an individual VDM, rather than       | drivers  |
  |                      | across all DOS sessions. It adds to the | from     |
  |                      | drivers specified in CONFIG.SYS, which  | CONFIG   |
  |                      | apply to all DOS sessions. The path and | SYS are  |
  |                      | name of the device driver are entered,  | listed   |
  |                      | and this driver is available only for   |          |
  |                      | that VDM.                               |          |
  +----------------------+-----------------------------------------+----------+
  | DOS_UMB              | Gives the DOS emulation kernel use of   | On       |
  |                      | Upper Memory Blocks, so that DOS TSRs   |          |
  |                      | and device drivers can be loaded into   |          |
  |                      | addresses between 640 and 1024KB, thus  |          |
  |                      | freeing memory for DOS applications     |          |
  |                      | below 640KB. This is similar to the DOS |          |
  |                      | 5.0 function, allowing use of the       |          |
  |                      | DEVICEHIGH and LOADHIGH commands. The   |          |
  |                      | UMB ownership can be relinquished by    |          |
  |                      | turning this feature off, if an         |          |
  |                      | application program needs to manage     |          |
  |                      | UMBs. This setting can also be made     |          |
  |                      | globally in CONFIG.SYS.                 |          |
  +----------------------+-----------------------------------------+----------+












                                                                 Better DOS  48









  +---------------------------------------------------------------------------+
  | Table 6 (Page 2 of 3). Some VDM DOS Settings                              |
  +----------------------+-----------------------------------------+----------+
  | SETTING              | DESCRIPTION                             | DEFAULT  |
  |                      |                                         | SETTING  |
  +----------------------+-----------------------------------------+----------+
  | DOS_VERSION          | Allows OS/2 to report a "fake" DOS      | 20 (ie   |
  |                      | version number to a request from a      | OS/2     |
  |                      | program in the VDM, in order to support | Version  |
  |                      | applications that check for a specific  | 2.0)     |
  |                      | DOS version number. This is important   |          |
  |                      | for applications such as Lotus 1-2-3    |          |
  |                      | version 3.1+, which look for the        |          |
  |                      | presence of DOS 3.3 or above.  The      |          |
  |                      | parameters set are the name of the DOS  |          |
  |                      | executable (eg 123DOS.EXE) followed by  |          |
  |                      | the DOS major and minor version number  |          |
  |                      | (eg 3,30 for DOS 3.3), then the number  |          |
  |                      | of times to "fool" the application (255 |          |
  |                      | means "every time")                     |          |
  +----------------------+-----------------------------------------+----------+
  | DPMI_MEMORY_LIMIT    | Specifies the maximum amount of         | 2        |
  |                      | protected mode memory available to DPMI |          |
  |                      | applications running in a VDM (in MB).  |          |
  |                      | It is important to set this figure high |          |
  |                      | enough for a WIN-OS/2 VDM running       |          |
  |                      | multiple Windows applications in the    |          |
  |                      | same VDM.                               |          |
  +----------------------+-----------------------------------------+----------+
  | IDLE_SECONDS         | Disables the IDLE_SENSITIVITY (see      | 0        |
  |                      | below) setting for a period of time     |          |
  |                      | after "useful" work by the application  |          |
  |                      | has been detected.  Some programs       |          |
  |                      | appear to be waiting for input, but     |          |
  |                      | then change and continue other work.    |          |
  |                      | The setting needs to be made high       |          |
  |                      | enough to allow the application to run  |          |
  |                      | fast enough, but not too high as to     |          |
  |                      | give the program more resources than it |          |
  |                      | needs                                   |          |
  +----------------------+-----------------------------------------+----------+
  | IDLE_SENSITIVITY     | Sets a threshold for judging when       | 75%      |
  |                      | applications will be deemed idle (ie    | (refers  |
  |                      | waiting for I/O, polling etc). OS/2 2.0 | to % of  |
  |                      | can detect idle programs, especially    | maximum  |
  |                      | those with a high rate of polling for   | possible |
  |                      | input, and gives them less time to run, | polling  |
  |                      | assigning the CPU to more "deserving"   | rate)    |
  |                      | applications. This setting allows a     |          |
  |                      | user to modify OS/2's "best guess" at   |          |
  |                      | what it considers idle. The lower the   |          |
  |                      | number, the more likely OS/2 will judge |          |
  |                      | the application idle.                   |          |
  +----------------------+-----------------------------------------+----------+


                                                                 Better DOS  49









  +---------------------------------------------------------------------------+
  | Table 6 (Page 3 of 3). Some VDM DOS Settings                              |
  +----------------------+-----------------------------------------+----------+
  | SETTING              | DESCRIPTION                             | DEFAULT  |
  |                      |                                         | SETTING  |
  +----------------------+-----------------------------------------+----------+
  | MOUSE_EXCLUSIVE_ACCES| Allows a VDM to run applications that   | Off      |
  |                      | maintain their own mouse pointers, and  |          |
  |                      | which manage their own mouse positions  |          |
  |                      | and movements, by forcing the physical  |          |
  |                      | mouse driver to send its movements      |          |
  |                      | directly to the virtual mouse driver    |          |
  |                      | (and therefore to the DOS application)  |          |
  |                      | rather than going through PM. Only one  |          |
  |                      | mouse pointer appears when that VDM     |          |
  |                      | window has the focus. Useful when       |          |
  |                      | running DOS applications that require   |          |
  |                      | use of the mouse, in windows on the     |          |
  |                      | Workplace Shell desktop, and prevents   |          |
  |                      | the situation where you can see 2 mouse |          |
  |                      | pointers, one for the DOS application,  |          |
  |                      | and one for PM, and have difficulty     |          |
  |                      | synchronising them. An example of a DOS |          |
  |                      | application that can use a mouse in a   |          |
  |                      | VDM is WordPerfect 5.1 for DOS.         |          |
  +----------------------+-----------------------------------------+----------+
  | PRINT_TIMEOUT        | Sets the time in seconds after which    | 15       |
  |                      | the spooler will close a print job      |          |
  |                      | initiated by the VDM, and begin to      |          |
  |                      | print. This means that printing can     |          |
  |                      | begin from DOS applications that do not |          |
  |                      | close their print jobs, without having  |          |
  |                      | to exit the DOS application             |          |
  +----------------------+-----------------------------------------+----------+
  | VIDEO_FASTPASTE      | Improves the speed of paste operations  | Off      |
  |                      | from the clipboard to a DOS             |          |
  |                      | application. Not all applications can   |          |
  |                      | support this.                           |          |
  +----------------------+-----------------------------------------+----------+
  | VIDEO_MODE_RESTRICTIO| Extends DOS address space beyond 640KB  | None     |
  |                      | by limiting video mode support to CGA,  |          |
  |                      | providing up to 96KB (depending on      |          |
  |                      | video adapter installed) extra for DOS  |          |
  |                      | applications                            |          |
  +----------------------+-----------------------------------------+----------+

  Help is provided with OS/2 2.0 to guide users in modifying these settings,
  but it should be noted that much of the time, DOS settings will neither need
  to be examined nor changed. The vast majority of applications will work with
  the default settings.  Many of the most common DOS applications can have
  their settings automatically created by the Migrate program (see below).





                                                                 Better DOS  50









  MIGRATING APPLICATIONS

  OS/2 2.0 provides a migration database (DATABASE.DAT) that contains
  parameters and settings for commonly used DOS, Windows and OS/2 programs.
  This binary database file is used by the MIGRATE APPLICATIONS object to place
  the program icons onto the desktop and customise their DOS or WIN-OS/2
  settings to the recommended values (which have been determined during
  pre-release testing).

  This means that for many common DOS and Windows programs, there will be no
  need to modify DOS settings, since the Migrate program will automatically
  place a program object on the desktop with the optimal settings.  These are
  placed in a "DOS Programs" folder and a "Windows programs" folder as
  appropriate.  Migrate also allows applications not in the migration database
  to be migrated, but with the default DOS settings, which can then be modified
  manually if preferred.  These programs are placed in folders called
  "Additional DOS programs" and "Additional Windows programs" as appropriate.
  All folders created by Migrate are given the appearance of the group icons
  used in Windows 3.x and OS/2 1.3, for visual familiarity. This aim is
  furthered by the fact that Migrate detects the presence of the program icon
  for a Windows application, and adds it to the program reference it creates in
  the OS/2 folder.  This means that Windows applications appear in OS/2 with
  their normal icon.  DOS applications are given the standard DOS icon for full
  screen or windowed sessions as appropriate. The settings for each object can
  be modified to add a user-defined icon as necessary. Many tools, such as
  CVTICO, exist on bulletin board systems, to convert icons from Windows format
  to OS/2 format, so that any public-domain icons that exist in Windows format
  for common DOS applications, may be used in OS/2.

  Migrate can be run during the install process or at any time after (the
  Migrate object is found in the System Setup folder).

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 9. Migrate Applications object

  System Administrators can set up their own custom migration database, to set
  up applications unique to their environment, using the PARSEDB tool supplied
  with OS/2 2.0. Thus, an optimal collection of DOS Settings can be determined
  for a given program, and then supplied to other users.


  VIRTUAL MACHINE BOOT (VMB)

  Should neither the basic DOS emulation of OS/2 2.0 nor any DOS settings
  provide an answer to compatibility problems with a given DOS application, the
  ultimate recourse is to boot the real version of DOS on which it depends, in
  a VDM. This can be done either from the DOS boot diskette or from an image
  file created on the hard disk. This applies not only to PC-DOS and MS-DOS
  versions, but also non-IBM systems such as DR-DOS (and in theory any 8086
  operating system kernel).  A VMDISK utility is supplied with OS/2 to create
  disk images.


                                                                 Better DOS  51









  Once booted, the VDM is running that real copy of DOS, and the boot image
  path or drive becomes the A: drive for that VDM.

  The VMB feature, by booting the "real" DOS, provides the maximum achievable
  compatibility in a multi-tasking environment.

  Even so, there will be some architectural compatibility issues that even VMB
  cannot address.  Most of these are limitations that arise from application or
  device driver features that are fundamentally at odds with the principles of
  a multi-tasking system.  These issues include VDM interrupt latency (which
  may prevent some DOS "real-time" applications from giving sufficient
  performance), support for VCPI DOS extender applications (see below), and I/O
  to system-managed DASD that bypasses the file system (the latter is
  prohibited for obvious reasons - this could pose a threat to the integrity of
  the whole file system and affect other applications.)  But these are fairly
  minor restrictions in an immensely wide scope of compatibility.


  DOS EXTENDERS
  _____________

  OS/2 2.0 can support DOS extender applications, those applications that have
  broken the 640KB limit by running in protected mode and including their own
  memory manager which "takes over" from DOS's. These include DOS multi-tasking
  environments such as DESQview or Windows 3.x, as well as applications that
  include DOS extender code, such as 1-2-3 3.1+.

  OS/2 2.0 supports the DPMI (DOS Protected Mode Interface) specification for
  extender applications, allowing applications written to this specification to
  run under OS/2 2.0 and access up to 512MB of extended memory (see the
  description of DPMI in "Definitions" on page 21).  OS/2 2.0 is a DPMI HOST,
                                                                        ____
  which provides DPMI services to DOS extender applications (DPMI CLIENTS).
                                                                  _______

  VCPI applications will not run under OS/2 2.0 because they are
  architecturally incompatible with a multi-tasking operating system (see
  "Definitions" on page 21).  VCPI applications do not run under Windows 3.0 or
  3.1 either.  However, many VCPI applications have been rewritten to support
  DPMI, in order to support Windows 3, and OS/2 2.0 can take advantage of all
  of these.


















                                                                 Better DOS  52









  BETTER WINDOWS
  ______________





  One of the most popular DOS extenders is Microsoft Windows. Windows 3.0
  shipped in May 1990, and gained a lot of media attention in the market.  In
  April 1992, Microsoft shipped an updated version, Windows 3.1, which was
  originally described by Microsoft as a "maintenance" update, but has added a
  number of new features, to address some of Windows 3.0's limitations.  In
  this chapter, most discussion will refer to both Windows 3.0 and 3.1 together
  as Windows 3.x, since, except for some details, they compare to OS/2 2.0 in
  roughly the same way.

  Though Windows has undoubtedly had a significant impact on the market, there
  has been considerable speculation in the press about how successful it has
  been.  Microsoft claims that over ten million copies of Windows 3.0 were sold
  up to March 1992 (although IDC estimate that more than half of these may have
  been shipped with the purchase of a new machine, of which they and Creative
  Strategies estimate only 30 and 55% respectively, are in use).  The company
  also said that it shipped 3 million copies of Windows 3.1 in the first three
  months after its shipment.  However, in a report in the Wall Street Journal
                                                          ___________________
  in August, a spokesperson for the software retailer, Egghead, commented that
  the preloading of systems like Windows with hardware, had affected retail
  sales.  She said that the company overstocked Windows 3.1 in anticipation of
  a heavy retail demand for the system that failed to materialize.  "We bought
  strong quantities of Windows 3.1 and they've been selling at a slower rate
  than we anticipated," she said.(5)

  Windows Magazine, in its October 92 issue, estimated that the "real
  ________________
  situation" with regards to the number of Windows users was around 4.5
  million. A recent Dataquest study estimated that as of September 1992, 18% of
  the PCs in the US are running Windows, which equates to around 2.6 million
  users.  This concurs with figures quoted in OS/2 Magazine from ADAPSO/ITAA,
                                              _____________
  saying that Windows has penetrated only just over 10% of the total DOS
  market. Whatever figures are used, Windows Magazine says that "financial
                                     ________________
  analysts and software companies...uniformly dismiss [Microsoft's figure of 13
  million Windows users] as meaningless."(6)

  There have also been a number of ISVs developing applications for Windows.
  According to Microsoft, over 4,500 applications had been developed for the
  Windows environment by March 1992.

  Windows 3.x is, of course, in one sense an alternative or competitive
  solution, since it provides a GUI and a basic multi-tasking environment.  On
  the other hand, some customers require IBM to support the Windows


  ---------------

  (5) Quoted in Wall Street Journal, 6th August, 1992
                ___________________

  (6) Windows Magazine, October 1992, p16
      ________________


                                                             Better Windows  53









  applications that they have purchased, under OS/2 2.0.  This section examines
  OS/2's relationship to Windows 3.x, and how OS/2 can be a "better Windows."


  WHAT IS MS-WINDOWS?
  ___________________

  First of all, it is important to understand what Windows is. When it was
  first released in 1985, it provided a GUI environment running under DOS, for
  which applications had to be specially written to take full advantage.
  Although versions before version 3.0 had gained some developer support,
  market success was comparatively limited, and many of the major ISVs (eg
  Lotus, WordPerfect, Borland) had not developed Windows-specific applications.
  Some of the reasons for this were perhaps the lack of Windows-capable
  machines, the limited multi-tasking, and the fact that it provided only
  limited relief for the two main perceived limitations of DOS: the 640KB
  memory barrier, and multi-tasking the DOS applications that people already
  had. Windows 3.0 overcame many of these problems, especially in being able to
  multi-task DOS applications and allowing Windows itself to take advantage of
  extended memory.


  WINDOWS 3.X MODES

  The Windows environment itself has three modes, though the options available
  to any user depend upon machine processor and installed memory.  These modes
  are important to mention here as they are relevant to the discussion later of
  how OS/2 runs Windows applications.  The italicised description of the three
  modes comes from the MS-Windows User's Guide:


  Real mode (NOT AVAILABLE IN WINDOWS 3.1)

  An operating mode that Windows runs in to provide maximum compatibility with
  ____________________________________________________________________________
  versions of Windows applications prior to 3.0.  Real mode is the only mode
  __________________________________________________________________________
  available for computers with less than 1MB of extended memory.
  ______________________________________________________________

  Real Mode is equivalent to previous versions of Windows (2.x), and can
  address 640KB conventional memory, plus LIM 4.0 expanded memory (extended
  memory can be used for a virtual disk or disk-caching only).  Real Mode
  requires an 8088 processor or above, and 640KB memory (384KB free
  conventional memory after DOS and other memory resident software including
  network drivers).

  Microsoft withdrew support for real mode in Windows 3.1, so that only
  standard mode and 386 enhanced mode are now available. This means that
  programs requiring Windows real mode (eg programs written for Windows 2.x)
  will not run in Windows 3.1. However, Windows real mode programs (including
  Windows 2.x applications) WILL  run under OS/2 2.0.  In this respect, OS/2
                            ____
  2.0 is providing better support for Windows programs than Windows 3.1 itself.

  Note that although Windows real mode runs in the real mode of the processor
  (see "Protected mode operation" on page 15), the two are not identical terms;
  even though Windows 3.1 has eliminated WINDOWS real mode, it cannot by its
                                         _______
  very design prevent the system moving out of protected mode into the real


                                                             Better Windows  54









  mode of the PROCESSOR, and this represents a potential hole in system
              _________
  integrity (see "Reliability and protection" on page 44 and "Reliability" on
  page 61 for more on this subject).


  Standard mode

  The normal operating mode for running Windows.  This mode provides access to
  ____________________________________________________________________________
  extended memory and also lets you switch among non-Windows applications.
  ________________________________________________________________________

  Standard Mode uses 286 protect-mode to give Windows and Windows applications
  direct access to up to 16MB extended memory. Expanded memory for DOS
  applications is only supported with physical expanded memory cards (not
  emulation of expanded memory using extended memory). Standard Mode requires a
  286 processor or above, 1MB memory (minimum 256KB of free extended memory),
  and the XMS driver HIMEM.SYS loaded.  Windows applications need to be written
  to comply with the memory management rules for Windows 3.x to run in Standard
  Mode.

  Standard mode is recommended by Microsoft when running only Windows
  applications (ie no DOS applications) in certain configurations, even on a
  386.


  386 Enhanced mode

  A mode that Windows runs in to access the virtual memory capabilities of the
  ____________________________________________________________________________
  Intel 80386 processor. This mode allows Windows to use more memory than is
  __________________________________________________________________________
  physically available and to provide multi-tasking for non-Windows
  _________________________________________________________________
  applications.
  _____________

  386 Enhanced Mode uses protected mode to give Windows and Windows
  applications direct access to up to 16MB extended memory. The Virtual-8086
  mode of the 386 is used to provide multiple DOS environments for non-Windows
  applications, and virtual memory support is provided (for Windows
  applications only) using the demand paging feature of the 386 processor. Most
  DOS applications can be run in a window. 386 Enhanced Mode requires a 386
  processor or above, 2MB memory (minimum 1024KB of free extended memory), and
  the XMS driver HIMEM.SYS loaded.  Windows applications need to be written to
  comply with the memory management rules for Windows 3.x to run in 386
  Enhanced Mode.


  WINDOWS 3.X KEY ASPECTS

  Windows 3.0 added a number of extra features to previous Windows releases,
  but many people believe that its three main features are as follows:









                                                             Better Windows  55









  DOS extender (memory > 640KB)

  Windows 3.x is first and foremost a DOS extender. It is itself a DPMI host
  application running on top of DOS, which provides applications (in this case
  Windows applications written specially for that environment) with extended
  memory support to break the 640KB DOS limit.

  Windows can provide additional memory for applications that have been written
  to take advantage of this capability. But the vast majority of applications
  still are written for the DOS environment, and even under Windows can only
  address up to 640KB. In fact, as we saw in our discussion on memory available
  under OS/2 2.0 and Windows earlier, since Windows inherits the DOS
  environment for each DOS application it runs, it provides less memory in most
  scenarios than would be available under OS/2 2.0, for the same DOS
  application in the same configuration.

  Nevertheless, since Windows, in standard and enhanced modes, runs much of the
  time in protected mode (requiring a 286 or 386 processor for these modes), it
  can itself take advantage of extended memory to run, leaving conventional
  memory free for DOS applications (but at the cost of some overhead in
  conventional memory for Windows itself - see "Comparison with memory usage
  under DOS" on page 41).


  Multi-DOS environment

  Windows 3.x also offers, in its 386 enhanced mode, multi-tasking of DOS
  applications.  Several DOS applications can be run at once, and most
  text-based applications can appear in a window alongside other DOS or Windows
  applications, in 386 enhanced mode.  However, Windows 3.0 enhanced mode does
  not offer as flexible support as OS/2 2.0 does, for running graphics-based
  applications - like Microsoft Flight Simulator - in windows on the screen
  alongside text-based applications. DOS applications running in VGA mode can
  be displayed in a window on the Windows 3.1 desktop, but according to
  Microsoft, Windows/NT will not support windowed DOS VGA graphics at all.(7)

  In enhanced mode, Windows also provides a pre-emptive time-slicing mechanism
  to multi-task between these DOS applications, though, as we saw before
  ("Multi-tasking of DOS applications" on page 40), OS/2 2.0's mechanism is
  more sophisticated and will tend to provide a more balanced performance when
  multi-tasking DOS applications.  For many users of 386 machines running on a
  DOS base, Windows enhanced mode provides welcome additional function, and the
  ability to swap between their DOS applications.  Standard mode allows
  multiple DOS applications to be loaded, but they do not run in background nor
  can they be windowed.






  ---------------

  (7) See Microsoft's document entitled "Microsoft Windows NT Operating System"


                                                             Better Windows  56









  Windows applications

  Of course, there have also been a number of applications written specifically
  for Windows 3.x.  These are graphical applications written to the Windows
  APIs, and can take advantage of extended memory (up to 16MB), the GUI
  environment, as well as Windows system-supported functions like DDE (Dynamic
  Data Exchange).  Although the Windows environment was ignored by many of the
  major vendors at first, there are now many applications developed
  specifically for Windows 3.x.  Applications developed for previous releases
  of Windows cannot run reliably under the two higher modes of Windows, but
  only under real mode.  This means that if you are running Windows 3.0 in
  standard or enhanced mode, and wish to run, for example Excel 2.1, you must
  close all your Windows and DOS applications, exit Windows and restart in real
  mode.  Windows 3.1, because it does not support real mode, will not run
  Windows 2.x applications at all.  OS/2 2.0 can run real and standard mode
  Windows applications side by side on the Workplace Shell desktop.

  Although Microsoft claims that there are over 5,000 Windows applications in
  the market, the majority of applications sales are still in DOS applications
  (to say nothing of the installed base). There are many items of evidence to
  back up this statement:

  o   Sales of DOS applications were still $112 million more than those of
      Windows applications in the second quarter of 1992 (Software Publishers'
      Association - SPA)(8)

  o   In figures quoted in Windows Magazine, based on projections by Dataquest,
                           ________________
      Windows applications still represent less than 25% of the market in most
      application categories, and never as much as half in any (see the graph
      below which illustrates these figures in detail)(9)

  o   Even in 1997, DOS applications will outsell Windows applications
      (Dataquest)(10)

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 10. Windows application sales as a proportion of total PC application
             sales

  o   Many PC publications both in Europe and the US track sales of
      applications from a variety of channels, in order to determine a "Top 20"
      list of applications.  The trend since May 1990 is clear:  despite the
      apparent success of Windows in the market, few Windows applications make
      it into the Top 20, as the graph below shows.  In fact, there are rarely

  ---------------

  (8) SPA figures quoted in Windows Magazine, November 1992
                            ________________

  (9) Quoted in Windows Magazine, February 1992
                ________________

  (10) Quoted in Computing (UK), April 23, 1992
                 _________


                                                             Better Windows  57









      more than 5 Windows applications in the top 20, and only two of them
      regularly appear - Excel for Windows and Word for Windows by Microsoft.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 11. Number of Windows applications in the top 20 selling applications

  o   There have also been several news items showing how the Windows
      applications market may not be as large as some vendors may have
      suggested.  Here are some references from recent reports:

      -   "The smaller software companies are not making money out of Windows,
          and Windows 3.1 is not going to change that" (International Data
          Corp.)(11)

      -   "The Windows market is really only the size of the Macintosh market"
          (Gordon Eubanks, CEO of Symantec, who produce Norton Desktop for
          Windows, one of the best selling Windows applications)(12)

      -   Lotus warned analysts of lower than expected revenues in June 1992,
          blaming "weakness in the market for Windows spreadsheets rather than
          loss of [market] share."(13) "We're disappointed that the overall
          Windows apps market didn't explode like the channel thought it would"
          (Robert Weiler, Senior VP, Lotus)(14)

      -   Lotus is not the only major Windows vendor to suffer falls in share
          prices owing to lower sales of Windows applications:  Aldus reported
          lower earnings at the end of June 1992, owing to, among other
          reasons, "lower than expected sales of its Windows-based
          products."(15)

      -   Ruthann Quindlen, a software industry analyst, was quoted in an
          interview with Infoworld's editor, that she "regret[ted] saying...
                         _________
          that Windows was going to create opportunities for small PC software
          companies." Listing many software companies suffering from slowing
          growth, earnings shortfalls, falling stock prices, she "had hoped
          that Windows would grow the market...But no." She concluded that "the
          only Windows apps doing well are Microsoft's"(16)

  ---------------

  (11) Quoted in PC Week, March 30, 1992 - p131
                 _______

  (12) Quoted in PC Week, March 30, 1992 - p132
                 _______

  (13) Reported in Computergram Online Issue #1952 - 29th June 1992
                   ___________________

  (14) Quoted in PC Week, March 30, 1992 - p132
                 _______

  (15) Reported in Computergram Online Issue #1949 - 24th June 1992
                   ___________________

  (16) Article in Infoworld, September 14th, 1992 - p51
                  _________


                                                             Better Windows  58









      -   "Companies that have invested a lot of money in developing Windows
          applications are battling for a small share of what is a very small
          pie" (Personal Computer Magazine (UK), May 1992)
                __________________________

  o   Windows applications are still heavily outnumbered by the 20,000 or more
      DOS applications, which also tend to have been longer in the market and
      built up a substantial installed base.

  In fact, there is also much evidence to suggest that Windows itself is
  outselling Windows applications by a factor of three or four to one:

  o   in the year to March 1992, when Microsoft claimed there were ten million
      copies of Windows shipped, IDC estimated 3.5 million Windows applications
      were sold.

  o   In early 1992, Microsoft stated that there had been $1.6 billion of
      Windows applications sold. If we take an average price of $500, this
      would give just over three million copies of all Windows applications
      together.

  o   In October 1991, Windows annual run rate, according to Microsoft, was 7.8
      million.  The SPA's estimate of the volume of Windows application sales
      for 1991 was $1000 million.  This could mean that for every copy of
      Windows shipped, there was just over $120 spent on Windows applications,
      or about one quarter of a copy of Lotus 1-2-3 for Windows at its current
      recommended retail price!

  If Windows were being used primarily to run Windows applications, one might
  expect the user to have more than one Windows application. On this
  assumption, the number of Windows application users may be only 15% or less
  of the total of Windows users.  Either many people have bought Windows and
  are not using it, or they are using it for something else.

  A study of PC Magazine subscribers indicates a possible answer.  The study
             ___________
  was conducted in the US by Ziff Davis Research Department and Alpert
  Research, Inc., of 1840 PC Magazine readers.  The study has been reviewed by
                          ___________
  William Zachmann, a well known independent commentator on the industry, in
  the June 11, 1991 issue of PC Magazine (Volume 10, Number 11, Page 97).
                             ___________
  Zachmann reported that respondents who personally used or were familiar with
  Windows, confirmed that the most desirable features of Windows were its
  memory management, multi-tasking and extended memory capabilities.  GUI
  capabilities, and the availability of Windows applications were of only
  secondary importance.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 12. Windows user survey quoted in PC Magazine June 11, 1991 issue

  Zachmann's conclusion was:

      "All of this strongly supports my contention that Windows 3.0's
      _______________________________________________________________
      success is due more to its usefulness as a reasonably good DOS memory
      _____________________________________________________________________


                                                             Better Windows  59









      manager and multi-tasker, than to any groundswell of support for GUIs
      _____________________________________________________________________
      and Windows applications.  The study results also corroborate my
      ________________________________________________________________
      observation that sales of Windows applications lag far behind
      _____________________________________________________________
      reported sales of Windows itself."
      __________________________________

  Many observers agree with Zachmann, that it has been the combination of DOS
  extender and basic DOS multi-tasking, implemented on a DOS base, that has
  been the principal factor in Windows' success. This indicates that Windows is
  being used more as a DOS extender and multi-tasker than as an environment to
  run Windows applications. Even vendors such as Lotus, who are developing a
  suite of applications for Windows, have claimed that Windows is being used to
  run DOS applications more than it is used for Windows applications.

  This is an important consideration when we look at what it means to be a
  better Windows than Windows.  It seems as if many users look to Windows as a
  DOS environment first, and that Windows applications are currently a
  secondary issue.  Therefore, to be a better Windows than Windows, OS/2 2.0
  needs to:

  o   first, be a better DOS extender/multi-tasker
  o   and run Windows applications, first ensuring compatibility and, if
      possible, some advantages over running it under Windows.

  As it happens, OS/2 2.0 is able to do both: create a better DOS environment
  for DOS applications, as well as provide full compatibility for Windows
  applications, and even some advantages in that respect.


  OS/2 VERSUS WINDOWS AS A MULTI-DOS ENVIRONMENT
  ______________________________________________

  It is clear that any discussion of Windows cannot ignore its DOS heritage. In
  fact, this is both its great advantage, but also the source of most of its
  shortcomings. Windows runs under DOS, which is an advantage from the point of
  view of migration from DOS, but is also a disadvantage in the limitations
  that DOS imposes on it.


  MEMORY

  For example, we have already seen that since each DOS session created in
  Windows inherits the whole DOS environment in place before Windows loaded,
  DOS programs may have limited space in which to load. Although the
  combination of DOS 5.0 and Windows 3.x helps to relieve some of the pressure
  on conventional memory, most DOS applications have significantly less memory
  under Windows than they do under OS/2 2.0 (see "Comparison with memory usage
  under DOS" on page 41  for details.)










                                                             Better Windows  60









  RELIABILITY

  DOS was designed as a single-tasking environment. Although DOS extenders like
  Windows can provide multi-tasking under DOS, the base system was never
  designed for it, and many of the applications running under such an
  environment assume they are the only application in the system. DOS runs in
  real mode, and does not provide protection between processes. Windows
  provides this protection instead, allowing a measure of multi-tasking.
  However, Windows still needs to use DOS for certain system functions, and so
  do many of the DOS-based TSRs (eg Network and Communications drivers) that
  are needed to run alongside Windows, and hence real mode is difficult to
  avoid when running Windows 3.x.  Any time that is spent in real mode is a
  potential "trap door" for application errors to violate the system's
  integrity.  Even though DOS applications run in separate address spaces in
  enhanced mode, DOS and DOS TSRs still require access to real mode, and the
  potential remains for an application conflict or bad pointer to corrupt the
  DOS system area or Windows itself.

  Furthermore, Windows applications all run in the same address space under
  Windows 3.x, and therefore it is possible for an error in a Windows program,
  to take down all the Windows applications together, and sometimes the whole
  system, thereby affecting the DOS applications as well.  These symptoms occur
  in a variety of ways, not always a "crash" or "hang" but sometimes messages
  like "This application has violated system integrity" or "Unrecoverable
  Application Error."

  Windows 3.1 is claimed by Microsoft to provide greater protection from these
  errors, by checking the parameters passed by applications, The users of
  Windows 3.1 will judge how effective this will prove, but it is a significant
  technical challenge to provide full protection under DOS, unless an attempt
  is made to eliminate real mode (of the processor, not Windows real mode)
  execution altogether.  Indeed, although the message "Unrecoverable
  Application Error" no longer appears, it has been replaced in many scenarios
  by "Application Error" or "General Protection Fault."  In some circumstances,
  Microsoft still advise that data in other sessions be saved, but then to exit
  and restart Windows, perhaps even reboot.  In this case, the effects on a
  user would be little less drastic than before.  In fact, though some have
  claimed that Windows 3.1 heralds "the demise of the UAE," the essential
  aspects of the Windows architecture remain unchanged.  Windows applications
  still execute in the same address space, still sharing a common Local
  Descriptor Table, or LDT (this is why parameter checking is needed, but it
  only attempts to catch problems to which the basic architecture leaves the
  system prone).  Parameter checking is much more important to Windows than it
  is for OS/2, which has other mechanisms (notably separate address spaces) to
  protect the system from wayward applications.

  Furthermore, although many I/O and other functions are taken over by Windows
  (leading Microsoft to call Windows 3.1 an "operating system"(17) ), DOS and
  DOS TSRs are still available (and indeed required if you want to run Windows

  ---------------

  (17) Though how this "operating system" is able to load without DOS, has not
      been made clear by Microsoft.


                                                             Better Windows  61









  on a network, or with host communications), so the system still does not
  close the real mode "trap door."

  Any access to real mode is a potential danger; this is true even in OS/2 1.3,
  where the DOS compatibility box ran in real mode and was therefore a
  potential danger to system integrity.  The only certain way to high
  reliability is to run the operating system only in protected mode.  No
  current version of DOS can do this, but OS/2 2.0 runs entirely in protected
  mode: even when running DOS applications, there is no real mode operation.

  OS/2 has been designed for high reliability from the start, and version 1.3
  is already widely respected for its industrial strength design.  In OS/2 2.0,
  all applications, both DOS and OS/2, and even Windows applications, run in
  separate process address spaces, protected from each other, and much care has
  been taken in the design to avoid giving wayward applications the potential
  to corrupt any other applications or the system.  Usually in OS/2 2.0, the
  worst a "bad" application can do is to cause an error that will cause the
  kernel to have that process stopped and closed.  In these circumstances, the
  other applications continue running unaffected.  This is why OS/2 has already
  been chosen by many companies as the development environment for line of
  business, mission critical applications.  If your business depends on your
  application, you do not want to see it brought down with a UAE.

  Some have tried to show that OS/2 can be "broken" by wayward applications,
  but no operating system is safe from code written with inside knowledge of
  the system internals, designed specifically to manipulate parts of the system
  in a destructive way that mainstream applications would never attempt. The
  added protection OS/2 offers compared to other DOS extender alternatives, is
  against the occasional bugs in applications that cause them to write to
  memory where they should not. The issue is not really whether either
  environment is totally "crash-proof" but the overall integrity of the
  operating system in day-to-day usage. In this case, we are not really
  comparing OS/2 to Windows, but OS/2 to DOS.


  PERFORMANCE

  OS/2's multi-tasking design is more sophisticated than Windows, allowing DOS
  applications to multi-task more smoothly. Windows has only a simple
  time-slicing algorithm, which can be adjusted by the user to give "bias" to
  certain applications. This means that priority levels are static, and do not
  take into account, for example, when applications are I/O bound. On the other
  hand, OS/2 can set priority levels dynamically, detecting when applications
  are "idle" through polling or waiting for I/O, and assigning CPU cycles to
  other applications. This advanced scheduler works in a similar way with OS/2
  applications, pre-emptively multi-tasking them alongside the DOS
  applications.  Even Windows applications running in VDMs take advantage of
  this superior scheduling mechanism for smoother multi-tasking. Windows 3.x
  offers only co-operative multi-tasking between Windows applications, but
  pre-emptive with respect to the rest of the system. This means that
  applications have to be specifically written to give the processor up, with
  yield() calls, to allow other Windows applications to have their fair share
  of the processor. (See "Multi-tasking of DOS applications" on page 40 and
  "Multi-tasking" on page 28 for a more complete discussion of this topic.) In


                                                             Better Windows  62









  OS/2 2.0, Windows applications can be pre-emptively multi-tasked by running
  them in separate VDMs.

  OS/2 offers a choice of two superior file systems, which DOS applications
  running under OS/2 use whenever they do file I/O.  OS/2 2.0 has the High
  Performance File System (HPFS) and an enhanced FAT file system, both of which
  provide superior performance than under DOS in nearly all situations.  This
  means that in file-based operations, OS/2 will nearly always be quicker than
  DOS or Windows running the same combination of applications under the normal
  DOS-based FAT system.  Furthermore, OS/2 is able to overlap I/O requests to
  the system, taking advantage of its own multi-tasking design, allowing the
  system to be more responsive to I/O request and keep applications waiting
  less.

  The result of this is that the same combination of multiple DOS applications
  is likely to run faster under OS/2 than under either DOS or any DOS extender
  like Windows, if it does any significant disk-based I/O.  Applications that
  are more compute-bound may show less difference (and in single tasking, DOS
  itself is obviously likely to be faster in all except file-intensive
  operations).

  And when more than one task is being done, OS/2's performance advantage
  becomes evident.  Because of OS/2's superior multi-tasking, it can run
  background tasks, such as file copying, communications, or spreadsheet
  recalculation, with no visible impact on foreground work.  With Windows, the
  cursor movement can lag behind the mouse movement, and displaying of
  characters can lag behind keyboarding to the point where system becomes
  almost unusable until the background job is done.

  Here is an illustrative scenario from the testing of National Software
  Testing Laboratories (NSTL), and independent testing and evaluation
  organisation: to load MS Word for Windows on a PS/2 Model 57 with 8MB, with
  nothing else running takes 7.2 seconds with Windows 3.1 and 9.3 seconds with
  OS/2 2.0.  If you do the same load with an XCOPY in the background, Windows
  load time jumps to 41.1 seconds, compared with 15.3 seconds for OS/2.

  Again, the comparison is really between OS/2 and DOS - Windows simply runs on
  DOS and inherits its limitations.


  INTEGRATION

  One of the other big differences between the DOS compatibility provided by
  OS/2 compared to that of Windows is in the area of how easy it is to set up
  DOS applications to work. There are many ways in which DOS applications
  integrate much more easily into the OS/2 environment than they do under
  Windows:

  o   DOS SETTINGS VS PIF FILES: Many have commented that Windows's method of
      __________________________
      assigning special settings to a DOS program via a Program Information
      File (PIF) is cumbersome. This is even more so compared to the
      consistency of the way the DOS Settings option is implemented in OS/2
      2.0. Compare, for example, WordPerfect 5.1 for DOS. Both Windows 3.1 and
      OS/2 2.0 detect the program's presence on the disk, and create a unique


                                                             Better Windows  63









      set of program settings. But with OS/2 2.0, all of these settings are
      easily found together by clicking on the settings of the program object's
      icon. In Windows, clicking on the icon in Program Manager allows you to
      select its basic properties from the File Properties menu in Program
      Manager. But the dialog allows you only to change the command invoked,
      the working directory and icon. To change other options, you need to find
      the PIF file referenced in File Properties and edit the PIF file with the
      PIF editor (which by default is also in another program group). The PIF
      file contains all the other settings such as video mode, EMS/XMS
      settings, priority and idle detection, but also confusingly has options
      for startup directory and shortcut key, which are equivalent to (but
      overridden by) the settings in File Properties in Program Manager. So
      there are two places to look for settings, and sometimes two places to
      set the same setting. Furthermore, some important options are missing
      altogether from the PIF or Program Manager; mouse access in a windowed
      DOS application, for example, can only be achieved by first loading the
      DOS mouse driver (which is distinct from the Windows mouse driver - you
      need two mouse drivers if you want to use the mouse for both Windows and
      DOS applications) before starting the application.  Searching on "mouse"
      in the Windows help system does not yield this information.  OS/2 allows
      the user to find all customisation for a given program in one settings
      notebook:  command, working directory, icon, EMS, mouse access and so on.

  o   MULTIPLE WORKING COMBINATIONS: The amount of memory available when
      ______________________________
      running a DOS program in Windows 3.1 enhanced mode is at most about 580K,
      and can be considerably less than 500K in a LAN-connected environment.
      And the more features that are required (eg 3270 access, country
      settings) means less memory for DOS sessions.  This can mean that larger
      DOS programs, including many newer DOS programs or latest versions, do
      not have enough memory to run.  Thus, users are faced with having to run
      different combinations of applications:  DOS program plus network but not
      with Windows; a Windows program with the network, but not the DOS
      application, and so on.  Some users even have to maintain different
      CONFIG.SYS and AUTOEXEC.BAT combinations, rebooting between them
      according to the combination of applications they are running.  Many
      users also have to buy third party utilities such as QEMM, and experiment
      with various settings, to get the amount of memory they need. Use of such
      utilities sometimes creates new integration issues, such as getting
      memory managers, disk cache programs and network drivers to co-exist.  In
      OS/2 2.0, not only can different applications be run at the same time as
      well as the network, but also any different combinations of settings can
      be easily maintained in DOS settings, and different configurations run at
      the same time.

  o   SWAP FILE: To allow for better performance in swapping to and from disk
      __________
      in a memory-constrained environment, Windows 3.x offers a permanent swap
      file. This is a contiguous area of disk, usually not accessible via DOS
      commands, and therefore preventing other files making any use of that
      space. Indeed, even if Windows does not need the full amount of space, it
      cannot be regained for application use until the feature is disabled. The
      OS/2 SWAPPER.DAT file is designed to shrink as well as grow, so it is
      more flexible in allowing other files to be created alongside it.




                                                             Better Windows  64









  These are a just a few examples of the way in which OS/2's integration of DOS
  applications is superior to that of Windows 3.1, and such integration
  translates into lower running and support costs.

  In conclusion, we can certainly say that as a DOS environment, which appears
  to be the most important consideration even to many Windows users, OS/2 is a
  better Windows than Windows.  Now let's take a look at the other
  consideration, compatibility with Windows applications.


  RUNNING WINDOWS APPLICATIONS UNDER OS/2
  _______________________________________


  STANDARD MODE SUPPORT

  As far as OS/2 2.0 is concerned, Windows applications are just a special case
  of DOS applications, which need a special environment (Windows 3.x) to run.
  The key, therefore, to Windows applications compatibility, is to provide
  those applications with as similar an environment as possible to what they
  have under DOS, while taking advantage of the inherent design superiority of
  OS/2.

  First of all, it should be understood that the Windows 3.0 shrinkwrapped,
  retail package, can be run in a VDM in Windows real mode, (though Windows 3.1
  cannot be run in this way because it does not support real mode) and Windows
  applications started from within this VDM by the Windows Program Manager.  It
  cannot be run in standard or enhanced mode because of the way Windows has
  implemented the DPMI memory management scheme (it assumes it is a DPMI host
  and cannot act as a DPMI client - see "DOS extenders" on page 52).  Many
  Windows applications run in real mode quite adequately.  In fact,
  applications written for Windows 2 cannot run in any other mode, and
  therefore will not run in Windows 3.1.  It may be true that many Windows
  applications have been upgraded for Windows 3, but this forces an upgrade on
  users who may be quite happy with the function in their current package.  It
  means that the Windows upgrade path is now closed to users of Windows 2 based
  applications.  OS/2 2.0 does not force such a choice, and will run Windows 2
  and Windows 3 applications side by side, without having to exit and run in
  another mode.  In fact, some have commented that it is ironic that OS/2 2.0
  runs a wider range of Windows applications than Windows 3.1 itself.

  Standard mode is needed for many Windows applications (eg Excel 3.0 and 4.0).
  To accommodate these applications, OS/2 needs to provide additional support.
  Basically, these applications need to access DPMI services for extended
  memory support, which is usually supplied by Windows 3.x running in standard
  mode or above. As we have seen already, OS/2 2.0 offers DPMI services and the
  ability to access extended memory.

  The other requirement is to supply Windows services to Windows applications.
  This is done in OS/2 2.0 by modifying the Windows kernel and running it in
  standard mode in a VDM. As part of the joint development and cross-licensing
  agreement between IBM and Microsoft, IBM has access to both the Windows 3.0
  and 3.1 source code.  IBM has modified the source to provide a Windows kernel
  capable of running as a well-behaved DPMI client within an OS/2 VDM (the
  retail version of Windows 3.0 can only be a DPMI host).  This means that OS/2


                                                             Better Windows  65









  2.0 includes all the necessary Windows code to run Windows applications. A
  separate copy of Windows 3.x is not required. The Windows environment in OS/2
  is called WIN-OS/2.

  Since Windows 3.1 shipped after OS/2 2.0, OS/2 provides a modified Windows
  3.0 kernel in the release made generally available in March 1992. IBM has the
  ability to, and intends to, include Windows 3.1 support in a future update,
  even though there are very few applications that require this support (see
  "Windows 3.1" on page 74).

  OS/2 therefore supports Windows applications running in standard mode in a
  VDM. This means that the Windows kernel that runs under OS/2 runs in standard
  mode, and Windows applications run just as they would under DOS Windows 3.x
  in standard mode. The use of the VDM design, which provides a self-contained
  DOS environment, means that the environment is identical, from the
  application's point of view, to running under Windows loaded in standard
  mode, on DOS. This design therefore provides the maximum compatibility with
  the DOS/Windows environment. In fact, it offers a wider range of
  compatibility, since Windows 2 applications, which require real mode
  operation under Windows 3.0 in DOS, can be run alongside Windows 3.0
  applications running in standard mode.  This combination is not possible at
  the same time in Windows 3.0, and is not possible at all in Windows 3.1,
  since Windows real mode has been discontinued in Windows 3.1.


  386 ENHANCED MODE

  Windows has another mode - 386 enhanced mode, which requires the 386
  processor. OS/2 2.0 does not need to support enhanced mode for Windows
  applications, since for most Windows applications, there is no difference
  between standard and enhanced as far as the application itself is concerned.
  Standard mode provides Windows applications with all the memory management
  and other functions they need. Enhanced mode adds to standard mode the
  capability for multi-tasking DOS sessions and demand paging for efficient
  virtual memory, both of which are provided (in a superior fashion) by OS/2
  2.0 itself. Indeed, Microsoft recommends in the Windows 3.0 manual on page
  429, that users running only Windows 3.0 applications should run in standard
  mode, even on 386 systems with 2-3MB of memory, as there is a performance
  improvement in doing so.  Therefore, OS/2 2.0 provides equivalent function to
  enhanced mode for most users.

  There are, however, a small number of Windows applications which require
  enhanced mode to run. These are not supported in the first release of OS/2
  2.0. It is believed that there are only at maximum three or four of these in
  the market, which represents less than 0.1% of Windows 3.x applications, if
  we take Microsoft's figure of 5,000 Windows applications.  Such applications
  require enhanced mode either because they rely on features only available in
  enhanced mode, or have been coded using the WINMEM32.DLL, a set of routines
  that provide some 32-bit functions for Windows applications, such as Wolfram
  Research's Mathematica and Caere Omnipage Professional.  It is unlikely there
  will ever be many in the latter category of applications, since the
  WINMEM32.DLL is very difficult to use, and Microsoft themselves warn in
  Appendix E of the Windows Programmers Reference:  "only experienced Windows
  application programmers with extensive experience writing assembly-level code


                                                             Better Windows  66









  should attempt to use these functions in an application."  That is because
  even something as basic as memory management using these routines can be very
  complex, requiring the programmer to create his own assembly language
  interfaces between the 16 and 32-bit parts of his program (note that such
  "thunks" are provided by OS/2 2.0 between 16 and 32-bit modules - see "Mixed
  16-/32-bit environment" on page 12).  Charles Petzold, possibly the most
  widely respected authority on Windows programming, whose book on the subject
  is a standard reference work, concluded on this subject that "something is
  seriously wrong when memory access becomes difficult," and contrasted the
  current Windows approach with the ease of 32-bit memory management under OS/2
  2.0.  At the time of writing, Microsoft had not stated whether WINMEM32.DLL
  applications would be able to run under a 32-bit Windows environment and have
  said that it is unlikely that such Intel-specific applications would run
  unchanged in a future version of Windows/NT running on a RISC processor.

  So, although there are a very small minority of Windows applications that
  will not run under OS/2 2.0, the vast majority will run, and in a mode which
  allows access to their full function.  Indeed, to the Windows application,
  the environment will appear exactly the same as under DOS/Windows standard
  mode, but there will be greater overall protection, and the ability to
  pre-emptively multitask such applications along with DOS, OS/2 and other
  Windows applications.


  CONTRAST WITH PREVIOUS APPROACHES (BCL)

  It should be emphasised that IBM's approach of building Windows code into
  OS/2 is quite different from previous approaches by Microsoft, which have
  included a Binary Compatibility Layer (BCL) which attempted to translate
  Windows calls to PM calls in real time.  By providing the "real" Windows
  code, modified mostly for memory management purposes, the potential for
  performance degradation is greatly minimised.  Those who previously suggested
  that IBM's approach is "impossible" may have been thinking of a BCL-type
  approach, rather than the method actually used in OS/2 2.0.


  HOW THEY RUN


  Single session or separate session

  Windows applications can be started from an icon in the Workplace Shell, just
  like other applications: OS/2 16 and 32-bit, DOS etc. They are launched into
  a VDM which is, like other VDMs, protected from the rest of the system.
  Users have a choice of loading the Windows application into its own VDM (even
  if other Windows applications are already running in separate VDMs) or being
  loaded into a VDM which contains other Windows applications. These are termed
  Single application and Multiple application VDMs (SAVDM/MAVDM) respectively.
  This is controlled in the settings for the program object: when choosing
  "WIN-OS/2 window," you can check (SAVDM) or leave empty (MAVDM) the check box
  entitled "Separate Session"; or if running in a WIN-OS/2 Full Screen session,
  simply load the program from the Program Manager in the Full Screen session
  in the normal way.



                                                             Better Windows  67









  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 13. Single and Multiple application Windows groups

  Single application Windows sessions load the application executable (eg
  EXCEL.EXE for Excel 3.0) along with a modified WIN.COM file (WINOS2.COM).
  This is exactly the same effect as typing "WIN EXCEL" when running
  DOS/Windows 3.x.  The Windows application then runs under the WIN-OS/2
  environment, in its own VDM.  As far as the application is concerned, this is
  exactly the same as running under DOS/Windows; the modified Windows kernel
  provides the same services in a compatible way.  Additional Windows
  applications can be loaded into separate VDMs in the same way.

  Multiple application Windows sessions allow the user to run several Windows
  applications within the same VDM.  This is the closest possible fit to the
  DOS/Windows usage, especially when run in a separate WIN-OS/2 Full Screen
  session, when it is difficult to tell you are not running under DOS. In this
  way, users migrating to OS/2 from Windows are able to run under OS/2 but have
  the general "look and feel" of their DOS-based Windows environment.

  Single application VDMs provide the best protected way to run Windows
  applications under OS/2. Since the application runs in a self-contained
  Windows environment in its own VDM, it is fully protected from other
  applications, and the system is protected from it.  This means that if the
  application crashes for any reason, it only affects that VDM, and in fact
  only that one application.  Even other Windows applications running in other
  VDMs are not affected.  This is a significant improvement in reliability over
  Windows under DOS (both 3.0 and 3.1), in which, since all Windows
  applications and Windows itself share the same Local Descriptor Table (LDT),
  a failure in one Windows application may bring down the entire Windows system
  or corrupt the data areas of other Windows programs.

  But even though the SAVDM is fully protected, it can still share data via
  clipboard or DDE with other Windows applications or PM applications (see
  "Clipboard/DDE" on page 72).

  However, each SAVDM must load its own copy of WIN-OS/2, and will therefore
  increase the overall working set of OS/2, affecting memory requirements and
  performance.  If memory is limited, MAVDMs provide the ability to run several
  Windows applications with less resources required.  But this is at the cost
  of losing the additional protection of the separate VDM.  If one Windows
  application crashes within a Multiple application Windows session, it may
  cause all the applications within that VDM to fail; but the effect is only
  within that VDM - the other VDMs running DOS or Windows applications within
  other VDMs are not affected and continue executing.  So even here there are
  benefits running Windows applications under OS/2, for greater reliability
  from system crashes. MAVDM will also lose the additional WIN-OS/2 benefit of
  pre-emptive multi-tasking for the Windows applications within that VDM (but
  not any other WIN-OS/2 sessions).  MAVDM is also a requirement where Windows
  applications need to communicate with each other via shared memory, and where
  applications want to use OLE between each other (see "OLE" on page 73).



                                                             Better Windows  68









  FULL SCREEN OR SEAMLESS

  In the Limited Availability version of OS/2 2.0 which shipped in December
  1991, a WIN-OS/2 VDM ran only in a separate Full Screen session.  The user
  clicked on an icon (eg WordPerfect for Windows) in the Workplace Shell, and a
  separate Full Screen WIN-OS/2 VDM was launched along with the Windows
  application.  The user could toggle back and forth using Alt-Esc, Ctrl-Esc,
  or a little OS/2 icon that appeared in the corner of the Windows screen.  But
  this was the only visual clue that you were in OS/2 at all:  the screen
  looked exactly like DOS/Windows 3.0.  This Full Screen function is still
  provided in the product shipped in March 1992 (there is an icon marked
  "WIN-OS/2 Full Screen" in the Command Prompts Folder).

  There are some minor differences between the icons that appear in the
  WIN-OS/2 Full Screen environment versus DOS/Windows:  many of the Windows
  mini-applications and utilities (eg Notepad, games, PIF editor) have OS/2
  equivalents or are no longer relevant; others, such as the clock, are
  retained for compatibility.  OS/2 adds icons for returning to PM from a
  WIN-OS/2 Full Screen session (since the Windows user wants to have access to
  either Ctrl-Esc or Alt-Esc key combinations for compatibility with his
  Windows environment) and for DDE management (see later).

  The Windows print manager is retained, and Windows printer device drivers
  supported. The Windows Control Panel can be used to install Windows printer
  drivers not supported by OS/2, and to configure other Windows printer
  drivers, just as in DOS/Windows.

  This full screen Windows function fulfilled the commitment made in April to
  provide Windows compatibility in 1991 (completed in the Limited Availability
  (LA) product shipped in December 1991).  But during the early autumn of 1991,
  IBM received feedback from many of its beta testers to bring forward the
  functions it had been discussing for a future version to run Windows
  applications on the same screen as other DOS and OS/2 applications.  The
  decision was taken to move the GA (General Availability) date to March 1992
  to allow this function (and others) to be added.  It was first shown in Lee
  Reiswig's "OS/2 live"  show at Fall Comdex in October 1991.

  This latter function has since been called "Seamless Windows." But the term
  is not very accurate; it was chosen by the marketplace, not by IBM. It is
  important, in fact, to note that most of what makes OS/2 2.0 "a better
  Windows" was already delivered with the LA product in December:  protection
  between applications, pre-emptive rather than co-operative multi-tasking for
  better and more consistent multi-tasking performance, integration with other
  DOS and OS/2 PM applications via clipboard and DDE, with no loss of
  compatibility.  Many people still run their Windows applications full screen,
  even with the GA version, as it does what they need.  In fact, full screen
  has some benefits over Seamless operation (better performance, especially for
  clipboard and DDE, and more visually compatible with DOS/Windows).

  In any case, much of the WIN-OS/2 environment represents a "seamless"
  migration from the DOS/Windows environment anyway:  automatic installation of
  Windows printer drivers, re-creation of existing Windows program groups and
  WIN.INI settings.



                                                             Better Windows  69









  Also, for most users, the most important aspects of integration are to be
  able to run all applications from the same user interface, and to allow all
  applications to share data.  These benefits apply to Full Screen and Seamless
  operation alike. Windows applications can be loaded from the same folders as
  DOS and OS/2 applications, from the new Workplace Shell, and data can be
  shared via clipboard and DDE.

  But in the context in which it refers to the opposite of "Full Screen,"
  "Seamless" operation merely refers to the way the WIN-OS/2 application is
  displayed on the screen, in its own window on the Workplace Shell desktop as
  opposed to in a separate Full Screen session (see the diagram below, using
  Excel 3.0 for Windows):

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 14. Windows Full Screen and Seamless Sessions

  Note that the fundamental way the WIN-OS/2 application works is the same
  whether it runs Full Screen or Seamless:  it runs in its own protected VDM;
  it runs with the modified Windows code, it runs in standard mode.  But the
  additional element is the way the screen output is mapped on to the Workplace
  Shell screen.  Also, you can have any combination of SAVDM/MAVDM, or Full
  screen/Seamless:

  o   SAVDM Full Screen (WIN-OS/2 Full Screen in DOS Settings)
  o   SAVDM Seamless (WIN-OS/2 window in DOS Settings - "Separate Session"
      checked)
  o   MAVDM Full Screen (WIN-OS/2 Full Screen object in "Command Prompts")
  o   MAVDM Seamless (WIN-OS/2 Window - "Separate Session" unchecked; the
      default for most applications)


  How does it work?

  Please note that what follows is a simplified explanation. There are no
  specific considerations for users or programmers in the way the Seamless
  WIN-OS/2 operation works.

  The two key considerations in the design of the "Seamless" function were:

  1.  Maintain compatibility
  2.  Retain high performance

  This resulted in a more "low level" implementation to avoid the limitations
  inherent in attempting to map Windows calls to PM.  Instead, both the PM and
  Windows screen device communicate with each other via a Virtual Device Driver
  (VDD), VWIN, providing synchronisation of access to the video display
  hardware.  Each device driver "owns" its section of the screen.  (This was a
  significant task in the time available, even for VGA; it can easily be
  understood why Seamless function is only available for VGA in the GA March 92
  release, but drivers for above VGA are in development and will be delivered
  later in 1992).  A new entry in WIN.INI, SDISPLAY.DRV= , denotes the change.
                                           ______________


                                                             Better Windows  70









  The best way to understand the way it all works is to consider an example.
  Refer to the numbered diagram below while reading the following explanation:

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 15. How Seamless Windows works

  When a WIN-OS/2 application creates a window, the Windows screen device
  driver requests the PM screen device driver to open up a "black hole" of the
  same dimensions (see step 1 in the diagram).  The Windows device driver then
  has control of the video hardware and paints into this space (step 2).The
  result is that the WIN-OS/2 application (which is completely unaware of this
  process) creates its main and secondary windows on the Workplace Shell screen
  alongside (and sometimes overlapping) other OS/2 application windows.  Notice
  this means that the WIN-OS/2 application paints its own frame controls and
  mouse pointer (eg title bar, minimise/maximise buttons) and even the infamous
  Windows hourglass!), and these controls will therefore look like Windows
  controls, not PM ones.  If you put Excel for Windows and Excel for OS/2 side
  by side, you'll see the difference.  Although this creates some minor visual
  inconsistencies (most users don't even notice!), it preserves compatibility
  and performance.

  The WIN-OS/2 application window can be sized and moved as normal merely
  changing the co-ordinates of the "black hole"  into which it paints (see
  steps 3A and 3B).  The PM screen device driver repaints any part of the PM
  screen space previously governed by the WIN-OS/2 window.  Other WIN-OS/2
  applications (whether launched from the same WIN-OS/2 VDM or not) can create
  their own main windows (see step 4), or the existing applications can create
  secondary windows which can extend beyond the original window's co-ordinates.
  Corel DRAW! for Windows creates a main window with a tool bar which hangs
  below the bottom of the window if resized, resulting in a non-rectangular
  window.  OS/2 2.0 handles such exceptions without a problem.

  If an OS/2 application window is created, moved or resized to overlap a
  WIN-OS/2 application's window (see step 5A) the PM screen device driver will
  cause a "white hole" to be created in the "virtual" screen space of the
  WIN-OS/2 session (step 5B).  This causes the WIN-OS/2 application to avoid
  painting the part of the window that has been "covered" by the OS/2
  application, and restrict repainting to the portion which is still "visible"
  under or around the "white hole" (see step 5C).  If the OS/2 application
  window is subsequently closed, moved or resized, the screen drivers
  communicate again to change the size of the "white hole" (in a similar way
  that the co-ordinates of the "black hole" are changed in step 3B).

  The use of "black" and "white" holes means that WIN-OS/2 and OS/2 (including
  DOS) application windows can overlap each other normally, without one
  incorrectly painting over the other. The two screen drivers keep a record of
  each other's state without affecting any of the OS/2 or WIN-OS/2
  applications.  This means there are no significant compatibility or
  programming considerations.  Since the PM screen device driver is always
  aware of the changes made by WIN-OS/2 applications' windows, there is no
  impact to OS/2 applications, and likewise for WIN-OS/2 applications which


                                                             Better Windows  71









  create, move, resize and destroy windows in the normal way.  Performance is
  good, because communication is at a low level between screen drivers, not an
  API mapping layer, and compatibility is excellent because no fundamental
  changes occur to either the Windows GDI or PMWIN (the main window-creating
  components of WIN-OS/2 and PM respectively).  And as far as the user is
  concerned - it just works, minimising the difference between DOS, Windows and
  OS/2 applications.  In fact, it achieves the aim of "seamlessness" by making
  applications behave in similar ways, whether DOS, Windows or OS/2
  applications.  To the user, it appears easy, but the technical accomplishment
  behind it is considerable.


  High resolution support

  At General Availability time in March 1992, Seamless drivers were only
  available in VGA. This means that the whole system (including PM) must run in
  VGA if Seamless operation is required. The installation program gives users
  with 8514/A or XGA adapters the choice between high resolution WIN-OS/2 in
  full screen, or Seamless in VGA.  Remember that the choice also affects the
  resolution PM appears in.  This choice will become redundant once Seamless
  drivers for resolutions higher than VGA appear.  Drivers for XGA and SVGA
  will become available by the end of 1992 (see "OS/2 1992 developments" on
  page 123).

  Since OS/2 2.0 shipped in March, IBM and other vendors have continued work on
  drivers at resolutions higher than VGA.  Drivers for XGA and some SVGA chip
  sets will be made available in a service pack by the end of 1992, rather than
  than waiting for a new version of OS/2.  It is to be remembered that to
  enable Seamless operation, both Windows and PM screen drivers need to be
  modified, for each resolution.


  CLIPBOARD/DDE

  An important benefit of the Windows environment is the inter-application
  communications it offers to Windows applications, allowing them to share
  data.  The two most common methods for achieving this are via the clipboard,
  and Dynamic Data Exchange (DDE).

  The Windows clipboard, like PM's clipboard, usually allows applications to
  share data on a "once only" basis.  Data is "cut" from one application to the
  clipboard, and "pasted" from the clipboard into another application.
  Applications that support the clipboard sometimes allow a link to be set up
  between applications, using the same or similar commands, and that link is
  usually handled via DDE.  DDE is a message-based protocol allowing
  applications to pass information back and forth, updating items as they
  choose.  For example, an information feed like a stock market ticker, can be
  linked via DDE to a spreadsheet, and update it with the latest information as
  the data changes.

  Both clipboard and DDE are supported for Windows applications in OS/2 2.0.
  Since OS/2 already supports both of these functions (OS/2 1.3 provided
  similar functions for OS/2 16-bit applications), it is mainly a matter of



                                                             Better Windows  72









  integrating the Windows support within OS/2 so that Windows and OS/2
  applications can access the same function.

  The way in which this is done in OS/2 2.0 is quite similar for clipboard and
  DDE. Each requires one protected mode (OS/2) program acting as a "server" for
  messages between applications.  Also, in each VDM running a Windows
  application, a pair of applications needs to be running:  a modified version
  of the Windows clipboard viewer program for clipboard, and a "ServerAgent"
  program for DDE.  The ServerAgent, which is started when the VDM is started,
  takes DDE messages from the Windows application and routes them to the
  DDEServer and receives messages from the DDEServer and passes them to the
  application running in the VDM.

  Clipboard and DDE are also available between applications running in the same
  VDM. This works in exactly the same way as today under DOS/Windows; the local
  VDM-based clipboard or ServerAgent programs are not needed unless clipboard
  and DDE are required outside the VDM.  Users can also specify that their
  clipboard and DDE is local to that VDM only, or "public" to the whole system.
  If sharing between Windows and OS/2 applications is not required, the
  clipboard should be kept "private," to improve overall performance.

  The result of this is that clipboard and DDE are supported in OS/2 2.0
  between Windows applications, and between Windows and OS/2 applications. DOS
  applications can also participate in clipboard sharing. Thus, there is a
  consistent way of sharing text and graphical data between DOS, Windows and
  OS/2 applications.


  OLE

  Object Linking and Embedding (OLE) is a mechanism created by Microsoft and
  endorsed by other vendors, to extend the data sharing currently possible in
  Windows. It is intended to support the creation and editing of "compound
  documents," where elements may come from a number of different applications,
  and still be editable by the source application, even when linked in another
  document or application.

  Several ISVs are intending to support OLE, but today only a minority of
  applications actually support it. Examples include Microsoft Excel version
  3.0, and Lotus Notes version 2.0.  Windows 3.1 is expected to simplify the
  enabling of this function, because it includes the necessary support in the
  product, but applications still need to be rewritten to take advantage of it.
  Therefore, OLE is more of a potential standard in the Windows world, than a
  current, widely-used one. In addition, it has some technical limitations
  which preclude its widespread use in a networked environment in its current
  form.

  Microsoft had previously announced their intention to provide OLE libraries
  for OS/2 in mid-1991, but no toolkit has yet been shipped.  OS/2 2.0 supports
  OLE between Windows applications in the same Multiple application Windows
  session, as long as the applications include their own OLE DLLs.  An example
  of such an application is Microsoft Word for Windows version 2.0, which
  includes its own "mini-applications" for functions like charting and drawing,
  and links to the main word processing module using OLE.  Since there is not


                                                             Better Windows  73









  yet any equivalent function in OS/2, OLE will currently work between Windows
  applications only.  IBM is currently investigating a superset of current
  Windows OLE function for a future release of OS/2.


  WINDOWS 3.1

  In April 1992, Microsoft shipped an updated version of Windows, Windows 3.1.
  It offers a number of new functions, and a substantially expanded API set,
  including Multimedia and Pen extensions (although the latter functions
  require separate add on products).  Since OS/2 2.0 had already shipped by the
  time Windows 3.1 shipped, IBM has no specific support for Windows 3.1 APIs in
  the first release of OS/2 2.0, nor is it certain how important such support
  is.  IBM's aim is to run Windows applications, not Windows.  Windows 3.1
  support is only an issue if it enables new windows applications to be
  developed which may not run under the current level of WIN-OS/2.  Whether
  developers will build in functions requiring Windows 3.1, will depend on how
  they view the risk of only targeting part of the Windows installed base
  (those who have moved up to 3.1).  Microsoft promised compatibility between
  Windows 3.0 and 3.1, and are offering developers the opportunity to ship the
  extra 3.1 function in DLLs along with the application.  If this enables the
  application to run under Windows 3.0, it should do for WIN-OS/2, by the same
  logic.  If developers follow this path, the need for Windows 3.1 support in
  OS/2 2.0 may not be as urgent as some suggest.  Indeed, there have been very
  few Windows 3.1-specific applications appearing in the first few months after
  the shipment of DOS/Windows 3.1. At one time, Microsoft had announced that
  they would make Windows 3.1 capable of being a DPMI client, and thus run
  under OS/2 2.0.  However, Windows 3.1 does not possess this capability.

  Nevertheless, IBM has the Windows 3.1 source code through the joint licensing
  agreement and will continue to monitor the need for additional levels of
  Windows support.  IBM is fully able to provide such support without help from
  anyone else, as it has done so far with the development of OS/2 2.0.  On
  April 6th 1992 Microsoft shipped Windows 3.1.  On April 7th, IBM showed the
  Windows 3.1 Program Manager running in a Seamless window under OS/2 2.0 (not
  the GA version).  This was not an announcement of Windows 3.1 support, merely
  an indication that it could be done. Work is now taking place on updating
  WIN-OS/2 support (see "OS/2 1992 developments" on page 123) and is in beta
  test at the time of writing.  The main part of the work is extensive
  compatibility testing with Windows 3.0 applications.  The aim is to ensure
  that the change to Windows 3.1 level of support, does not lead to the kind of
  compatibility problems that were reported in PC Week  soon after the release
                                               _______
  of DOS/Windows 3.1, and referenced in the Windows 3.1 APPS.HLP file.  Because
  of these compatibility problems, and the withdrawal of support for Windows
  real mode by Microsoft, it is true to say, at the time of writing, that OS/2
  2.0 runs a wider range of Windows applications than DOS/Windows 3.1.










                                                             Better Windows  74









  A BETTER WINDOWS?
  _________________

  So, in conclusion, the approach taken to running Windows applications under
  OS/2 2.0 has a number of benefits:

  o   COMPATIBILITY: gives high compatibility with the widest range of Windows
      _____________
      applications, since the applications are running under the real Windows
      code, modified only for compatibility with OS/2.

  o   PERFORMANCE: since the applications run under a modified version of
      ___________
      Windows itself, it does not suffer from the performance limitations of a
      Binary Compatibility Layer (BCL) approach, such as was previously
      attempted (and subsequently abandoned) by Microsoft. Although single
      tasking scenarios may be up to 20% slower, multi-tasking performance is
      comparable to that under Windows and in many scenarios better, because of
      the superior multi-tasking design of OS/2. Indeed, the more the system is
      loaded, the faster Windows performance will tend to deteriorate in
      comparison with the same configuration under WIN-OS/2. Even the example
      quoted earlier from NSTL's independent benchmarking (see "Performance" on
      page 62) shows Windows performance less than WIN-OS/2 even with only one
      background process.

  o   PROTECTION: since Windows applications can run in separate VDMs, they are
      __________
      better protected from each other, so that errant applications cannot
      bring down the system. Windows applications themselves are protected from
      DOS applications more than is possible under DOS/Windows.

  And, as we have already seen, OS/2 2.0 represents a superior environment for
  multiple DOS applications (see "OS/2 versus Windows as a multi-DOS
  environment" on page 60), since there is more memory, better multi-tasking,
  and more protection than under any DOS or DOS extender.  Therefore, in being
  a better multi-DOS environment, and running Windows applications with full
  compatibility and extra protection, OS/2 2.0 is a better Windows environment
  overall.


  PORTING WINDOWS APPLICATIONS TO OS/2
  ____________________________________

  Of course, although OS/2 can offer excellent compatibility with Windows
  applications, those applications still remain Windows applications, and they
  are therefore limited in the extent to which they can integrate with OS/2.
  For example, full drag and drop functionality and other exploitation of the
  Workplace Shell, is only possible if you write for that environment, and that
  means OS/2. OS/2 applications have full access to a 32-bit API, 32-bit memory
  management, and multi-threading capability, allowing the same application to
  be much more responsive to the user (for example, retrieving a new file while
  saving the old one, rather than having to wait with the hourglass showing, as
  you might in a 16-bit, single-threaded environment like DOS/Windows.)  Minor
  issues of look and feel are also different (as is apparent when the
  application is run in a window alongside OS/2 applications).

  Compatibility with existing Windows applications is important:  but it does
  not mean that users should not be offered the chance of using better, more
  powerful and more responsive applications by using native OS/2 applications.


                                                             Better Windows  75









  Some have tried to suggest that having a Windows application is enough, since
  it will run under OS/2 anyway, and therefore one version will cover both
  markets. Developers who have followed this "lowest common denominator"
  approach, are now finding themselves unable to differentiate themselves from
  the competition, and indeed at a disadvantage in the OS/2 marketplace.

  Increasingly, users who migrate to OS/2 2.0, are demanding "native" OS/2
  applications, and vendors who can only offer Windows applications running
  under WIN-OS/2 are finding themselves uncompetitive if they do not supply a
  real 32-bit OS/2 version. WIN-OS/2 may be a "better Windows," but it is not
  as good as real 32-bit OS/2 and the Workplace Shell.  Therefore, vendors have
  considerable incentive to write for OS/2 and not keep only to Windows
  support. And over 1000 OS/2 32-bit applications are in development: more than
  150 shipped within three months of the release of OS/2 version 2.0. Vendors
  who have committed to OS/2, or who already have products available, include
  Lotus, Borland, Software Publishing Corp., Novell, Corel Systems, Micrografx,
  WordPerfect, DeScribe, ZSoft, Oracle, Gupta and Computer Associates. And IBM
  is also delivering a number of applications (in addition to the systems
  extensions described in "OS/2 in a connected environment" on page 109)
  including Personal AS/2, and ImagePlus/2.

  Writing for OS/2, and in particular using the OS/2 32 bit API, positions the
  software developer to take advantage of the developments in the OS/2
  environment, including multimedia, distributed computing and the increasing
  use of object technology (see "Futures" on page 123).

  However, possibly the most convincing argument for developers now, is the
  fact that over one million copies of OS/2 2.0 have been shipped within six
  months of its first availability, and OS/2 2.0 looks set to continue its
  success.  The one million mark is for many commercial developers, a sign of
  viability for a platform. Ed Zander, president of SunSoft, Inc., the software
  subsidiary of Sun Microsystems, was quoted in PC Week about Microsoft's views
                                                _______
  on porting its applications to SunOS: "Microsoft tells every company that
  walks in there that it won't do the ports until the architecture has an
  installed base of 1 million"(18) Microsoft's Bill Gates was quoted by PC
                                                                        __
  Magazine as saying he would only consider developing for OS/2 when it shipped
  ________
  more than 2 million units.(19) OS/2 has already passed the one million mark
  and is heading towards the second.  Whether the report in PC Magazine has any
                                                            ___________
  relevance to any future plans Microsoft may have for OS/2 2.0 applications,
  is unknown.

  Although the Windows and PM APIs are in some respects different, porting
  tools like the Developers' Migration Kit (see below) are being developed
  which aid the migration of Windows applications to OS/2, to allow them to
  take advantage of OS/2 benefits.  These are tools at the developer rather

  ---------------

  (18) Quoted in PC Week, July 29, 1991 - p111
                 _______

  (19) The report in PC Magazine, May 12, 1992 - p32, said : "When CEO Bill
                     ___________
      Gates was asked what it would take for Microsoft to write for OS/2, he
      said 2 million copies in the first year - but they'll sell less than 10%
      of that"


                                                             Better Windows  76









  than user level:  the Windows applications compatibility solution described
  above is a user-oriented solution, to gain maximum compatibility with
  existing shrink-wrap applications and derive some inherent OS/2 benefits like
  true multi-tasking and reliability; there are also developer tools, which
  allow applications to be ported from Windows to OS/2 and add OS/2
  functionality in the process. Among such tools are those being produced by
  IBM and Micrografx.


  IBM/MICROGRAFX PORTING TOOLS

  In April 1991, IBM announced a joint development and licensing agreement with
  Micrografx, Inc., a leading vendor of Windows and OS/2 applications. Part of
  that agreement included IBM's and Micrografx's intention to produce a porting
  toolkit to help move Windows applications to OS/2.

  The Developers' Migration Kit/2, announced in July 1992, allows developers to
  port applications and drivers from Windows to OS/2 with little or no code
  changes.  There are tools for applications and for device drivers.  The
  applications porting kit, and the device driver kit are based on the Mirrors
  technology from Micrografx.  Developers can maintain a common code base
  between Windows and OS/2, or OS/2 specific functionality as they port. The
  latter is recommended to enable better integration with the Workplace Shell
  (see "Workplace Shell exploitation" on page 82)  Drivers ported with the
  driver tools, such as the HP Paintjet driver, are already part of the OS/2
  2.0 base printer driver suite.

  This will increase the number of OS/2 applications by leveraging the Windows
  application base, and make it easier for developers to participate in both
  opportunities. This in turn will give the user another option to take
  advantage of his existing investment, but also have a wider choice of real
  OS/2 applications.

  The way in which the porting process takes place is similar to a product
  previously distributed by Microsoft, the Windows Libraries for OS/2 (WLO).
  WLO was derived from Micrografx Mirrors technology, but IBM and Micrografx
  are now using a more mature version of the technology in the Developers'
  Migration Kit/2.  Furthermore, the philosophy of the Developers' Migration
  Kit is somewhat different to that of WLO:  the latter retained something of
  the original BCL approach (see "Contrast with previous approaches (BCL)" on
  page 67), allowing a Windows application to run on OS/2 by emulating Windows
  on top of OS/2, providing OS/2 versions of the Windows libraries the
  application usually links to.  Although the porting process is similar, the
  Developers' Migration Kit is designed specifically to produce applications
  for OS/2 2.0 (not both 16- and 32-bit as was WLO's aim), and has a number of
  additional tools to help optimise the port for the OS/2 environment.  The
  result is likely to be better performing OS/2 2.0 applications than were
  possible using the WLO approach.








                                                             Better Windows  77









  BETTER OS/2
  ___________





  OS/2 1.3 has been widely respected and well received. Nevertheless, as well
  as being a better DOS than DOS, and a better Windows than Windows, OS/2 2.0
  is even a better OS/2 than OS/2 1.3. This section will show why.


  COMPATIBILITY
  _____________

  OS/2 allows applications written for previous releases of OS/2 to work
  without modification on version 2.0. The design of OS/2 always took this into
  account, and provides binary compatibility not only for the commercial
  applications written by ISVs, such as Lotus 1-2-3 for OS/2, but also the
  "line of business" applications written in-house by various companies to
  support their key business activities.  It is estimated by one independent
  source that as much as $4 billion of investment has been made in such systems
  running on OS/2.  Compatibility with these applications is a statement of
  IBM's intention to protect that investment while migrating forwards to new
  and better environments.

  The OS/2 design had to take account of 16-bit applications running in a
  32-bit system, and the system itself provides many services to allow 32-bit
  modules to call existing 16-bit modules, thus allowing for mixed 16/32-bit
  applications.  This means that the mixed model gives great flexibility, both
  in migrating applications from 16- to 32-bit, and also in allowing 32-bit
  applications to make the best possible use of existing service routines,
  window classes etc, developed for previous releases of OS/2.  (See "Mixed
  16-/32-bit environment" on page 12).

  Furthermore, the consistency of the API between 16- and 32-bit, allows
  relatively easy migration to 32-bit.  The PM API in particular was designed
  with 32-bit in mind, and this makes the 16- to 32-bit conversion relatively
  straightforward.  Conversion can be done in stages if preferred, the mixed
  16:32 model allowing a variety of approaches from recompiling and relinking,
  to full rewrite for critical sections, optimising for 32-bit.


  GRAPHICAL INSTALLATION
  ______________________

  The user's first view of the system, at installation time, is very different
  from 1.3. Instead of being entirely text-based, after the first disks,
  installation is done in a graphical mode.  This is more consistent with the
  main user interface, and provides better feedback to the user: a progress
  indicator bar shows how far through the installation the user has got, and
  pictures of disks appear at the bottom to show how many disks have been used
  and how many remain.

  The Install program is more intelligent; it can figure out your mouse,
  display, keyboard and country setup, and offer defaults for you to choose.
  For those who need more detailed control over their system, the selective


                                                                Better OS/2  78









  install which first appeared in 1.3 is also in 2.0, but as a graphical dialog
  box with check boxes to select the options and buttons to indicate how much
  each item takes up on disk, as well as a cumulative indication of the total
  disk space required for the components chosen.  Among the options that can be
  chosen or left are the on-line documentation, REXX, fonts, HPFS, and MVDM/DOS
  support.  These options allow further selection at a more granular level.
  For example, many people install DOS support but not Windows support, since
  they have no Windows applications.  Even individual utilities and
  applications can be selected or not; and the size of each component is listed
  to help you determine whether or not you want to spare the disk space.  This
  can make a difference, as the Tools and Games "applets"  (see "Applets" on
  page 96) take up to 5.7Mb of disk space.  But a listing of the individual
  utilities and games allows you to see what each item takes (eg games:  JIGSAW
  68K, SOLITAIRE 375K; applets:  TERMINAL 1501K, PM CHART 1159K).

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 16. Installation program - progress indicator

  The user is given an easier and less error-prone way to control some of the
  parameters in CONFIG.SYS, by cycling through valid options.  Once the product
  is installed, further customisation is possible via the OS/2 system folder
  (which contains options similar to the OS/2 1.x Control Panel).  Options can
  be added individually at a later point with the "Selective Install" object in
  the "System Setup" folder.

  For users wanting to install OS/2 over an existing DOS system, OS/2 install
  offers migration of existing DOS, Windows and OS/2 applications.  If the
  install program detects applications it recognises on the disk, it will offer
  the user the option to put them in a folder.  This way, the system can come
  up with the user's existing applications already available.  These
  applications are also set up with an optimal collection of DOS and Windows
  settings.  System Administrators can create their own custom database of
  applications to migrate in a similar way (see "Migrating applications" on
  page 51).

  When installing over a Windows 3.0 or OS/2 1.3 machine, the program groups
  are migrated into folders so that the groupings of programs are the same in
  the new environment. Device drivers from either DOS or OS/2 CONFIG.SYS files
  can be migrated too, as well as printer definitions from either Windows 3.0
  or OS/2 1.3.

  For new users, the install can give a tutorial on use of the mouse in order
  to guide the user through installation.

  As well as being simpler and more appealing to look at, installation is
  faster, due to an enhanced compression/uncompression algorithm for unpacking
  files from the disks.  Install can be done from any drive to any drive,
  allowing OS/2 2.0 to be installed, in future, from CD-ROM, or any other media
  that can be accessed as a normal drive letter, including across a LAN if
  required.  In addition, tools and services are available from IBM to assist
  the automated installation of many machines.  Remote installation and systems


                                                                Better OS/2  79









  management is a major area of development for OS/2, but many basic tools and
  facilities are here today (see "Configuration, Installation, Distribution
  (CID)" on page 118). Most important of all, is that OS/2 2.0 is already
  enabled for automated LAN-based installation.  See the publication OS/2 2.0
                                                                     ________
  Technical Compendium, Volume 5:  Remote Installation and Maintenance
  ____________________________________________________________________
  (GG24-3780-00), for more details.

  Such automated installation tools can substantially reduce the amount of time
  taken to install OS/2 on a number of machines, since installation can take
  place simultaneously on several machines without operator intervention. The
  option for automated, LAN-based install, reduces objections to the amount of
  time taken to install the operating system. Even in a standalone environment,
  installation is straightforward, and though the number of disks required for
  an OS/2 installation does mean that a manual install will usually take at
  least 20 minutes, it is usually one single operation to install the system,
  with one reboot in the middle. Many people forget that although Windows comes
  on less diskettes, it does require DOS to be installed first, causing a
  two-stage installation process, and, for certain requirements, some
  co-ordination between the DOS and Windows installations is required (for
  example, if you want to use a mouse in a DOS window inside Windows 3.x - see
  "Integration" on page 63).


  BOOT MANAGER

  For users who wish to retain more than one operating system on their disk,
  OS/2 includes a multiple boot facility (Boot Manager).  This allows different
  operating systems to be placed on separate partitions, in order to select
  which partition to boot at power-on or reset time.  Since OS/2 can support
  the vast majority of DOS, Windows and OS/2 16-bit applications, it is not
  anticipated that this will be needed by many people for booting DOS or OS/2
  1.3 instead of 2.0, but instead may be used with other systems such as AIX,
  or as a testing tool for developers or technical support staff.

  It works by allocating a 1MB primary disk partition to a Master Boot Block
  (MBB) which contains code that is always executed first at boot time and
  handles further access to the hard disk.  It displays a menu allowing the
  user to select the logical drive from which to start the system.  Once this
  logical drive is selected, the operating system loader for the appropriate
  system is loaded as normal.  New versions of FDISK and FDISKPM allow the user
  to select the logical drive for use.  DOS and OS/2 1.3 have to be installed
  on a primary partition on the first hard disk, but OS/2 2.0 can be booted
  from any partition on any drive. This gives greater flexibility in planning
  installation than is possible using DOS, or Windows, which is dependent on
  DOS for booting.


  OS/2.0 - THE 32-BIT SYSTEM
  __________________________

  There are a number of obvious benefits to users in working with OS/2 2.0.
  There are also many benefits for developers.  Developer benefits can also be
  relevant to users: anything that helps developers ultimately helps users,
  since it becomes easier to write better and more powerful applications, and
  provide the opportunity for applications that could not be produced before.


                                                                Better OS/2  80









  WHY 32-BIT OS/2?

  First, it is worth examining why it is significant that OS/2 is a 32-bit
  system, and what benefits this can provide.


  Better performance

  One of the most obvious benefits of a 32-bit OS/2 program is that it will
  almost certainly perform faster than a 16-bit equivalent. An OS/2 32-bit
  application can make use of the full 32-bit instruction set and extended
  registers of the Intel processor. Some 32-bit compiled programs will also be
  smaller in size because of the smaller number of CPU instructions needed to
  complete certain tasks. Low level functions such as string manipulation, data
  movement and pointer operations will often be twice as fast under 32-bit.

  Furthermore, if the application is coded to the flat memory model, there are
  none of the overheads of segmented programming, such as the need to reload
  segment registers every time a different 64KB of memory needs to be accessed.
  This is slow and also an inconvenience and wasted code for the developer.

  The system itself provides more efficient paging than both the swapping
  mechanism of OS/2 1.3, and the memory paging used in the 16-bit Windows
  system (even on a 386). Applications that take advantage of the smaller
  memory granularity (memory can be swapped out to disk in 4KB pages) by
  intelligent organisation of code and collaboration with the paging mechanism
  by allocating memory in page size units, can show a significant performance
  improvement.

  The performance improvements that are possible depend on the changes made:
  they range between 5% and up to around 40%.  An example of the improvements
  possible is in the REXX interpreter, part of the OS/2 base system.
  Performance has been dramatically improved since it was changed to run in
  32-bit mode, as the graph below shows:

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 17. Comparison of 32- and 16-bit performance - REXX

  Even more encouraging is how such benefits can be achieved with relatively
  little additional development time. since OS/2 was designed with 32-bit in
  mind, migration from 16-bit has been made as straightforward as possible (see
  "Migration 16- to 32-bit" on page 84).

  The difference between 16-bit and 32-bit can be significant, especially when
  it is comparing Windows and OS/2 capabilities at the same time. DeScribe is a
  graphical word processing application which exists for 16-bit OS/2 (OS/2 1.x)
  and for 16-bit Windows (Windows 3.x).  The company has, in the past,
  demonstrated beta test versions of its 32-bit OS/2 release (which shipped
  soon after OS/2 2.0's March availability), comparing it with its own 16-bit
  Windows version.  Comparisons made by Describe, Inc., show that the 32-bit
  OS/2 version can be anything between 30 and 300% faster than the 16-bit


                                                                Better OS/2  81









  Windows version, to complete the same operation.  In addition, the OS/2
  32-bit version implements features like multi-threading which cannot be
  offered in the Windows version (since Windows 3.x cannot provide
  multi-threading).  This makes it possible, for example, to save one file and
  then start loading another while the previous file is being saved to disk, or
  looking at one document while another is repaginating.  This results in even
  higher PERCEIVED  performance to the user, because the application is more
         _________
  responsive, and less time is spent looking at an hourglass icon.


  More sophisticated applications

  Applications that may need space and better ability to handle large data
  objects (eg DTP, CAD/CAM, financial modelling, multimedia, database) will be
  easier to develop in a 32-bit system. Indeed, some may not be possible or
  feasible in a 16-bit system. In a segmented environment, programmers have to
  develop their own algorithms to use multiple segments to implement a single
  logical structure, which is complex and may make it difficult to achieve
  performance objectives. This is another issue that may help some applications
  move from the Unix environment to OS/2, since they have not been feasible on
  an Intel platform till now. Also, OS/2's support for overlapped I/O enables
  support for more sophisticated applications, like multimedia, where it allows
  better synchronisation between audio and video.


  Workplace Shell exploitation

  Windows and DOS applications will load from the Workplace Shell, but not take
  full advantage of the drag and drop capabilities and other methods of
  participating in the shell. It is possible to provide compatibility, but not
  full integration, since Windows applications remain Windows applications (see
  "Porting Windows applications to OS/2" on page 75).

  Some of the examples of what can be achieved by integrating the application
  with the Workplace Shell include:

  o   drag and drop printing, and file loading

  o   drag and drop installation

  o   consistency of user interface with the rest of shell - ease of learning
      applications

  o   registration of application objects, so they can appear as templates and
      have their own file associations

  o   interaction with other Workplace Shell objects

  o   more powerful user navigation: context menus, settings controls, views
      etc

  o   on line documentation, including integration with the Master Help Index
      if required



                                                                Better OS/2  82









  o   shutdown notification (eg start up with same collection of views and
      objects next time - pick up from where you left off)

  Although the benefits of Workplace Shell integration do not specifically
  arise from the fact that the system is 32-bit, they can only be achieved
  today by coding to the OS/2 32-bit API. 16-bit Windows can provide very
  little of this function today.


  Portability

  Applications written for OS/2 2.0 will be much easier to port to other 32-bit
  systems like AIX than applications written for 16-bit systems, as
  dependencies on processor specifics (such as the Intel segmented model) are
  eliminated.  Ports from other environments (Unix etc) will be easier for the
  same reason.  This will give the user an even wider choice of applications.

  Applications written for OS/2 2.0 will also be better prepared for systems as
  yet unreleased such as a future portable version of OS/2.


  Simpler programming model

  In OS/2 2.0, there is no need to take into account the requirements of the
  Intel segmented model, calling for code to be broken down into 64KB segments,
  and also no need for segment manipulation when passing control between
  threads or calling DLLs, for example, as is currently the case in 16-bit
  systems like OS/2 1.3 and Windows. Instead, memory is allocated with a 32-bit
  pointer that maps into an address space of 512MB, with no 64KB limit on the
  size of individual segments. Memory can therefore be allocated in logical
  units dictated by the requirements of the application rather than the
  constraints of the segmented memory model. This leads not only to better
  performance (reduced segment reloading), but reduced application development
  time (less code needed to do the same job, since segment handling code is no
  longer necessary).

  32-bit OS/2 coding is also simpler because there is only one memory model,
  instead of the many (small, medium, huge) under the segmented application
  model (represented by OS/2 1.3, DOS, Windows).

  The result for the user is that powerful and sophisticated applications will
  appear quicker, and some will be feasible for the first time, because they
  are easier to develop. Also more programming time can be spent on providing
  better function or usability rather than managing memory segments, which
  should also benefit the user.











                                                                Better OS/2  83









  Exploit hardware investment

  32-bit programs allow companies to take advantage of the investment in 32-bit
  hardware systems that they have been purchasing for several years. Currently,
  32-bit hardware is, in most cases, running 16-bit software. 16-bit software
  does not take advantage of the features of the hardware that have been
  optimised for 32-bit operation. 386 machines have simply been used as "go
  faster" 286 or 8086 machines, until a 32-bit system has become available to
  take advantage of it. As we have seen, the benefits of 32-bit are not just in
  performance, but in broadening the scope of what can be done. Waiting any
  longer for 32-bit alternative systems to become available, simply increases
  the length of time that the investment is left unexploited.

  All in all, 32-bit equals a richer set of applications, which are faster, and
  allow more choice and more function for users; in this way, developer
  benefits become user benefits.


  MIGRATION 16- TO 32-BIT

  Best of all, migration from 16- to 32-bit OS/2 applications can often be
  accomplished relatively easily. PM was designed with 32-bit use in mind, and
  the design of OS/2 2.0 has taken into account the need, not only to run OS/2
  1.3 applications unmodified, but also to make it straightforward to change
  the 16-bit OS/2 application to exploit 32-bit. In some cases, little more
  than a few function call changes are required. In many cases, changes will be
  needed to change from a segmented 16-bit memory management to the flat memory
  model of 2.0. How much work is involved here depends on how many dependencies
  the existing 16-bit application has on segment manipulation. What certainly
  can be said is that movement from 16- to 32-bit OS/2 will be no more
  difficult than changes to other 32-bit APIs (such as a future 32-bit Windows
  API), when they appear. Windows 3.x is based on an inherently 16-bit
  segmented model; unlike OS/2, it did not have the benefit of being designed
  with 32-bit migration in mind.


  OS/2 - A 32-BIT API - TODAY

  Some arguments against OS/2 rest on claims that OS/2 is not a full 32-bit
  system, or that other DOS-based alternatives provide a 32-bit system today.
  Such claims are based on misconception.  The essence of whether a system is
  32-bit or not, does not lie in how its internals are coded, but in the
  benefits it offers to users and programmers.  In fact, even to developers,
  the key issue is not what the system looks like internally, but what kind of
  programming interface is offered.  And, in this respect, OS/2 already offers
  a full 32-bit API, which has been designed to offer the maximum ease of
  migration from 16-bit (see above).  The OS/2 32-bit API enables developers to
  escape from the limitations of 16-bit segmented memory management to a flat
  memory model, but also offers multi-threading, advanced graphics support, and
  powerful interprocess communicatons.  The OS/2 32-bit API is also enabled to
  accommodate extensions like multimedia and pen-based computing.  It therefore
  opens up the future path not only for multimedia and pen, but also
  portability to RISC, and for increasing use of object-oriented technology,
  distributed networking and other developments.


                                                                Better OS/2  84









  In contrast, Microsoft offers today only a 16-bit API for Windows 3.x. The
  only 32-bit function currently available is the sparse set of functions in
  the WINMEM32.DLL, which even Microsoft itself warns, requires advanced
  Windows and assembly level programming skills.  Applications coded in this
  way may not be easily portable to other processors, if extensive use is made
  of Intel assembly language.  Since WINMEM32.DLL is a set of eight 32-bit
  function calls grafted on to a 16-bit DOS extender, the 32-bit code cannot
  make calls to 16-bit Windows or DOS functions, and therefore the WINMEM32
  program has to create its own interfaces between the 16- and 32-bit code
  segments, with address and parameter translation, ie the application must
  implement its own thunks, and they must be implemented in assembler.  This is
  in contrast with OS/2 2.0, which is designed to allow easy mixed model
  programming, and provides thunk controls to move between 16- and 32-bit
  modules.  This makes developing 32-bit applications much easier, and much
  easier to migrate from 16-bit.

  Microsoft has announced that when Windows/NT ships, it will implement a 32
  bit API, referred to as Win32. Publicly available specifications of the Win32
  API show it to be very similar in principle to the OS/2 32-bit API, with few
  extra features. But since Windows/NT is not scheduled to ship before the
  first half of 1993 at the earliest, Microsoft has announced a subset of the
  Win32 API, Win32s, will be available for developers working on Windows 3.1.
  This is understood to offer flat memory model programming (although details
  of the thunking that will be required are as yet unavailable), but will not
  offer advanced features like multi-threading and advanced graphics, which
  Microsoft says will not be available until Windows/NT appears.  Industry
  commentators have pointed out that the result of this is that developers will
  have to consider three different Windows APIs:

  o   Win16 (Windows 3.x)
  o   Win32s (Windows 3.1)
  o   Win32 (Windows/NT)


  and have to consider how they can design programs across three APIs, which
  can meet the stated Microsoft goal of scalability across the various future
  Windows offerings.

  On the other hand, OS/2 is available TODAY, and the 32-bit API has been
                                       _____
  available to developers for several years now, offering all the features
  promised across the three separate future Windows offerings, in one single
  API.  And the target platform has sold over a million units, several months
  before any alternative is due to appear.

  Internally, OS/2 is a hybrid 16-/32-bit system.  The majority of the system
  code (including most of the kernel, VDDs and the Workplace Shell) is 32-bit.
  Some other parts are obviously 16-bit as they aim to provide compatibility
  with older 16-bit software:  for example, WIN-OS/2 is a modification of
  16-bit Windows code, and is therefore as 16-bit under OS/2 as it is under
  DOS! Also, OS/2 maintains 16-bit code where it has been designed to
  accommodate 16-bit modules and DLLs, offering support for mixed 16- and
  32-bit code that is not apparent in Microsoft's stated aims for Windows/NT.
  Device drivers and parts of the file system are also still 16-bit. Other
  16-bit parts would gain little benefit from being adapted to 32-bit (such as


                                                                Better OS/2  85









  the command line utilities like TREE and SORT). In general, OS/2's mixture of
  16-bit and 32-bit code is well suited to the range of today's applications
  where 16-bit calls predominate.  It remains to be seen how well Windows/NT
  will be optimised for the 16-bit applications which will still be the
  majority (especially as it will not be able to run any of the OS/2 32-bit
  applications which will comprise the majority of 32-bit applications when NT
  finally ships). As 32-bit applications grow in popularity, OS/2's mixture
  will become more 32-bit.

  But it must be stressed that the internals of the system are irrelevant to
  both users and programmers.  Programmers care about a 32-bit API:  OS/2
  offers a shipping product with a 32-bit API; Microsoft only currently
  supplies a beta version of Windows/NT.  Users care about compatibility and
  performance, and OS/2 provides both of these within its design.  Where 32-bit
  can offer potential benefits (eg performance or future portability), the
  system components either have been moved to 32-bit or will be over time (for
  example, the 32-bit PM graphics engine and screen device drivers, which will
  be delivered by the end of 1992 as an update pack).  On the other hand,
  though Microsoft claims that Windows 3.1 has significant 32-bit code
  internally (though only when running in 386 enhanced mode), it does not offer
  any 32-bit API nor multi-threading, so the benefits of 32-bit are only partly
  realised.

  One of the key issues in the "32-bit" debate is portability to and from other
  processor families such as RISC. But such portability for OS/2 or Windows
  requires two things: the operating system kernel and subsystems, and the
  applications. If the API is not 32-bit, there is little point in having a
  portable kernel, since the applications cannot move without the API. OS/2 has
  a mature 32-bit API TODAY, and it has been available for over 4 years (since
                      _____
  the original Microsoft OS/2 2.0 SDK). This API was designed to accommodate
  the future directions of OS/2, including portability to RISC, a promise we
  made together with Microsoft in 1989. Although Windows 3.1 contains some
  32-bit modules internally in some of its components (eg FastDisk) some of
  these are so Intel-specific that moving them to RISC will be difficult, if
  they are attempted at all. So once again, the issue of the internals of a
  system is an irrelevance, and moreover a distraction from the real issue: the
  key factor in a 32-bit design is balancing the aims of portability and
  performance, but most of all, ensuring that applications can be delivered to
  exploit the system via the 32-bit API. Today, OS/2 delivers such an API, with
  features that are only promised for the future by Microsoft.
















                                                                Better OS/2  86









  WORKPLACE SHELL
  _______________





  The new user interface for OS/2 2.0 is one of the more obvious ways in which
  the new OS/2 is better than before.  But because it is a new interface, some
  aspects need some discussion as to why they are new and what benefits they
  bring.


  WHY ANOTHER USER INTERFACE?
  ___________________________

  The new look of OS/2 2.0 sets it apart visually not only from previous
  versions of OS/2, but also from other GUI environments on Intel-based PCs,
  such as Windows. To some, a new look presents opportunity; for others, who do
  not like change, the difference can seem a problem. It is worth examining
  some of the reasons why OS/2 2.0 presents a new look and feel, rather than
  just continuing with the OS/2 1.x look.

  o   MOVE TO THE FUTURE
      __________________

      OS/2 is not only a system that protects past investments in DOS, Windows
      and OS/2 1.x, but is also a platform for the future. It aims to provide
      the kind of object-based interface that will be the norm in tomorrow's
      object-oriented systems, but can deliver this function today, since
      386-based platforms have the power to support it. This is the new look
      defined in IBM's Common User Access (CUA) 1991 guidelines for the
      "workplace" model. But CUA is not just a set of rules - it is based on a
      VISION of how computers can really become more useful and useable. Ask
      ______
      your IBM contact about the "CUA Vision" disk-based presentation and video
      (see "CUA Vision materials" on page 156), to see where the workplace
      model is heading in future, and what sort of applications can be
      developed.

  o   NEED TO ATTRACT NEW USERS
      _________________________

      The PC marketplace is beginning to slow in growth. Vendors end up selling
      more hardware and software to the same people, and IS departments find it
      difficult to broaden the base of computer usage. That is because apart
      from the pioneers and early adopters, PCs are still too difficult to use
      for too many people. Current users would like to do more with their
      existing systems, but are constrained by the difficulties of learning so
      many different applications, each with their own unique way of working.
      And the fact that we are finding neither new uses nor new users for PCs,
      means that the return on our investment is limited, and the benefits are
      not being fully realised.

  o   FOCUS ON INFORMATION, NOT THE COMPUTER
      ______________________________________

      Too much of today's use of PCs requires the user to know a lot about the
      way the computer handles the data. Even GUIs like Windows and OS/2 1.x
      are basically a graphical representation of the same old


                                                            Workplace Shell  87









      computer-oriented way of working. Instead of worrying about different and
      inconsistent "managers" (File Manager, Program Manager, Desktop Manager),
      with some handling files, others programs etc, the user can focus on the
      information he wants to work with, and let the system worry about file
      and programs. You can have icons representing a report, and have the
      system associate that with a given application (such as a word processor)
      so that clicking on the icon loads the application. In this way, programs
      become tools to achieve the real desired result - working with
      INFORMATION.

  o   2ND GENERATION GUI
      __________________

      OS/2 2.0's user interface, and the design principles behind it, is the
      result of more than five years of analysis, prototyping and testing in
      IBM's usability laboratories.  The results of the tests indicate that an
      information-oriented user interface like the Workplace Shell is more
      productive and easier to pick up for first time users.  Once the basic
      principles are learned, even experienced users of old GUIs like Windows,
      find they prefer the Workplace Shell, since more complex tasks can be
      accomplished easier and it is more flexible.  It is an interface that
      builds on the achievements of "first generation"  GUIs like OS/2 1.x and
      Windows, and moves users on to the "second generation."

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 18. OS/2 Workplace Shell

  o   HARMONISE DIFFERENT USER INTERFACES
      ___________________________________

      People who have been using PCs for some time will have acquired knowledge
      of many different types of user interface: DOS applications have very few
      standards in user interface terms, and even Windows adds another
      dimension and another set of standards to learn. The Workplace Shell does
      not eliminate these differences (it must retain them for compatibility),
      but does offer a user interface layer above the individual differences,
      to provide a level of consistency and integration. For example, all
      applications, whether DOS, Windows or OS/2, can:

      -   be launched from icons on a common desktop
      -   appear in windows which can be sized, moved and hidden
      -   share data via a consistent set of commands (Mark/Edit/Copy/Paste)
      -   retrieved from the background, or closed via a common Window List

      The migration towards future object-based systems such as those based on
      the Taligent venture (see "Object-oriented environments" on page 128),
      provides the potential for convergence of ideas from the Workplace Shell,
      Motif, and the Apple Macintosh desktop.

  o   NEW, BUT EVOLUTIONARY
      _____________________

      This progress can be made now without compromising compatibility with the
      past. The old ways of working with the PC can be kept alongside new ways:


                                                            Workplace Shell  88









      -   the C:\> command prompt can be retained as an icon or even a menu
          item from the desktop context menu.
      -   you can use folders just like Windows 3.x or OS/2 1.x groups, and use
          the icons within them just like programs, thus treating the Workplace
          Shell like the graphical program loader that Windows is for many
          users.

      This allows the user to take what he knows and apply it immediately,
      while learning new skills that will make his work more productive. This
      mix and match of new and old knowledge makes evolution towards the 2nd
      generation GUI much easier.

      The key is to provide compatibility, but not to let the past bar your way
      to the future.


  AN INFORMATION-ORIENTED USER INTERFACE
  ______________________________________

  The first generation GUIs like Windows and OS/2 1.x have been a good
  introduction to the benefits of GUI for many people, but they are also a
  constraining factor on the progress of the man-machine interface. This is
  because the user interface design relies heavily on computer-oriented
  concepts like files, programs and directories.  The user interface (UI) model
  is built around various "managers": File, Print, Program and Desktop.  To
  navigate through the system, the user must know about the difference between
  a file and a program, about the physical layout and organisation of data on
  the disk, and to understand some of the constraints this imposes (for
  example, you cannot put files in a program group, only programs, but programs
  can be loaded from the File Manager).  There were other usability constraints
  which related more to the implementation of the user interface, rather than
  the design itself.  In the Windows 3.0 and OS/2 1.3 File Managers, only one
  directory tree window could be opened, even on a system with multiple drives.
  The Print Manager only interacted directly with the File Manager via drag and
  drop, but other applications either could not, or implemented their own drag
  and drop protocol.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 19. Development of user interface

  Moreover, this style of user interface imposes an application-oriented way of
  working, or an "action-object" paradigm: a user wanting to create a report
  will load his word processor, then look for the file containing the report.
  The ideal for the user would be to encourage an INFORMATION-oriented way of
                                                  ___________
  working, or one that uses the "object-action" paradigm, as this is the way we
  work more naturally when away from the computer. Moreover, it is important
  not to forget the computer is an item of INFORMATION technology. It is the
                                           ___________
  information that the user wants to work with, that is why he uses the
  computer in the first place.

  The Workplace Shell does not make the user look for the word processor to
  create a report, but rather allows him to click on an icon representing the


                                                            Workplace Shell  89









  report, and automatically load the application (the word processor)
  associated with it. This use of the object-action paradigm, and the focus on
  information, is why the Workplace Shell is sometimes called an
  OBJECT-ORIENTED USER INTERFACE (OOUI). It means that you create a letter by
  _____________________________________
  dragging a new copy from a "template" (see "Templates" on page 93), and
  regard the application as a tool to work with the information, rather than a
  program which you must "feed" with data.

  The new shell is designed to provide a more task-oriented, not
  process-oriented way of working, allowing the user to focus on what they
  want, not how to do it.  The new shell will also reduce the amount of
  system-specific knowledge needed, by being more analogous to the manual way
  of performing tasks (using the physical desktop analogy).

  Notice, however, that the new object-oriented way does not preclude the old
  ways of working. If you need the C:\> prompt, it is available; if you want
  folders full of program icons, which you click on to load, and then go
  through the "File Open" menu to find your data, that can be done too. You can
  mix and match the action-object and object-action techniques as you wish. But
  even with older DOS programs, some of the benefits of an OOUI (such as
  clicking on an icon representing a report, and having the system load the
  appropriate application), can be realised very easily without a radical
  change to working style. In fact, even if the Workplace Shell is used as a
  graphical program loader, there are features in it (such as workareas) which
  make it a better one than Windows (see "Multi-tasking and the user interface"
  on page 33).


  WORKPLACE SHELL COMPONENTS
  __________________________

  Not only do the design principles of the Workplace Shell differ from the
  older GUI models, but it is also visually different, and it includes a number
  of new features that did not appear in previous versions of OS/2.


  USER INTERFACE ELEMENTS

  In this section we will look at some of the user interface elements that
  contribute to the new look and feel.


  Desktop

  If you are familiar with OS/2 1.x or Windows 3.x, the first thing you will
  notice about OS/2 2.0 is that there is no obvious Desktop Manager, Task List
  or Groups. Instead, the screen represents your desktop, and everything on the
  desktop is an object - files, devices, programs etc. This means the desktop
  is the background of activity, and items can be placed on the desktop or in
  folders - in fact, anywhere you want; there is no restriction on where icons
  are placed as there is in Windows or OS/2 1.x. This means you can have either
  a "tidy" or a "messy" desktop according to the way you work.  Although the
  desktop is meant to give you a visual association with a familiar idea (your
  own desk), the Workplace Shell desktop is not meant to be exactly the same as
  your real desktop; it offers a bit more than your real desktop.  After all,


                                                            Workplace Shell  90









  if the computer only did the same things as you could do manually, why use a
  computer at all?


  Objects and folders

  The items on the desktop are objects: files, programs, devices (such as disk
  drives, the shredder and printers). Objects reside in folders or on the
  desktop (which is actually just the highest level folder). Folders are used
  instead of group windows, and are more powerful and flexible. Folders can
  contain any object, including other folders (again, just like the physical
  desktop), and can group items according to a given project or activity
  (features like workareas take this even further - see "Multi-tasking and the
  user interface" on page 33) You can also have more than one view of a folder,
  allowing you to look at the same information from different perspectives ; a
  simple example is in the Drives object, which lists the files by drive and
  directory; this allows multiple simultaneous views - Tree, Details, Icon
  views - of the same directory.

  Each object is visually represented by an icon.  You work with objects by
  DIRECT MANIPULATION  - ie by pointing at it with the mouse (see below).
  ___________________
  Notice that sometimes only the terminology is different:  what OS/2 2.0 calls
  a "Program object," Windows and OS/2 1.x might have called a "Program
  reference" or "Program icon."


  Direct manipulation

  Direct Manipulation is the act of working with an object by pointing at it
  with the mouse, double clicking to load it or open it, or dragging it
  somewhere else. Since most older user interface models worked by an
  action-object paradigm, experienced computer users are used to a certain
  level of indirection in using a computer (ie you go through a menu to invoke
  a command to work on an object). But the Workplace Shell allows users to work
  with objects more naturally, as they would on a real desktop - directly.  So,
  although experienced users may be tempted to think of direct manipulation as
  a gimmick, it is in fact a much more natural, consistent, and, in most cases,
  effective way of working with the system.

  A specific example of direct manipulation is drag and drop. This is where one
  icon is "picked up" with the mouse and moved somewhere else, often to another
  icon or folder.  Note that this use implies that objects can be programmed to
  understand what it means to have something dropped on them, or for them to be
  dropped on something.  In fact, there are APIs supplied for programmers to
  set the behaviour of their own icons (eg for selection, dragging and
  dropping).

  Use of these APIs allows greater consistency between the shell and
  applications, and also greater integration.  Developers can now register
  their objects (ie applications) with the system and have them used as an
  integrated part of the system.  This all results in a more powerful and
  consistent interface for the user.




                                                            Workplace Shell  91









  Although Windows 3.x offers some direct manipulation facilities and some
  APIs, its use in the system is currently limited mainly to the File Manager.
  Interaction between different parts of the system is therefore more limited
  than in OS/2 2.0, compromising the benefits of consistency.


  Descriptive names

  Objects and folders can be given any descriptive name.  For example, the user
  may have a folder called "Annual Report to the Shareholders," which may
  contain an icon called "Shareholder Report Draft 14 dated 6th March." This
  may be a document created using a Word Processing program.  Another icon may
  represent a spreadsheet containing the latest financial results.  Notice that
  icons can represent data files, and to edit them, the user can simply click
  on the object to invoke the application that created that file, and edit it
  further.  Even though files are physically stored by their old 8.3 file names
  (at least using the FAT file system), they can be represented on the desktop
  or in a folder by the more descriptive long name. It is easier to see that
  "Letter to Joe" would be more meaningful to any user (even the creator of the
  file!) than LJB0905.TXT. This feature is implemented at the file system
  level, so that even data files relating to old DOS applications can be given
  long names in this way - applications do not need to be rewritten.

  The use of descriptive names is in keeping with the principle of allowing the
  user to focus on the information, not the computer's way of working. In this
  way, OS/2 offers more fexibility than Windows, in which the computer-oriented
  way of working still shows through in the retention of 8.3 file names,
  despite the graphical veneer on the surface.


  Associations

  Associations can be created between files and programs, on a file-by-file or
  wild card basis.  This means that simply by double clicking on a data file,
  it can be loaded into the associated application. OS/2 applications can also
  create their own file types and associations which are created automatically
  when the program is installed (DeScribe and Excel for OS/2 are just two of
  the applications that do this already).  Associations can also allow a data
  object to be dropped on a program icon and have the program loaded with the
  data file. Multiple associations can be created per object.


  Shadows

  Since object icons can be placed anywhere on the desktop or in folders, this
  flexibility encourages different arrangements of programs, data and devices
  into "projects." This may mean that the user wishes to place a given object
  in more than one folder. Instead of physically copying an object from one
  folder to another, which can waste disk space and also cause maintenance
  problems if the object is subsequently changed, the Workplace Shell allows
  the user to set up a "shadow" of that object. (Apple Macintosh users will be
  familiar with the idea which they call an alias.)  The shadow is linked to
  the original object such that changes in the original are rippled through to
  the shadows.


                                                            Workplace Shell  92









  Shadows allow different uses of the same object, and allows work to be
  organised without regard to the physical location of data (they are
  particularly useful for working with data or devices located on a server). In
  this respect the combination of folders and shadows is much more powerful
  than the use of group folders and specially created directories in Windows or
  OS/2 1.x.


  Templates

  Templates are a means of easily creating new objects. Most objects can be
  defined from an existing type, or template. The system provides templates for
  the common objects such as data files, program objects, folders, printers and
  so on. For example, program objects are created by dragging a program
  template from the Templates folder, and entering the information about the
  program executable and working directory.

  But users and programmers may define their own templates. Programmers can
  create new file types (eg a Customer Invoice) and define templates via their
  own applications. Users can create templates themselves. For example, a "memo
  pad" template can be created, to use to create new memos, each of which may
  be automatically associated with a chosen word processor, and would contain a
  department logo, and headings for the "To:,"  "From:" and "Subject" parts of
  the memo.  Or a chart template could be created, so that each new chart
  created inherited the default characteristics: a logo and given fonts and
  colours. Since many business processes are repetitive, templates match many
  users' work very well. Any kind of information that has the same basic
  structure in each instance, and only the specifics beneath the "headings"
  change, is suitable for creating templates. Templates provide a consistent
  way of creating new objects, whether data, program, folder or device.


  Pop-Up menus

  Clicking with Mouse Button 2 on an object's icon, or on an open folder,
  displays a menu of options to work on the object. These pop-up menus display
  only the actions appropriate to the current state of that object. This
  reduces screen clutter and increases ease of use by eliminating redundant or
  inapplicable options. This menu can be customised by the user (for example,
  to change the application loaded from the "Open" menu, or to add user-defined
  commands).

  The use of Mouse Button 2 is one example of the UI innovations that has
  received some criticism in the computer press, though it is not clear why.
  Indeed, it is somewhat ironic that when Borland's Quattro Pro for Windows was
  reviewed in beta test, one reviewer praised its' use of Mouse Button 2 as a
  "Property Inspector." In fact, the Property Inspector provides very similar
  functions for a spreadsheet or graph element (otherwise known as an object!)
  as the Workplace Shell's pop-up menus do for object icons. While it is likely
  that Borland's UI designers came up with the idea independently, it is
  strange that what is a virtue from one vendor can be criticised in another.
  It is an illustration of how perception, rather than objective evaluation, is
  a danger when considering user interface design. (At least there is now the



                                                            Workplace Shell  93









  potential for some consistency in the use of Mouse Button 2 to work on an
  individual object - previously it was not used at all under Windows or OS/2.)


  Visual Clues

  It is important, for the user's comfort and satisfaction, that clues are
  supplied to aid learning and provide a context for what the user is doing. A
  major principle in the Workplace Shell is to provide visual feedback where
  possible, to keep the user informed about what is happening. These are often
  ignored by the casual reviewer, but they contribute to the usability of the
  system. Among the examples of such visual clues are:

  o   change of mouse pointer between clock icon, normal pointer, I-beam for
      editing, according to the context

  o   half-toned icon during copy of object (as opposed to normal tone for a
      move operation)

  o   a line drawn between a shadow and its original during the shadow
      operation

  o   a box drawn round an object which would be the target of a drag-drop
      operation

  o   shading behind the icon of an object that is in use

  o   "no-entry" sign on an icon when it cannot be dropped on a given object

  o   highlight of the object or objects (by darker shading) which are
      currently selected (and for which the current pop-up menu is valid)

  These visual clues are more widespread and more subtle than in less
  sophisticated GUIs such as Windows, where it is sometimes difficult to
  determine the context of an operation or an object, because of the lack of
  visual clues. (Consider, for example, how the new user reacts to an icon in
  the Program Manager and another, for the minimised application, at the bottom
  of the screen, with no apparent difference between them, yet they behave
  differently.)


  Consistency

  One of the most important aspects of the Workplace Shell is its consistency.
  Not only does it provide a consistent means of loading programs from
  different origins (DOS, Windows, OS/2) and make them work together, but it
  also provides a standardised interface to different tasks, through the use of
  drag and drop.  For example, OS/2 allows drag and drop to be used for
  copying, deleting and printing a file, where DOS uses three different
  commands (COPY, ERASE, PRINT), each with their own set of parameters. As
  stated before, it also provides a consistent interface (Mark/Edit/Copy/Paste)
  to sharing data between applications, whether DOS, Windows or OS/2
  applications. And drag and drop is applied to many other actions throughout
  the shell, such as setting colours and fonts.  This consistency is reinforced


                                                            Workplace Shell  94









  when using programs that integrate with the Workplace Shell and use the same
  manipulation techniques (see "Workplace Shell exploitation" on page 82).  The
  consistency of the Workplace Shell (where drag and drop are pervasive) can be
  contrasted with the rather superficial use of such techniques in Windows 3.1.
  Consistency is not achieved where drag and drop can only be done from the
  File Manager, and not throughout the shell.

  Consistency means that not only is the environment easier to use, but new
  actions are learned quicker, often by experimentation. In fact, the key to
  judging a user interface is not how easy it is to do something in an hour or
  a day (after all, no user interface is completely intuitive), but what extra
  can be achieved after the basics have been learned, and how easy it is to do
  more.


  Flexibility

  The user has complete freedom to set the look and behaviour of the shell.
  Colours, fonts and even background images can be set for the desktop, and for
  each folder individually. Icons and descriptive text can be set for each
  object, and even the behaviour of objects and their windows (such as whether
  a window is hidden or minimised to the desktop) and the use of mouse buttons
  can be customised, where appropriate on an object-by-object basis. This
  flexibility is important, because users rarely agree on what is preferable.
  The Workplace Shell reinforces the truth that the PC is a PERSONAL computer.
                                                            ________


  CONTROLS

  As well as providing a different way of working, the new look and feel of the
  Workplace Shell is established by a number of new user interface controls,
  including the following:

  CONTAINER      described above as folders, used to logically group objects on
                 the desktop. It can provide multiple views of the objects
                 (icon, text, tree, details).

  NOTEBOOK       an easy way to navigate through a complex dialog. It looks
                 like the paper notebook you may use at your desk. It
                 supersedes separate dialog boxes by providing multiple pages,
                 selectable by tabs. The notebook control is used to allow the
                 user to tailor the settings of each object.

  SLIDER         allows the user to select a quantity from a range of possible
                 values, by using a control very similar in appearance to that
                 found on many electronic devices - a "sliding" button.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 20. Container




                                                            Workplace Shell  95









  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 21. Slider


  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 22. Notebook

  There are also standard dialogs for open and save file, and font selection.
  All of these controls have programming interfaces, so that developers can use
  them in their own applications, to allow a common look and feel between
  applications and the shell.


  APPLETS

  OS/2 2.0 also ships with a number of mini-applications and utilities,
  ("Applets") which give some basic functionality to get started immediately,
  as well as acting as a learning aid, particularly for manipulating objects
  with the mouse.  (They also provide a bit of fun!).  These range from
  productivity applications like an editor, simple spreadsheet, calendar and
  card file, to a charting program and terminal emulator.  There is also a
  utility that allows the user to search through the disks for files matching a
  file specification or even a given item of text.  Of course, there are also a
  number of games including an OS/2 version of Solitaire that allows you to
  cheat if the game is not going in your favour!

  Applets are not intended as full function applications, but as a means of
  getting productive use of the system even without installing extra software.
  However, many of them are powerful enough in their own right to serve the
  occasional user of, for example with PM Chart, a charting package, without
  needing to invest in more software. They help to make the system appealing to
  both the first time and the less experienced user.


  EXTRA FACILITIES

  There are a number of extra features contained in the shell to help overall
  productivity, or improve ease of use:

  SYSTEM SETUP             This object allows the system to be easily
                           configured and changed to suit the individual. Not
                           only does it contain options for installing new
                           features or adding drivers, and for setting colours
                           and fonts, but also for modifying some of the
                           default behaviour of the system (eg whether windows
                           are hidden or minimised to the desktop; whether
                           clicking on an icon creates a new instance or



                                                            Workplace Shell  96









                           retrieves a running instance of a program; whether
                           to prompt when deleting an object, and so on).

  DRIVES                   This object replaces the File Manager from previous
                           releases. It provides similar function to the OS/2
                           1.3 File Manager. It has a multi-threaded design to
                           give good performance even in large directories. It
                           is no longer restricted by the Multiple Document
                           Interface (MDI)(20) design of the OS/2 1.3 File
                           Manager (which is still evident in the Windows 3.1
                           File Manager), but instead creates a series of
                           modeless(21) windows, which can be moved wherever
                           the user wishes.  Drives offers all of the function
                           commonly used by the File Manager in either Windows
                           3.x or OS/2 1.3, with the addition of greater
                           flexibility in certain operations.  For example, in
                           keeping with the rest of the shell, it offers
                           different simultaneous views of any drive or
                           directory, either icon view, tree view, or details
                           view (the latter lists file size, creation date, and
                           other details).  Since the windows created by the
                           Drives object are just like any others in the shell,
                           files can be dragged between the desktop and
                           different directories, and to the printer or any
                           folder.

  PRINTERS                 The ease with which OS/2 handles printing (with drag
                           and drop) is one of its strongest features, but
                           equally impressive is the flexibility of printer
                           setup and customisation of settings. Different print
                           objects may be set up, not only to represent each
                           physical printer, but also to represent a particular
                           combination of settings: for example, you can set up
                           the same printer to print portrait Times Roman
                           (represented by one icon, which you can give a
                           descriptive name such as "Portrait - for letters")
                           and create another icon to represent the same
                           printer running in Landscape mode with a small font

  ---------------

  (20) MDI means that multiple child windows are contained within the bounds of
      the parent window, and no child window can be sized beyond the bounds of
      the parent. The Windows 3.1 File Manager and the behaviour of the
      directory windows within it, provide an example of MDI.

  (21) Modeless (as opposed to modal) refers to the behaviour of child windows
      in a GUI.  Modal windows have to be closed or the dialog within them
      completed before the parent window can be accessed.  They tend to enforce
      a particular pattern of progressing through several windows (an example
      is in the use of error dialogs, which tend to be modal.) Modeless means
      that the user may move from the child window back to the parent without
      closing intermediate windows or dialogs. An example is the "Find" dialog
      in the OS/2 System Editor.


                                                            Workplace Shell  97









                           for those wide spreadsheet reports (to which you
                           give another name).  Both these printer objects can
                           be kept on the desktop or in a given folder, and
                           print output can be directed to either according to
                           the results required.

  CONVENIENCE FEATURES     The shell also includes several features for greater
                           user convenience. The user can set his own
                           background ("Wallpaper") for the desktop, or any
                           folder, as well as a keylock security feature
                           (blanks the screen and locks up the keyboard and
                           mouse after a user-specified period).  The desktop
                           layout (positions of folders, applications loaded
                           etc), can be autosaved at shutdown and restored when
                           next starting the system.  The workarea feature (see
                           "Multi-tasking and the user interface" on page 33)
                           makes it possible to do this on a folder by folder
                           basis.  This means that different projects (or even
                           different users sharing the same PC) can be kept
                           logically separate.  All of these features help make
                           the system easier and more enjoyable to use.

  TUTORIAL                 The default action after installation is to start
                           the tutorial, so that the first time user is taken
                           through the key elements of using the Workplace
                           Shell. The tutorial is highly recommended, even for
                           an experienced user of DOS Windows, or OS/2 1.x, to
                           familiarise oneself with the differences from the
                           previous environment. The tutorial can be revisited
                           at any time; it usually resides in the Information
                           folder.

  ONLINE HELP              The tutorial is just one of the items of information
                           that the OS/2 user has available. As well as
                           context-sensitive help being always available
                           through the F1 key, there is also a Master Help
                           Index, which gives a "how to" reference guide to
                           using the system. The Command Reference from version
                           1.3 is also retained, and there is in addition, a
                           glossary of terms. The ability of the shell to keep
                           multiple modeless windows open, allows the help text
                           to remain on screen while an operation is performed,
                           to guide the user through the process.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 23. Master Help Index

                           The Master Help Index and Glossary use a variety of
                           techniques to present information to the user:  text
                           in different colours and fonts, hyperlinks and even
                           pictures.  The Help facility also includes an


                                                            Workplace Shell  98









                           indexing and searching system, to help users find
                           the help they need.  All of these facilities are
                           open to the OS/2 developer as well, using the
                           Information Presentation Facility (IPF).  This
                           allows online help to be created very simply from
                           text files containing a tag language.  New functions
                           in OS/2 2.0 include the ability to predefine the
                           help window size and its position relative to the
                           parent window; multiple help pages (windows), called
                           viewports; support for multiple fonts, and easy
                           setup of tables of information; "tear off" help
                           pages, allowing a user to retain the help on screen
                           as he follows an example; and hypergraphics - the
                           ability to click on a graphic and be linked to text
                           or more graphics.

                           All of these facilities are available to application
                           programmers, so that on-line help for applications
                           can be created to have a consistent look and feel
                           with the rest of the shell. Some developers are
                           creating on-line guides for their applications, and
                           by placing them in the Information folder on the
                           OS/2 desktop, creating an "on-line bookcase."

                           In fact, the IPF facility can be used even more
                           widely than just online help for a program; in IBM
                           it is used as a general information delivery tool,
                           for online documents and reference guides -
                           sometimes it can be easier to use the computer to
                           search for information and then browse or print it,
                           especially if (as with most reference information)
                           there are a lot of cross-references.

                           One of the help items added after feedback from the
                           OS/2 beta test program was the "Start Here" object.
                           This was in response to customers who asked that the
                           shell provide the user with a visual focal point, in
                           case, looking at a desktop with no open windows and
                           no menus, he became confused and did not know what
                           to do next. The Start Here object allows a first
                           time user (or an occasional user) to find a focal
                           point to go and retrieve information about common
                           operations. It is not a replacement for the help
                           system, but an easy starting point to find out more.


  ADOBE TYPE MANAGER (ATM)

  One of the most important aspects of a graphical environment is, of course,
  that it continue to handle text well, and provide the benefits of different
  fonts and typefaces. OS/2 2.0 continues the innovation of OS/2 1.3, in
  including the Adobe Type Manager (ATM) as an integrated part of PM. ATM
  provides scalable font technology, to display and print high quality type on
  a variety of screens and printers (not just PostScript printers, but laser


                                                            Workplace Shell  99









  printers, inkjets and even dot matrix printers).  ATM is closely related to
  Adobe's PostScript printer language, and both use the same Type 1 font
  format.  This means that companies with an investment in PostScript on
  printers or on other platforms (such as Macintosh, AIX, VAX/VMS and IBM
  System/370) can be assured of a compatible use of fonts in OS/2.  ATM is a
  widely used font standard, with over 12,000 fonts available and over $4
  billion invested.  It is under consideration as an ISO standard.  Indeed, for
  SAA systems, Type 1 is the standard font format, and included in OS/2 2.0 are
  13 Type 1 fonts from 4 families (Times Roman, Helvetica, Courier and Symbol)
  that will be implemented as "core fonts"  across all SAA platforms.  Any of
  the 12,000 fonts available in Type 1 format can be installed and used with
  OS/2 applications, via the Font Palette.

  ATM allows OS/2 applications to render fonts in any size on the screen and
  printer, retaining the high quality of the typeface. It allows WYSIWYG (What
  You See Is What You Get) between screen and printer, which is important not
  only for Desktop Publishing, but even for word processing and spreadsheets.
  ATM is also available for DOS/Windows 3.x as a separate product, ATM for
  Windows, but OS/2 includes this utility at no extra charge in OS/2 2.0, so
  that users running Windows applications may take advantage of Type 1 fonts in
  their OS/2 and in their WIN-OS/2 sessions. However, in OS/2 it is not a
  separate utility, but an integral part of the PM system. OS/2 applications
  can use Type 1 fonts without any changes to the applications.

  Windows 3.0 had no in-built scalable font technology, and ATM for Windows was
  a popular product in that environment. However, in Windows 3.1, Microsoft
  introduced their own proprietary font technology, TrueType. This is not
  available on other platforms, except for Apple System 7, and according to
  Microsoft has 600 fonts available (compared to Type 1's 12,000 or more). OS/2
  has the ability to include support for other font formats such as TrueType,
  through an open font interface which is available to font providers; such
  support would usually be provided by the owner of the technology (in this
  case Microsoft). This would allow TrueType support to be provided in OS/2 in
  an integrated way, like ATM, if Microsoft wishes to expand the platforms on
  which TrueType is available. OS/2's aim is to provide open font support, not
  be tied to a proprietary font technology.

  In summary, the benefits of using ATM and Type 1 in OS/2 include:

  o   better quality screens and printouts

  o   WYSIWYG between screen and printer

  o   improved output even on less expensive printers

  o   wide choice of fonts

  o   investment protection in Type 1 fonts and PostScript

  o   a compatible font technology between OS/2 and WIN-OS/2

  o   integrated font technology available to OS/2 applications without change

  o   font portability to other platforms (Macintosh, VAX/VMS, AIX, S/370)


                                                           Workplace Shell  100









  LAN-INDEPENDENT SHELL

  As well as being a powerful and easy interface for working with data held
  locally, the Workplace Shell has a degree of "LAN-awareness" built in.
  Although it does not include requester code in the base system, the Workplace
  Shell is able to recognise the presence of network requester software such as
  the OS/2 LAN Requester for OS/2 LAN Server, or the NetWare requester for
  OS/2.  It provides an API which other network providers can write to, to
  integrate more fully with the Workplace Shell.  In this respect, it is not
  tied to any single LAN system, but can provide a graphical view of data held
  on different networks - it is "LAN-independent."

  OS/2 has provided access to multiple LAN systems at the same time (eg NetWare
  and OS/2 LAN Server) since OS/2 1.3: not only does it handle the concurrent
  protocols required (eg NETBIOS, IPX etc) but now, in OS/2 2.0, can offer a
  graphical view of network resources (files, printers etc) consistent with the
  rest of the shell.  By providing the same constructs for remote as for local
  data (folders, icons, printer and file objects), data can be moved between
  one folder and another, without the need to know the precise location of the
  data or which server software is running.  This makes access in multi-vendor
  networks much easier.

  Among the features it provides are:

  o   ability to login/logout to network servers through a graphical dialog

      -   this includes presenting an appropriate login dialog (if necessary)
          before a network object can be accessed; this means that, for objects
          that have specific login requirements, prompts for login are
          displayed, even if the main login is completed.

      -   an extra item on context menus for network objects is Login or Logout

      -   provides consistent login (though NOT a single login) between NetWare
          and OS/2 LAN Server - the difference between LOGIN (NetWare) and
                                                       _____
          LOGON (OS/2 LAN Server) are minimised
          _____

  o   browse available servers and resources (subject to logon viewing
      permission)

      -   A "Network" folder contains an icon for each requester installed (for
          example, one for NetWare and one for OS/2 LAN Server); clicking on
          the icon provides a view of the servers available

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 24. LAN Server Tree view

      -   shared directories and printers are given similar icons to standalone
          objects, but have a mini-network icon to distinguish if necessary, as
          shown in the folder below. This folder is from a NetWare server, but



                                                           Workplace Shell  101









          it is impossible to distinguish between NetWare and LAN Server -
          that's what is meant by LAN-independent:

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 25. Folder with network resources

  o   resources can be moved onto the desktop, or any folder, for easy and
      convenient access

      -   servers, shared disks, files or printers can be shadowed into any
          folder including the desktop (see "Shadows" on page 92)

      -   this is not just for the current session, but the icons representing
          the remote objects will be retained on the desktop at next boot, and
          the appropriate login dialog presented when the icon is next used

  o   seamless access to network folders, files and printers

      -   remote disk resources can be opened (if appropriate access privilege
          in force) to show folders and files (behaves just like the Drives
          object for local data).  Programs and data can be used and copied or
          shadowed from this network disk (without having first to assign the
          network directory a drive letter such as X:).

      -   shared printers are easy to set up (prompts to install matching local
          device driver if not already installed, and sets up rest of
          configuration)

      -   printer object can be opened to show queued jobs and job status (just
          like local printer), but user can only manipulate (hold, release,
          cancel) his own jobs; administrator can manipulate all jobs

      -   network printer can be the default (no need for local printer to be
          defined)

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 26. Dragging a shadow of a network resource to the desktop


  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 27. Drag and drop printing on the network

  Disk and printer resources set up for use by an administrator will appear as
  drive objects and printer objects, like local resources. Thus, once a user
  has logged on, he can see a P: drive and an X: drive, if these have been set


                                                           Workplace Shell  102









  up for him by the LAN administrator. In addition, the user can assign his own
  drive letters and logical ports to network objects that he has access rights
  to (similar to doing a NET ALIAS command in OS/2 LAN Server).

  But the key point of the LAN-independent shell, is that all access is
  graphical, through the Workplace Shell. There is no need for the command
  prompt or for character-based menus. This helps to bridge the gap between the
  LAN and local resources, and provide a more consistent and seamless access to
  both.


  SYSTEM OBJECT MODEL (SOM)

  One of the most significant elements of the Workplace Shell is something that
  users never see - the System Object Model (SOM). SOM is an object model - a
  way of defining objects to the system. It is the foundation of the
  object-oriented design of the Workplace Shell. In fact, the Workplace Shell
  itself is built on SOM:  Workplace Shell objects (folders, the shredder, the
  clock and so on) are SOM objects.  This means that the Workplace Shell is
  object-oriented, not only in its user interface, but also in the way it is
  built.  It is built on an object foundation - quite literally, built with
  objects.

  The fact that the Workplace Shell is built on objects, means that it can take
  advantage of the benefits of object-oriented design: it is extendable.
  Suitably written programs can add their own user defined objects or evolve
  them from the base classes provided with the system. The result can be that
  the distinction between application objects and system objects becomes
  blurred - the applications blend with the rest of the shell to provide a
  seamless set of services to the user. This is the starting point for
  evolution towards a full object-oriented environment, where distinctions
  between applications and the system cease to exist, and objects can be
  combined in different ways to accomplish user tasks.

  The way in which such objects are built in OS/2 2.0 is via SOM. SOM tools are
  provided with the OS/2 2.0 developers' toolkit. SOM is not a programming
  language, but a system for defining and manipulating object class libraries.
  It provides a set of APIs and a run-time library to allow object-oriented
  programs to be written to interface with the Workplace Shell.  In fact, SOM
  has a wider scope even than the Workplace Shell objects you see on the
  desktop.  It is a means of implementing object-oriented constructs, and is
  designed to be system and language-independent.  This is an important
  feature, because most object-oriented development environments today are
  language specific (eg you can use either C++, or Smalltalk, but not mix
  both), and therefore it is difficult to share or subclass objects or classes
  from other environments.

  Note that you do not need to develop SOM objects to get a high degree of
  integration with the Workplace Shell. Many features such as drag and drop are
  provided in standard PM APIs.

  The significance of SOM, rather, is in providing an object-based layer on
  today's generation of operating system.  This allows many of the benefits of
  object-oriented programming to be realised on a platform that also provides


                                                           Workplace Shell  103









  compatibility with older applications.  As such, SOM provides the
  architectural foundation today, for OS/2 to move in future towards increasing
  object-oriented content.  The Taligent joint venture (see "Object-oriented
  environments" on page 128) is another potential source of object technology.
  As object-oriented development becomes increasingly important throughout the
  90s, OS/2 and SOM will evolve to meet the need to use such techniques in
  developing OS/2 applications.


  MOVING FROM A PREVIOUS GUI
  __________________________

  The design of the Workplace Shell has been tested for several years in IBM's
  usability laboratories, and the beta test of OS/2 2.0 provided more
  information on how easy it is to learn and use. In general, people who had
  little experience of computers found the Workplace Shell easy to pick up and
  use, once the basic principles had been explained. For DOS users who have not
  been exposed to GUI before, and for Macintosh users, the transition is not
  very difficult either. IBM's tests, and the evidence of the OS/2 2.0 beta
  test, showed that the main category of users who encountered difficulties,
  were those who had used a previous PC-based GUI, such as Windows 3.x or OS/2
  1.x.

  During the beta test, as a direct result of customer feedback, some changes
  were made to improve the migration for this latter class of user. These
  included the ability to predefine the look and feel of the shell to be more
  like that of Windows 3.x or OS/2 1.x, and individual features such as the
  choice of minimising windows to icons on the desktop, rather than "hiding"
  the window, which is the default Workplace Shell behaviour.

  In fact, though the default look and feel can appear different on first view,
  most items are very familiar to the Windows or OS/2 1.x user once the
  connection is made between the old style and the new:
























                                                           Workplace Shell  104









  +---------------------------------------------------------------------------+
  | Table 7. Windows 3.x and OS/2 1.3 vs. Workplace Shell                     |
  +-----------------------------+---------------------------------------------+
  | WINDOWS 3.X - OS/2 1.3      | OS/2 2.0 WORKPLACE SHELL                    |
  +-----------------------------+---------------------------------------------+
  | Groups                      | Folders (offers more function - see         |
  |                             | "Objects and folders" on page 91)           |
  +-----------------------------+---------------------------------------------+
  | Desktop Manager/Program     | None. Instead, a random "messy desk"        |
  | Manager                     | assortment of objects (files, programs or   |
  |                             | devices). This can be made as "messy" or as |
  |                             | "tidy" as you wish.                         |
  +-----------------------------+---------------------------------------------+
  | Icons                       | Objects. This is an important distinction.  |
  |                             | An icon now represents the object (file,    |
  |                             | program or device) and not a running        |
  |                             | program.  The main consequence of this is   |
  |                             | in the way minimised windows are treated    |
  |                             | (usually they are hidden, but you can       |
  |                             | choose to represent them as icons on the    |
  |                             | desktop - this can be set on a per-object   |
  |                             | basis)                                      |
  +-----------------------------+---------------------------------------------+
  | Print Manager               | Now separate print objects for each printer |
  |                             | (see "Extra facilities" on page 96)         |
  +-----------------------------+---------------------------------------------+
  | File Manager                | Now a "Drives" object for each drive (see   |
  |                             | "Extra facilities" on page 96)              |
  +-----------------------------+---------------------------------------------+
  | Control Panel               | Separate objects for colour, fonts, mouse   |
  |                             | etc.                                        |
  +-----------------------------+---------------------------------------------+
  | Task List                   | Window List (also accessible via Ctrl-Esc)  |
  +-----------------------------+---------------------------------------------+
  | Menus                       | Pop-up menus, see "Pop-Up menus" on page 93 |
  |                             |                                             |
  +-----------------------------+---------------------------------------------+
  | Minimise button             | This "hides" the window rather than places  |
  |                             | an icon on the desktop, but the behaviour   |
  |                             | can be customised to iconise the window if  |
  |                             | required.                                   |
  +-----------------------------+---------------------------------------------+
  | Adding Programs             | Use Templates, see "Templates" on page 93   |
  +-----------------------------+---------------------------------------------+
  | Mouse usage                 | Two button mouse usage. In general, button  |
  |                             | 1 selects and button 2 drags.  Use the      |
  |                             | Tutorial to learn more about the mouse.     |
  |                             | Mouse button behaviour can be changed to    |
  |                             | suit the user                               |
  +-----------------------------+---------------------------------------------+

  But in nearly every case, not only does the Workplace Shell equivalent
  provide the Windows function, but it also offers more flexibility.  For
  example, folders offer far more function than the simple group windows in


                                                           Workplace Shell  105









  OS/2 1.x or Windows 3.x (see "Objects and folders" on page 91  for more
  information):

  o   allows data files, programs and devices to be grouped together

  o   allows long descriptive names

  o   colours, fonts and icons can be easily changed on a per-folder basis

  o   the workarea property can be set to enable groups of applications to be
      opened and closed together

  Furthermore, much of the new function provides a powerful incentive to learn
  because of the many benefits, for example:

  TEMPLATES           A consistent way of creating new objects, whether
                      programs, data files or folders. In Windows 3.x these
                      would take a different procedure for each item.  (See
                      "Templates" on page 93)

  HIDING WINDOWS      Although this behaviour takes some getting used to for
                      the Windows or OS/2 1.x user, the experience of the beta
                      test program suggests that most people never wish to go
                      back to the old way, in which the desktop is cluttered
                      with minimised icons. Hiding reduces clutter from the
                      screen, and the Window list (see below) is a much more
                      effective and consistent way of retrieving open windows.
                      Tests show that minimising a running program to an icon
                      is confusing for users who have not used a computer
                      before, as there are often two copies of the icon, one to
                      represent the program reference, and the other the
                      running program, and the user does not know how to
                      differentiate between them.

  WINDOW LIST         This is a more powerful tool than the Task List, as
                      groups of applications can be resurfaced, closed or tiled
                      in one step (see "Multi-tasking and the user interface"
                      on page 33)

  MOUSE BUTTONS       Since Mouse Button 2 is unused in Windows, there is no
                      comparison, except that there is a happy coincidence of
                      use between IBM and Borland in their use of the Mouse
                      Button 2 to produce a pop-up menu on a given object (see
                      "Pop-Up menus" on page 93)

  FLEXIBLE DESKTOP    Objects and windows can be placed where the user wishes,
                      and the action of the desktop is modeless - there is no
                      need to close certain windows before others can be
                      opened. There are therefore no artificial restrictions in
                      the user's movement around the desktop.

  But, even if the new function does not attract, it is not necessary to learn
  all of the new ways at once.  OS/2 provides all the old function too:  there
  is an object for the DOS or OS/2 command prompt, for those users addicted to


                                                           Workplace Shell  106









  the C:\> prompt; and Windows users can select a WIN-OS/2 Full Screen session
  if the familiarity of the Windows environment is required (see "Full Screen
  or Seamless" on page 69).

  But the most important difference from Windows is the Workplace Shell's
  flexibility: you can put icons where you choose, not where the Program
  Manager or File Manager allow you; you can change the look or behaviour of
  almost any aspect of the system if the default does not suit you; and you can
  use drag and drop across most of the system, not just the File Manager.


  BENEFITS OF THE WORKPLACE SHELL
  _______________________________

  But all of the function and power of the Workplace Shell would be useless
  unless it provided tangible benefits over other GUIs. This section lists some
  of the advantages.


  EASY TO LEARN

  No system is totally intuitive, but the Workplace Shell offers a number of
  aids to quick and effective learning. The tutorial gives most of the basic
  elements, and can be revisited at any time. There are productivity
  applications and games to get productive quickly, and have fun while
  learning.  And the online help system is comprehensive as a reference, or as
  immediate help when required. The "Start Here" icon gives a focal point if
  you ever get completely lost!


  FLEXIBLE

  Almost anything can be changed if the default does not suit. You can change
  colours, fonts and background images, not just for the system as a whole, but
  for each folder. The behaviour of mouse and keyboard, of how windows work,
  and most other system defaults are all configurable. And the workarea
  principle can make each project have a different combination of icons and
  folders, to suit the job you are doing.


  PERSONAL

  The Workplace Shell returns to the principle that the PC is a PERSONAL
                                                                ________
  computer. Its' motto could be "have it your way." A secretary's desktop can
  look different from a manager's desktop, and each different from an
  engineer's. You can have as many or as few icons as you wish. You can change
  the look and feel to behave more like OS/2 1.x or Windows 1.x.










                                                           Workplace Shell  107









  SIMPLE

  Though the Workplace Shell is a powerful environment, it does not overwhelm
  the user. You can start by using what you know and are familiar with
  (including the C:\> prompt if you wish!), and move on to learn new function
  as you need it. Much of the new function and tasks can be learned by
  experimentation, as the consistency of the shell, and the visual feedback (eg
  "no-entry" signs where icons cannot be dropped) allows users to teach
  themselves.


  COMPATIBLE

  The Workplace Shell offers the old ways of working like the DOS prompt and
  the Windows Full Screen. It takes nothing away. But it also provides a
  standard way of running applications without compromising any compatibility.
  It does not enforce a way of working with older applications that is foreign
  to the user. You can either close applications in the consistent OS/2 way by
  double clicking on the system icon, or use the application commands (such as
  / Quit for Lotus 1-2-3).


  CONSISTENT

  The Workplace Shell provides the same way of working whether your resources
  are local or on the LAN. It allows you to use techniques like drag and drop
  consistently across the system, where you would need three different commands
  in DOS, and would be restricted to doing things from the File Manager only in
  Windows.


  INFORMATION-ORIENTED

  The Workplace Shell allows users to work in a more natural way, by focusing
  on the information they need to work with. There is less need to worry about
  the computer's housekeeping, like files and directories. All in all, you work
  the way YOU want to work, not the way the computer forces you.
          ___


  INTEGRATING

  Applications are loaded in the same way, data objects are treated in the same
  way, whether they come from a DOS, Windows or OS/2 program. The Workplace
  Shell integrates local and remote resources. The whole purpose is to present
  as seamless an interface as possible to the variety of tools, application and
  data that users need to do their job. in this respect, it is a UNIFYING
                                                                 ________
  interface, and reinforces the key aim of OS/2 2.0 as the integrating
  platform.








                                                           Workplace Shell  108









  OS/2 IN A CONNECTED ENVIRONMENT
  _______________________________





  OS/2 is the critical component in IBM's vision of the complete, managed,
  client-server system. It is the key element which allows the PC to become the
  focal point of information processing. Instead of in the past, where key data
  processing was performed at a remote host, and information provided to users
  from the central system, the OS/2 vision moves the PC to the centre, and
  places the user in control of the information. This vision lies at the heart
  not only of IBM's user interface design (see "Workplace Shell" on page 87),
  but also of its strategy to make OS/2 the base for an integrated family of
  networking extensions, that allows OS/2 to be a completely network-aware
  system. This makes OS/2 the INTEGRATING PLATFORM, not only for local
                              ____________________
  productivity applications, but for the other components of the enterprise
  system.  It is no longer realistic to view the PC in isolation from the rest
  of the corporate network.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 28. The OS/2 family of networking extensions

  The systems extensions to OS/2 complete the picture of the full function
  OS/2, designed to address the needs of the PC platform of the 90s, as
  discussed in the section "The changing PC environment" on page 1 . They add
  to the wide application choice, ease of use, investment protection and
  reliability of the base system, by providing extensive connectivity,
  management tools and exploitation of the existing corporate network. This
  section expands on the strengths of OS/2 2.0 as an easy-to-use productivity
  platform, and shows how, as a base platform, and with its extensions, OS/2 is
  enabled to act as the "super client" of today, and the future.


  OS/2 FOR CLIENT-SERVER
  ______________________

  OS/2 is not only today's server platform of choice (acknowledged by both IBM
  and Microsoft), but the best available client.  These are some of the reasons
  why:

  o   CONSISTENT PLATFORM FOR BOTH CLIENT AND SERVER:  It is clear that if the
      ______________________________________________
      same platform can be used for both the client and the server, then the
      benefits of consistency will lead to a much more manageable platform,
      with only one operating system to support.  OS/2 is the only operating
      system available that is consistent across client and server.

  o   MULTIPLE CONCURRENT NETWORK PROTOCOLS:  OS/2's great strength in
      _____________________________________
      communications is acknowledged across the industry.  In particular,
      OS/2's multi-tasking design allows it to handle multiple communications
      protocols (eg NETBIOS, 3270, IPX, TCP/IP) with ease.  This ease of
      integration is in contrast with the problems of attempting such


                                           OS/2 in a connected environment  109









      concurrency under DOS or Windows, such as lack of memory, poor
      multi-tasking performance and the instability of DOS-based multi-tasking.
      In a world where heterogeneous or mixed-vendor connectivity is becoming
      the norm (a recent report estimated that 70% of LANs run more than one
      protocol), OS/2 is today's only reliable client choice.  At the Networld
      trade show in early 1992, IBM demonstrated a single OS/2 client machine
      with one Token Ring card, connected to a "wall of servers," which
      included three LAN servers, one running NetWare, another Banyan Vines,
      and another OS/2 LAN Server; a RISC System/6000 running AIX, an AS/400
      and an ES/9000.  One client was connected simultaneously to all these
      shared resources - it was, of course, an OS/2 2.0 client.

  o   ENABLED FOR LAN-BASED INSTALL:  OS/2 can be installed from a server to
      _____________________________
      multiple clients, allowing faster and more controlled installation, with
      the added benefits of greater automation.  Future tools will be available
      from IBM to ease the system administrator's job still further (see
      "Graphical installation" on page 78 for more information on
      installation).

  o   LAN-INDEPENDENT SHELL:  OS/2's Workplace Shell provides a graphical view
      _____________________
      of resources, whether on the local machine or on the LAN.  Remote drives
      can be set on the LAN from products including NetWare, OS/2 LAN Server,
      Banyan VINES, or TCP/IP for OS/2, and also on host systems using Virtual
      Disk facilities in products like PC Support/400 and Workstation LAN File
      Services/VM.  The Workplace Shell gives seamless access to different
      server environments, making multiple connectivity easier to implement,
      and provides consistent access to network files and printers (see
      "LAN-independent shell" on page 101)

  o   EASIER TO MANAGE: OS/2 provides the ability to allow administrative tasks
      ________________
      (such as collection of local configuration data and performance
      measurement) to be run on the client while preventing excessive impact on
      local performance and usability. Such tasks are becoming increasingly
      important in a highly distributed PC client-server environment, and
      particularly where PCs are being rolled out into mission-critical usage
      in remote locations where on-site support cannot be provided. Remote
      diagnosis and support is therefore critical in such environments. But
      background monitoring and data collection cannot be achieved easily on a
      single-tasking platform like DOS. And the limitations of environments
      like Windows, that attempt to graft a multi-tasking layer on top of
      single-tasking DOS, are revealed when such systems management functions
      are attempted. Even if such tasks could be run in the background on
      Windows (not always the case), the lack of true multi-tasking would cause
      the background "probe" to be intrusive to the user's foreground activity.
      Only a pre-emptive multi-tasking environment like OS/2 can offer these
      benefits.

  o   SUPPORTS BOTH PRODUCTIVITY AND LINE-OF-BUSINESS APPLICATIONS:  Today's
      ____________________________________________________________
      client-server environments are moving beyond the simple file and print
      sharing of the first LANs, towards applications like Lotus Notes, and SQL
      database applications, that can deliver competitive edge through enabling
      workgroup communication.  In this environment, it is important to deliver
      not only the support for in-house "line-of-business" applications, but
      leverage the investment in client productivity applications.  OS/2 2.0 is


                                           OS/2 in a connected environment  110









      the only platform that delivers industrial strength reliability AND wide
                                                                      ___
      application compatibility.

  o   RELIABILITY:  This is perhaps the most critical issue of all.  Many of
      ___________
      the reported problems with Windows 3.0 occurred in networking
      environments.  It is clear that although Windows 3.1 may have improved
      reliability in some areas, it has not changed any of the architectural
      deficiencies that cause its limitations in networking; most of the
      problems stem from the fact that Windows continues to run on DOS (see
      "Reliability and protection" on page 44  and "Reliability" on page 61).
      The issue can be summed up thus:  what use is it having a fault-tolerant
      server if you cannot rely on your client?

  Forrester Research's May 1992 report on the growth of the "super client" (see
  "The changing PC environment" on page 1) identifies OS/2 2.0 as being a
  leading candidate to satisfy the demand for a highly protected,
  network-aware, true multi-tasking client platform, for use in
  "line-of-business" applications. According to Forrester, the "super client"
  role is beyond the scope of either Windows 3.1 or Windows/NT, and predicts
  for the latter "product delays...and bloated hardware requirements." That
  independent analysts should make such statements is not surprising, given the
  difference in protection between OS/2 2.0 and Windows 3.1, and the difference
  in hardware requirements and availability of OS/2 2.0 and Windows/NT. OS/2
  2.0 is the platform that meets the exacting requirements of the modern client
  platform (see "The changing PC environment" on page 1) in an acceptable
  configuration, and is available today, not promised for the future.


  THE OS/2 FAMILY OF NETWORKING EXTENSIONS
  ________________________________________

  OS/2 2.0 is part of a family of products and systems extensions, which are
  designed to work together.  In other environments, customers have to buy
  third party software (if it is available) and hope it will all work together;
  with IBM these extensions are tested together and integrated.  Here are some
  of the systems extensions from IBM which complement the OS/2 base system:


  EXTENDED SERVICES FOR OS/2

  Extended Services for OS/2 is a separate product which provides
  communications and database functions.  It includes Communications Manager,
  which offers a wide range of connectivity and protocols (all of which can be
  active at the same time ); and also provides Database Manager, a powerful
  client-server SQL relational database, part of the SAA family of relational
  databases that includes DB2 and SQL/DS.  Extended Services for OS/2 release
  1.0 works with both the OS/2 Version 1.3.1 16-bit base and OS/2 Version 2.0
  32-bit base.  This will be an advantage in mixed 286 and 386 environments.
  Extended Services is supported on a selected range of IBM-compatible PCs, not
  just PS/2s.

  In keeping with the intention to offer modular options to customers, Extended
  Services comes in two forms, which differ only in their database function:
  Extended Services for OS/2 delivers Communications Manager and Database
  Manager in a single package, providing an "all-in-one" complete connectivity


                                           OS/2 in a connected environment  111









  solution; Extended Services with Database Server for OS/2 adds the ability to
  create databases on a server, and offers cost-effective client functions for
  DOS, Windows and OS/2 clients.

  Extended Services is a key component for OS/2's participation in the SAA
  standards, particularly for communications protocols (APPC, CPI-C, and APPN)
  and relational database (SQL, DRDA). It is one of the key building blocks for
  the SAA co-operative processing applications of the future, both by third
  party applications vendors and by customers themselves.


  DDCS/2

  SAA Distributed Database Connection Services/2 (DDCS/2) is a complement to
  Extended Services.  It offers host database connectivity to an OS/2 client
  and, working with Database Manager, allows DOS, Windows and OS/2 clients to
  access host databases conforming to the Distributed Relational Database
  Architecture (DRDA), which includes not only IBM's DB2, SQL/DS and OS/400,
  but potentially third party database products too.  DDCS/2 widens the scope
  of the OS/2 client, and is part of the wider SAA distributed database
  direction.


  OS/2 LAN SERVER

  OS/2 LAN Server version 2.0 is a powerful platform for providing LAN services
  to DOS, Windows and OS/2 clients.

  Entry and Advanced levels are available.  Entry provides an economical base
  system for both the 16-bit and 32-bit bases while Advanced adds features like
  a high performance 386 file system (HPFS386) and additional error recovery,
  on the 16-bit base.  OS/2 LAN Server 3.0, which at the time of writing had
  entered beta test, will offer, among other new features, the ability to run
  Advanced level function like HPFS386 on the OS/2 32-bit base. Other new
  features in LAN Server 3.0 include:

  o   high level of NetWare and OS/2 LAN Requester client co-existence, on the
      client desktop, and when integrating NetWare resources into an OS/2 LAN
      Server domain as externally defined resources

  o   peer Services, which allows a OS/2 requester to share resources with one
      peer

  o   redirected Install, delivering unattended install within the CID process

  o   802.2 Virtual Device Driver (VDD), enables DOS 802.2 applications to
      share an adapter with other DOS and OS/2 applications (this function is
      also included in NTS/2 - see "IBM Network Transport Services/2" on
      page 115)

  o   OS/2 TCP/IP coexistence via support of NETBIOS over TCP/IP, allowing
      support of a greater range of protocols




                                           OS/2 in a connected environment  112









  o   improved disk fault tolerance, mirroring without the need for rebooting
      the server, and mirroring of the boot drive

  o   support for Apple Macintosh clients via an add-on product

  Like Extended Services, OS/2 LAN Server is supported on a range of selected
  IBM-compatible equipment as well as PS/2s.

  OS/2 LAN Server is a robust, scalable solution, from the small LAN, to the
  large and complex. It makes life easy for the user, the LAN administrator,
  and the systems manager:

  o   for the user - a single view of all resources available, and automatic
      ____________
      allocation of resources. Combined with the Workplace Shell, this becomes
      even easier.

  o   for the administrator - the Domain feature makes management of large LANs
      _____________________
      much easier, and allows location-independent resource naming, making
      changes easier to implement.

  o   for the systems manager  - performance and management tools, including
      _______________________
      integration with the SAA host-based NetView.

  OS/2 LAN Server provides excellent performance. In tests run by LANQuest
  Labs, an independent benchmarking company (report dated June 1992), OS/2 LAN
  Server Version 2.0 had the best overall performance compared to Novell
  NetWare 3.11 and Microsoft LAN Manager.

  In the future, IBM plans to enhance OS/2 LAN Server towards full distributed
  function for the LAN environment, including common distributed services,
  common developer infrastructure, and open industry standards.


  OS/2 LAN Server and Microsoft LAN Manager

  In 1989, IBM and Microsoft made a commitment to work towards greater
  commonality between Microsoft LAN Manager and OS/2 LAN Server.  The original
  scope of work has now been completed, and commonality has been achieved at
  the API and functional level.  This means that applications can be written to
  run on both platforms.  OS/2 LAN Server clients and Microsoft's LAN Manager
  clients can coexist and interoperate on the same LAN.  Both clients can logon
  and access resources at either or both servers.  OS/2 LAN Server and LAN
  Manager utilise a common underlying security system as well, which includes
  common user domains, access control and server local security.  OS/2 LAN
  Server's support for selected non-IBM equipment means that customers can now
  buy LAN Server on both IBM and OEM machines, and also achieve consistency
  that way.

  Microsoft has not, at the time of writing, committed support in Microsoft LAN
  Manager for OS/2 2.0, either as a server or as a client, although they have
  access to the OS/2 2.0 code. Nevertheless, customers using LAN Manager 2.0
  may obtain OS/2 2.0 client access to the server, using IBM LAN Enabler
  version 2.0 (see "LAN Enabler" on page 114).



                                           OS/2 in a connected environment  113









  Although the current release of OS/2 LAN Server contains code licenced from
  Microsoft, future OS/2 LAN Server plans (see above) have no dependency on
  Microsoft, whose declared future plans for LAN Manager place little emphasis
  on OS/2.


  NETWARE FROM IBM

  IBM, as an open vendor, provides its customers with the two major options for
  server software: OS/2 LAN Server and NetWare from IBM.  OS/2 LAN Server is an
  excellent platform in an environment requiring IBM host connectivity today,
  and complements the use of Extended Services, but many customers have
  NetWare-based LANs, for application, historical and functional reasons. They
  therefore require co-existence and interoperability between the two
  standards. NetWare expands IBM's ability to offer better solutions in a mixed
  networking environment, where support of diverse clients (Unix, Macintosh)
  are required in addition to DOS, Windows and OS/2.

  OS/2 2.0 is an excellent client for NetWare. OS/2 1.3 plus the OS/2 NetWare
  Requester offered access to services on the various NetWare platforms.  For
  OS/2 2.0, the NetWare Workstation Kit for OS/2 Version 2.0 includes the
  requester code and utilities required for a fully functional NetWare client.
  A separate product, NetWare Services for OS/2, adds to the requester code, a
  MAP utility for network management.

  IBM offers co-existence between LAN Server and NetWare.  With the OS/2 LAN
  Requester and the NetWare OS/2 requester installed, the same OS/2 workstation
  can log on to both types of server.  This allows customers to use both
  products according to immediate requirements and installed base.  Greater
  interoperability is planned.  One key element in achieving this is the
  commitment by Novell to move NetWare to the 32-bit OS/2 base.  This will
  combine the strengths of NetWare with the power of 32-bit OS/2 as a server
  platform.  Novell's plans amount to a key endorsement of OS/2 as both a
  server and client platform.  IBM will continue to offer interoperability with
  NetWare systems as we incorporate more distributed services into the OS/2 LAN
  Server.


  LAN ENABLER

  IBM LAN Enabler version 2.0 offers the OS/2 requester, LAN Support Program
  and DOS LAN Requester (DLR), identical in function to that provided with OS/2
  LAN Server 2.0, in a separate product. The package includes requesters for
  DOS, Windows, OS/2 1.3 and OS/2 2.0, as well as protocol support,
  NDIS-compliant network adapter drivers, LAN API support, and a VDD for
  NETBIOS applications.

  This product will allow 286 and 386 PCs to connect to servers including OS/2
  LAN Server 2.0 and Microsoft LAN Manager 2.0, and other compatible servers,
  without having to buy a separate copy of LAN Server, or Extended Services for
  OS/2. It also allows OS/2 2.0 client access to NETBIOS, 802.2 and NDIS
  applications without buying LAN Server or Extended Services.




                                           OS/2 in a connected environment  114









  This enhances the function of OS/2 2.0 as a client to different networks by
  providing the necessary function in a package separate from the server, at an
  economical price.


  IBM NETWORK TRANSPORT SERVICES/2

  IBM Network Transport Services/2 (NTS/2) provides networking support on an
  OS/2 2.0 base, without requiring OS/2 LAN Server or Extended Services for
  OS/2. It provides the LAN adapter and protocol support (LAPS) to support
  networking applications on an OS/2 2.0 machine, and to enable automated
  installation of OS/2 and other CID(22) -enabled software across a LAN.

  NTS/2 is a combination of:

  1.  Network Driver Interface Specification (NDIS) compliant transport
      protocol and network adapter software

  2.  OS/2 2.0 support for DOS programs requiring NETBIOS and IEEE 802.2 APIs,
      by providing a VDD/PDD combination for NETBIOS and 802.2. This allows DOS
      applications using a Token Ring adapter, to share that adapter with other
      DOS and OS/2 applications running on the same machine. For example, this
      allows DOS and Windows 3270 emulation programs using Token Ring to share
      the adapter with OS/2 LAN Requester.

  3.  Configuration Installation Distribution (CID) enabling software,
      including a LAN CID utility (LCU) to manage the automated installation
      process.

  Note that the LAPS function was also released earlier in the LAN Enabler/2
  v2.0 product. NTS/2 adds to LAN Enabler/2, the CID support to allow automated
  installation of OS/2 in a LAN environment. In this respect, NTS/2 is more
  akin to the DOS-based LAN Support Program, with the addition of CID support
  (ie it provides the network transports and APIs to enable LAN support),
  whereas LAN Enabler/2 can be thought of as related to the OS/2 LAN Requester
  (since it provides command line and menu interfaces to manage LAN-based
  resources).


  OPEN SYSTEMS CONNECTIVITY

  Although OS/2 is the SAA client platform, it is also vital that it embraces
  the open systems world. IBM's strategy is to enable OS/2 and AIX in
  particular, to interoperate as much as possible. TCP/IP for OS/2 is one
  product that provides significant networking co-existence with UNIX-based
  systems, providing support for many open standards such as TCP/IP, NFS,
  TELNET and X-Windows. This allows OS/2 to extend its client capability into
  the open systems arena. IBM's strategy is to link the OS/2 and open systems


  ---------------

  (22) CID stands for Configuration, Installation, Distribution - see
      "Configuration, Installation, Distribution (CID)" on page 118


                                           OS/2 in a connected environment  115









  worlds closer together through common systems extensions, connectivity and
  management tools (see "AIX interoperability" on page 132)

  The combination of the OS/2 2.0 base, and TCP/IP for OS/2, means that the
  OS/2 2.0 user can today view, on the same screen, DOS, Windows, and OS/2
                                __________________
  applications as well as Unix applications through X terminal or TELNET.  This
  widens still further the range of application support OS/2 2.0 can provide.


  SYSTEMS MANAGEMENT
  __________________

  Connecting PCs together is only one part of the process of integrating the PC
  into the enterprise system.  The more PCs are installed in a company, the
  harder it is to control their installation, maintenance, problem solving and
  performance tuning. IBM has proven strength in handling complex, distributed
  networks, and therefore understands the importance of providing tools to help
  manage these tasks.  To date, systems management for OS/2 has been provided
  by two means:

  o   by functions integrated directly into OS/2 and extensions like Extended
      Services (such as the First Failure Support Technology - FFST/2)

  o   by separate standalone products which address a specific and distinct
      aspect of the overall task of managing OS/2 systems

  In the latter category, IBM has already produced a variety of products, based
  on OS/2, to assist various aspects of systems management.  The table below
  lists a few of them:

  +---------------------------------------------------------------------------+
  | Table 8. OS/2 systems management tools                                    |
  +----------------+----------------------------------------------------------+
  | SPM/2          | System Performance Monitor/2 (SPM/2) tracks key aspects  |
  |                | of a system's use:  CPU, disk etc, to identify           |
  |                | performance problems. This can be used in both server    |
  |                | and client environments.                                 |
  +----------------+----------------------------------------------------------+
  | NetView        | an installation management tool, working in conjunction  |
  | Distribution   | with the host-based NetView, that includes a LAN         |
  | Manager/2      | Download Utility to install or upgrade software via a    |
  |                | LAN server to LAN-connected PCs.                         |
  +----------------+----------------------------------------------------------+
  | SAA Delivery   | allows host-connected OS/2 machines to receive software  |
  | Manager        | updates from the host                                    |
  +----------------+----------------------------------------------------------+
  | DCAF           | Distributed Console Access Facility (DCAF) allows remote |
  |                | diagnosis and management, by receiving screens from and  |
  |                | controlling the keyboard of a remote OS/2 machine.       |
  +----------------+----------------------------------------------------------+

  IBM is continuing to expand on this range of management tools, and to
  integrate them more closely. IBM's long term goal is the provision of an
  architected management platform which adheres to indistry standards from
  organisations such as ISO, X/Open and OSF.


                                           OS/2 in a connected environment  116









  IBM's strategy for systems management is based on the belief that in
  establishing the true cost of a PC system, the initial hardware and software
  cost is only a small proportion.  The extra costs, what many independent
  analysys call "cost of ownership," relate to issues like integration, support
  and systems management; or, as it was stated in "The changing PC environment"
  on page 1, the costs of maintaining the systems should not exceed the
  benefits it provides.  With the growth in the size and complexity of LANs and
  client/server systems, planning and managing these systems has become
  increasingly difficult, time-consuming and expensive.  In a report in April
  1992, Gartner Group said that "Costs surrounding product updates represent
  the largest component of PC software life-cycle costs."  Customers are
  therefore investing a growing amount of resources into distributed systems
  management (DSM) and are demanding that they be simplified and automated.

  On October 6th, 1992, IBM responded to customer demands for solutions to DSM
  problems with 2 major announcements:

  o   the IBM LAN NetView family of DSM products

  o   a generalized solution for configuration, installation, and distribution
      (CID) of OS/2, its subsystems, and application software.


  IBM LAN NETVIEW FAMILY

  The IBM LAN NetView family of products is an OS/2-based platform for
  performing DSM functions in enterprise-wide, multivendor local area networks
  (LANs).  The LAN NetView platform provides the ability to monitor and control
  information processing resources, including hardware and software, throughout
  an enterprise.  Information is collected from monitored resources (managed
  systems) and sent to other resources (managing systems).  The offerings allow
  the management of OS/2 2.0, DOS 5.0, and DOS 5.0 with Windows 3.1 clients.

  The new platform allows the LAN administrator at a workstation to access
  different systems management applications using the same screen.  It provides
  enhanced automation and greater integration among products to streamline such
  management tasks as detecting hardware or software failures on the network -
  which often require the combined efforts of users and trained personnel at
  both remote and central locations.

  The set of LAN NetView distributed system management applications being
  developed by IBM include:

  o   LAN NetView Manage, the platform product that provides system services
      for LAN NetView management applications.

  o   LAN NetView Start, LAN NetView Monitor and LAN NetView Fix, three
      management applications designed to run on that platform.  They provide,
      respectively, configuration, systems performance and fault-management
      services.

  o   LAN NetView Tie, which provides a LAN-to-NetView link for customers who
      prefer to divide management of system resources between LAN- and



                                           OS/2 in a connected environment  117









      host-based products, or who prefer to centralize all management on the
      host processor.

  IBM is encouraging vendors to provide agents for their system resources to
  allow LAN NetView products to manage them, and is encouraging vendors to
  provide additional system management applications on this platform.  Among
  the vendors who have declared their support are Novell, Microcom, Computer
  Associates and Ungermann-Bass.  Customers may also choose to implement their
  own LAN NetView compliant distributed system management applications.

  To encourage the development of third-party systems management applications,
  LAN NetView provides a set of common application programming interfaces
  (APIs) that have been accepted by key industry organizations that further
  standards, such as the Open Software Foundation (OSF) and X/Open, and
  accepted by IBM's SystemView.  One of these interfaces, named the X/Open
  Management Protocol (XMP), allows developers to create applications without
  having to know the underlying management and transport protocols, such as
  CMIP and SNMP.  SystemView has adopted XMP as its Common Management Interface
  Protocol (CMIP), and the LAN NetView products are among the first management
  products in the industry to incorporate elements of the OSF's Distributed
  Management Environment (DME) technology.


  CONFIGURATION, INSTALLATION, DISTRIBUTION (CID)

  IBM also recognises the need to provide a generalised solution to the problem
  of automated installation and configuration of multiple PCs.

  On October 6, IBM announced its CID strategy.  CID is not a single product,
  but a collection of processes with supporting products.  It automates the
  processes of configuration, installation and distribution in the DSM
  environment and dramatically improves productivity for system administrators.
  This allows both standalone LAN and host-attached LAN customers to realize
  dramatic resource savings by using the CID processes.

  Though there are several aspects to CID enablement, its primary objective is
  to provide unattended, remote installation of OS/2, its subsystems, and
  application software on LAN attached workstations.  Customers with both large
  and small networks will be able to remotely install and manage software such
  as OS/2 or OS/2 applications from a single location, without requiring the
  involvement of the desktop workstation user.  The CID process can apply to
  installing not only OS/2 system code, but also supported application code.
  Each system requires a physical LAN connection, but is not reliant upon a
  file server like OS/2 LAN Server or Novell NetWare for the distribution
  mechanism.

  The installation process is performed by an individual who initiates the
  installation process at their workstation and performs other tasks such as
  removing/replacing diskettes when prompted and rebooting the system when
  prompted. This individual would not be required to know the responses to
  detailed product installation questions. The answers to the product
  installation questions are kept in response files which contain specific
  responses to each installation question.  The response files are unique to
  each product.  Each product provides either a utility or a model which the


                                           OS/2 in a connected environment  118









  system administrator can use to generate the response files.  A procedure
  file which may be tailored is set up by a system administrator and stored on
  the code server.  This procedure file contains the commands which initiate
  product installations for other CID enabled products such as IBM LAN Server
  3.0.

  CID provides the ability to individually tailor PCs or groups of PCs.
  Previous solutions allowed for cloning, where software is distributed by
  duplicating the files across the network.  These duplicated files did not
  always fit individual workstation environments and sometimes required
  extensive changes from the local user.  With CID technology, individualized
  support is now enabled for OS/2 products and applications, so that users can
  automatically receive new software already configured for their computers.
  DOS and Windows users will continue to be supported in the short term by
  cloning, with integrated support for DOS clients to be provided by mid-1993.

  Among the products that are being delivered to implement the CID process are:

  o   LAN NetView Start, which allows administrators to manage and plan the
      configuration and installation of OS/2 software across the network.

  o   Network Transport Services (NTS/2), which provides NetBIOS connectivity
      and helps execute instructions generated by Start about installing
      software on the workstation.

  o   NetView Distribution Manager/2 (NetView DM/2), which will now provide
      expanded software distribution and installation capabilities, including
      change management and recovery, across standalone or interconnected LANs
      from a single site on the LAN.

  o   Enhancements to NetView Distribution Manager (NetView DM) for an MVS
      host, which, in conjunction with Netview DM/2, will now allow centrally
      controlled distribution and installation, as needed, of system software,
      user and vendor software, software changes and data files.

  o   Software Profile Management Facility, which works with NetView DM to
      store descriptions, or "profiles," of groups of users with similar
      characteristics, simplifying software installation and updates for a
      large number of workstations.

  All system and application software to be installed using this method must be
  CID enabled. OS/2 Version 2.0, OS/2 LAN Server 3.0, NTS/2 v1.0 and OS/2
  Extended Services Database Manager are all CID enabled.  Enabling consists of
  allowing installation to be redirected to a network drive, and the ability to
  provide user input through a response file.

  In addition to CID enabling our own products, IBM is encouraging vendors to
  provide CID enabled applications. IBM also announced agreements with
  independent software vendors (ISVs) who intend to enable selected products to
  take advantage of CID.  To date, a total of 164 vendors have committed their
  products to become CID-enabling, including Computer Associates, Describe,
  Lotus, Micrografx, Novell, Software Publishing Corp., Symantec and
  WordPerfect.



                                           OS/2 in a connected environment  119









  COMMITMENT TO OPEN STANDARDS

  One of the most important aspects of IBM's systems management strategy,
  including OS/2 systems management, is IBM's intention to esnure
  interoperability with a broad range of other vendors' systems management
  products. That is why the IBM systems management products aim to support
  industry standards such as CMIP and SNMP, and are based on the OSI Management
  Framework standards implemented by Hewlett Packard's Open View Network
  Management Server Product version 3.1. Thus the IBM tools will be able to
  take advantage of a programming interface consistent with the Open Software
  Foundation Distributed Management Environment (OSF/DME), as well as being
  part of SystemView, IBM's strategy for enterprise-wide systems management.

  OS/2 is the base platform for all of these management extensions, because it
  is only OS/2 that is extendable in this way, and can provide the support for
  these management functions (see "OS/2 for client-server" on page 109).  It is
  further illustration that OS/2 is the true client of choice, as well as the
  server.


  MIGRATION FROM EXISTING CONNECTIVITY PRODUCTS
  _____________________________________________

  IBM recognises that customers who wish to move towards the "super client"
  platform, still have signficant investments in older connectivity products.
  OS/2 2.0, as the integrating platform, provides a wide degree of support for
  DOS-based connectivity products, as well as supporting other existing
  networking products.


  NETWORKING ON OS/2

  Not only does OS/2 provide support for the two most popular network server
  products, NetWare and OS/2 LAN Server, but it is also a platform that runs a
  large range of the other major LAN software products, either as client, or
  server, or both.  Many of these products had support for OS/2 1.3, but new
  versions are being produced for OS/2 2.0 from vendors such as Banyan (who are
  developing a requester for their VINES network system) and Digital (who are
  planning support for their Pathworks product).  This makes OS/2 not only the
  client of choice in these networks, but also, for many of them, the base
  server platform.

  DOS requester products for some of these products can be supported, running
  in a VDM, though this often (as in the case of IBM DOS LAN Requester for OS/2
  LAN Server) requires booting the real version of DOS in a VDM (see "Virtual
  Machine Boot (VMB)" on page 51). Although DOS network drivers can often be
  run in a VDM, they can only provide services to that individual VDM, since
  there is usually no Virtual Device Driver for the protocol stack or the Media
  Access Control driver (eg 802.2). Obviously, this restriction is usual for
  OS/2 2.0 (see "DOS device drivers" on page 46), and in most cases causes no
  loss of function where a device is dedicated to a single application (as it
  usually is for fax cards and scanners). However, it tends to defeat the
  purpose of networks to have the resources available to only one application,
  and therefore OS/2-based network requesters and drivers are recommended
  whenever they are available (many vendors already have or are working on OS/2


                                           OS/2 in a connected environment  120









  2.0 requester code for their server product; contact your vendor for
  details).


  DOS COMMUNICATIONS APPLICATIONS UNDER OS/2

  Because of OS/2's extensive compatibility with existing DOS and Windows
  applications, it can even run DOS-based communications applications. This
  includes not only popular asynchronous communications products such as
  ProComm Plus, but also IBM's own DOS 3270 and 5250 products, Personal
  Communications/3270 and DOS PC Support/400. The communications aspects are
  straightforward, as OS/2 is designed to handle multiple concurrent protocols
  and even background communications with more reliability than is possible
  under DOS extender environments such as DOS/Windows 3.x (see "Virtual Device
  Drivers (VDDs)" on page 24 for more discussion of how it does this).

  However, both Personal Communications/3270 and DOS PC Support/400 require
  some customisation before they can be made to run satisfactorily under OS/2
  2.0:  the first requires tailoring the DOS Settings, the second requires
  booting the "real" DOS in a VDM to support special functions like shared
  folders (which uses a block device driver) - see Appendices A and B in OS/2
                                                                         ____
  Technical Compendium - Volume 2: DOS and Windows Environment (GG24-3731-00)
  ____________________________________________________________
  for more details.

  There are, even with these settings, some restrictions when running these
  applications:

  o   File transfer must be executed from the same VDM as the emulator runs in
      (you may need to enable session switching to the VDM DOS prompt via the
      DOS Setting KBD_CTRL_BYPASS)

  o   Limitations in PC Support function (only Basic DOS, not Extended DOS
      support; other DOS, Windows or OS/2 applications cannot access PC
      Support/400 facilities)

  o   Sharing of Token-Ring Adapter (if using Token Ring rather than DFT or
      Twinax) with other applications is not possible without an 802.2 VDD.
      This restriction disappears if the 802.2 VDD from NTS/2 is installed (see
      "DOS device drivers" on page 46 and "IBM Network Transport Services/2" on
      page 115).

  Because of these restrictions, it is recommended to use OS/2 versions of
  these emulators and communications functions, which appear in Extended
  Services for OS/2, because of the higher function, easier installation and
  access of resources across DOS, Windows and OS/2 applications. Nevertheless,
  the support of most functions for the DOS applications under OS/2 enables,
  for many users, a more than adequate migration. This is in contrast to some
  of the press reports concering Windows/NT, which warn that compatibility with
  existing DOS-based connectivity programs and device drivers is likely to be
  extremely limited, forcing users to consider buying new connectivity software
  if it is available by the time Windows/NT ships.(23) This is, of course, one





                                           OS/2 in a connected environment  121









  of the many compatibility issues that have to be encountered when a new
  platform is introduced.















































  ---------------

  (23) See PC Week July 27, 1992 - page 1. The lack of support for DOS device
           _______
      drivers is confirmed in the Microsoft document "Microsoft Windows NT
      Operating System".


                                           OS/2 in a connected environment  122









  FUTURES
  _______





  It is of course important, as well as examining the strengths of OS/2 2.0,
  the current release, to look at the future of OS/2 and some of the areas in
  which it will develop.

  OS/2 will continue to evolve to satisfy new requirements and bring forward
  new technologies. With OS/2 2.0 we have designed the system not just for
  1992, but as a platform for many developments throughout the 90s.

  The OS/2 32-bit architecture (OS/2 2.x) represents the base for the immediate
  future. OS/2 2.0 has the functions that customers need today, and has been
  designed to carry through to the next major steps, into the world of
  object-oriented technology and distributed systems. This section examines
  some of the areas in which OS/2 will be enhanced to meet the needs not only
  of today's "super client" (see "The changing PC environment" on page 1 and
  "OS/2 for client-server" on page 109), but of the long term vision of the
  "window on the world."  The OS/2 direction is towards a single client system,
  encompassing existing investments and harnessing new technologies like object
  and multimedia, and a scalable, robust server platform exploiting the
  increasing power of the hardware, and distributed networking support based on
  open standards.


  OS/2 1992 DEVELOPMENTS
  ______________________

  By the middle of 1992, IBM had delivered:

  o   OS/2 2.0 base system
  o   Extended Services for OS/2
  o   OS/2 LAN Server 2.0

  By the end of 1992 and into early 1993, IBM intends to consolidate on the
  early success of OS/2 2.0, by delivering updates to address the following
  issues:

  o   improved device driver support

  o   enhanced "Seamless Windows" capability

  o   performance and memory enhancements

  o   enhanced WIN-OS/2 support

  o   extensions for multimedia and pen

  The current hybrid 16-/32-bit PM graphics engine will be replaced by more
  32-bit technology.  This will allow at the same time 32-bit screen device
  drivers to be delivered for VGA, SVGA and XGA.  It is intended that these
  drivers will not only improve screen performance, but also deliver high


                                                                   Futures  123









  resolution "Seamless Windows"  capability for resolutions above VGA (see
  "High resolution support" on page 72). IBM plans to update WIN-OS/2 function
  to include Windows 3.1 features.  Work is continuing to reduce the memory
  requirements of the system, and to improve performance in low-end
  configurations.  Such work will produce performance benefits in all
  configurations.

  Further multimedia extensions (MMPM/2) releases will ship in 1993, adding
  video and image capabilities to the audio functions shipped in the first
  release, which became available in June 1992.  OS/2 Pen extensions and a
  developers' toolkit are planned for late 1992 or early 1993.

  During the same period, IBM will produce device adaptation kits to ensure
  that more drivers for disks, displays and printers will appear from third
  party vendors.  Some of these may be available via IBM and public bulletin
  boards.  If you have a query about a specific device, you are advised to
  contact the vendor in question first, to understand their development
  timeframes and proposed distribution methods.

  Many of the individual changes described above will be made available in a
  service pack before the end of 1992. Some selective fixes are already being
  made available through bulletin boards and via Compuserve.  Other function,
  such as the WIN-OS/2 3.1 support, is currently in beta test.

  These are just the enhancements in the base product. Also planned are a
  series of enhancements to the systems extensions, including a new release of
  OS/2 LAN Server, enhancements to Communications Manager and the LAN Enabler,
  as well as further developments in automated configuration, installation and
  distribution. These will take place between the end of 1992 and early 1993.


  32-BIT SYSTEM EXTENSIONS (COMMUNICATIONS, DATABASE, LAN)
  ________________________________________________________

  OS/2 2.0 is the base for Extended Services for OS/2, which provides a
  powerful set of communications and database functions, and for OS/2 LAN
  Server version 2.0.  The first releases of Extended Services for OS/2 and LAN
  Server (versions 1.0 and 2.0 respectively) on the OS/2 2.0 base are 16-bit
  only, in order to provide the same system on both OS/2 2.0 and 1.x.  This
  will allow customers to standardise on common systems extensions across mixed
  1.x and 2.0 (16- and 32-bit) bases.

  However, future releases of both Extended Services for OS/2 and LAN Server
  will be full 32-bit products, taking advantage of the 32-bit environment to
  allow even better performance, concurrency and throughput.  In addition,
  Novell will provide a 32-bit version of NetWare on the OS/2 2.0 base,
  fulfilling the commitment made in the IBM-Novell February 1991 joint
  announcement.

  Using these 32-bit extensions will allows customers to fully exploit 32-bit
  performance and throughput across the entire system.






                                                                   Futures  124









  MULTIMEDIA
  __________

  As applications become more sophisticated, multimedia technology embedded in
  mainstream applications as well as in separate applications will become
  increasingly important.

  OS/2 is already an excellent platform for multimedia, as products such as
  IBM's Audio Visual Connection (AVC), M-Motion and the ActionMedia II
  Developer's Toolkit have shown. But the 32-bit OS/2 environment allows easier
  development of more sophisticated multimedia applications, and will give the
  potential to include multimedia features in many other applications, thus
  making its use more widespread. In particular, the multi-tasking and
  overlapped I/O capabilities of OS/2 will allow the kind of applications to be
  developed that are not feasible under environments like Windows, that are
  based on DOS.

  Multimedia Presentation Manager/2 (MMPM/2) is a series of extensions to OS/2
  enabling it to handle multiple media (audio, images and video) in a
  consistent way. Current DOS, Windows and OS/2 multimedia applications (IBM
  examples include Storyboard Live!, AVC and Linkway) all include their own
  multimedia device support and use their own unique data formats. MMPM/2
  provides a level of standardisation by offering:

  o   a hardware-independent layer, the Media Control Interface (MCI), which
      allows new functions, devices and data formats to be added in a modular
      way

  o   a common data specification (RIFF) agreed by both IBM and Microsoft, and
      common between the OS/2 and Windows multimedia extensions

  MMPM/2 provides data streaming and synchronisation services to enable easy
  management of and transfer of data between devices. MMPM/2 also presents a
  series of "applets" which control and play devices like MIDI devices, digital
  audio, and Compact Disc.  The Multimedia Presentation Manager Toolkit/2
  (MMPMTK/2) is also available to help programmers write OS/2 multimedia
  applications. It includes language bindings for C and MASM, sample programs
  and documentation. The MCI has both a procedural message interface for C and
  MASM, and an interactive string interface. The latter allows easy
  incorporation of multimedia function into a variety of applications
  (including productivity applications like spreadsheets and word processors).

  The multimedia extensions for Windows will run under the WIN-OS/2
  environment, but users and developers of multimedia may prefer to use the
  OS/2 facilities, which provide as wide a range of device support, data
  compatibility through formats like RIFF, but greater function, performance,
  and device utilisation.  For example, OS/2's support for sharing of media
  devices between multimedia applications is superior to that possible under
  Windows.

  Overall, OS/2 provides a better multimedia environment that Windows, because
  of:





                                                                   Futures  125









  o   Better encapsulation of system resources by OS/2.  Under Windows 3.x the
      programmer needs to be aware of directly controlling the system
      resources.

  o   Better stability of OS/2, especially in the area of multi-tasking which
      provides improved coexistence of applications with less coding effort.
      For example, yield points required under Windows 3.x are not necessary
      with OS/2.

  o   Better graphics, such as Bezier functions, on OS/2.

  o   Better performance, through use of the flat memory model and pre-emptive
      multi-tasking.

  o   more capacity for large data objects (image, sound) through the flat
      memory model

  The combination of better multi-tasking and the support for threads leads to
  better synchronisation of the multiple data streams needed for multimedia.
  An example is synchronising digital audio with analog video for a firing
  cannon or a talking head.  OS/2 "fast threads" are an enhancement
  specifically added to improve the performance of threads for multimedia
  applications.  In Windows 3.x, synchronisation is left entirely to the
  application. Developers have to write it themselves, thus increasing
  development time and cost. OS/2 controls multiple accesses to resources more
  effectively than Windows, so that audio and video can run without noticeable
  interruption while loading other applications. Such seamless integration of
  multimedia into the normal business desktop is more difficult to achieve in
  an environment like Windows, that does not provide pre-emptive multi-tasking.

  Multimedia applications frequently need to deal with large memory objects for
  bit maps, audio streams, or even streams of bit maps. These objects are much
  easier to manipulate in the flat 32-bit memory model provided by OS/2 2.0.

  All of these features will make OS/2 2.0 the multimedia platform of choice.

  IBM and Apple announced, in July 1991, the two companies' intention to
  collaborate on multimedia standards.  In October 1991, IBM and Apple
  announced the formation of an independent, joint venture company, Kaleida, to
  develop multimedia specifications and technologies.  This brings two of the
  leaders in the multimedia industry together, and increases the possibility of
  a broad-based industry standard.


  PEN-BASED COMPUTING
  ___________________

  Pen-based computing is likely to be an important means of expanding the use
  of computers in the next few years.  IBM has explored the use of Go
  Corporation's PenPoint operating system for dedicated pen-based portable
  systems.  IBM believes that some new applications may require the use of
  technology specifically designed to exploit the pen interface.  Nevertheless,
  applications for existing systems may also benefit from pen-based extensions,
  particularly on desktop machines, where the pen may prove, in some
  circumstances, to be a better input tool than those currently available.  IBM


                                                                   Futures  126









  is exploring these options through technology which we have demonstrated
  publicly, using pen extensions for OS/2.  In future, as the technology
  develops, the tablet and desktop systems will both offer OS/2 and Pen
  extensions.  It shows once again how OS/2 is the base for most of IBM's
  innovative new technology in software.


  SYSTEMS MANAGEMENT
  __________________

  Some companies in the desktop marketplace operate only in the PC arena, and
  their strategies display little understanding of the difficulties of
  configuring, maintaining and managing large volumes of PCs in a highly
  connected environment. As companies' use of PCs grows, and their importance
  in the corporate network increases, systems management of these distributed
  PCs becomes of fundamental importance. The business platform of the 90s will
  need to be a manageable platform, else the costs of keeping the system
  running will endanger the benefits.

  There is already a range of products available for OS/2 to support the
  systems manager, including NetView Distribution Manager/2 and LAN Automated
  Distribution/2 to help automated installation, SPM/2 for performance and
  resource management, and DCAF for remote diagnosis (see "Systems management"
  on page 116).  OS/2 will also become a full participant in IBM's SystemView
  strategy and more products will be delivered to support the process of fault
  reporting, remote diagnosis, asset management, software delivery and
  maintenance.  It is easier to provide this support on a true multi-tasking
  platform, which can accommodate administrative processes or threads capturing
  management data, while processing its normal local applications.  The
  limitations of DOS (and therefore of Windows) confine the function that can
  be provided to such systems.


  PRESENTATION MANAGER FUTURES
  ____________________________

  PM is the strategic SAA API for GUI development. IBM is fully committed to
  its continued support and future enhancements. It has not been announced yet
  how and in what timeframe the following will be delivered in product form,
  but they represent some of the areas for future development:


  32-BIT IMPLEMENTATION

  It is planned that the internals of PM will be migrated to a full 32-bit
  implementation.  (In OS/2 2.0, a full 32-bit API is already provided - future
  changes simply affect the way PM works internally).  This will give improved
  performance (it is anticipated that this change may improve performance for
  many applications running on the Workplace Shell desktop).  The first stage
  of this is being provided in the Service Pack available by the end of 1992,
  with the 32 bit PM Graphics Engine. Later work will move the PMWIN subsystem
  to a full 32 bit implementation.  In addition, parts of PM are currently
  written in 16-bit Assembler, and are being rewritten in C for greater
  portability in preparation for a move to a portable version of OS/2.




                                                                   Futures  127









  CONTINUING OBJECT-ORIENTED DIRECTION

  PM already exhibits some characteristics of an object-oriented environment,
  especially in programming for the Workplace Shell and the System Object model
  (SOM) - see "System Object Model (SOM)" on page 103 . This direction will
  continue, not only in the method of programming, but also in the user
  interface, driven by the increasing object-orientation of SAA Common User
  Access (CUA). SOM itself will evolve to offer increasing object content to
  OS/2.


  DISTRIBUTED PM

  This technology will allow an OS/2 PM application to be distributed across a
  network to other OS/2 PM systems, to X Terminals or workstations running the
  X Window system, or to DOS/Windows machines running an X server.  This means
  that 32-bit OS/2 PM applications will be made available to 286 based
  DOS/Windows or OS/2 1.x PCs, and X terminals or workstations connected to the
  OS/2 PM application via a network using the X11 protocol.  In essence, the
  OS/2 PM application acts, in X terminology, as an X client.  X server
  function (where an application running on a UNIX RISC machine can appear in a
  window on a PC running OS/2) has already been delivered with TCP/IP for OS/2
  v1.2.  These developments allow OS/2 to integrate more fully into the open
  systems world as well as providing a wider user base for OS/2 PM
  applications.


  OBJECT-ORIENTED ENVIRONMENTS
  ____________________________

  In looking ahead to the future, a key challenge to the IT industry, customer
  and commercial developers alike, is the ability to deliver software solutions
  in a more timely and cost effective manner.  Object-oriented (OO)
  technologies have proven to make software development and maintenance easier,
  faster, less prone to error, and therefore less expensive.  Object-oriented
  programming is now being endorsed by the software industry as a more
  productive programming approach, encouraging greater re-use of code.  It is
  also more suitable for object-oriented user interfaces, like OS/2 2.0's
  Workplace Shell.

  One of IBM's goals for Personal Systems operating systems is to provide an
  object-oriented development and operational environment that is customisable,
  allowing developers and users to take incremental advantage of new
  technologies, while protecting their investments in existing applications.

  We are well on our way to achieving this with OS/2 2.0.  OS/2 itself already
  exhibits many aspects of object-oriented programming, particularly in the
  System Object model (SOM), the object model that underpins the Workplace
  Shell (see "System Object Model (SOM)" on page 103). Furthermore, the
  Workplace Shell itself has many characteristics of an object-oriented user
  interface (see "An INFORMATION-oriented user interface" on page 89)

  IBM also intends to encourage object-oriented development for OS/2 2.0.  OS/2
  will continue to be enhanced with extensions to improve support for
  object-oriented programming languages, as well as enhancing SOM.  SOM is a


                                                                   Futures  128









  technology for packaging software objects.  It allows objects to interoperate
  without requiring that they be written in the same language or compiled
  together.  SOM is the key element which allows applications to integrate with
  the desktop facilities of the Workplace Shell.  It supports objects written
  in C today.  C++ and other languages will be supported in the future.  IBM
  intends to extend SOM, to provide application frameworks to further increase
  programmer productivity, and to provide tools to assist end users with visual
  programming (assembly of objects).  IBM will enhance SOM to be compliant with
  the Object Management Group's (OMG's) Common Request Broker Architecture
  (CORBA). OMG is the leading object technology consortium that has published
  CORBA.  Adherence to this standard will provide management for distributed
  heterogeneous networks comprised of multivendor operating platforms.

  Customers can start to build applications with object-oriented tools today
  under OS/2, not only with C using SOM, but also with products like Enfin/2
  and Digitalk's Smalltalk/V PM . Furthermore, Borland have announced an
  agreement with IBM under which Borland will supply their C++ object-oriented
  development tools for OS/2 2.0, thus helping programmers who want to use C++
  for object-oriented development under OS/2 2.0.  Other object-oriented
  development tools vendors are also endorsing the OS/2 environment by
  supplying their tools for OS/2 2.0.

  IBM has made significant investments of its own in object-oriented
  programming, of which SOM and the Workplace Shell are clear examples. Through
  alliances, IBM is supplementing its own technology with that of the leaders
  in the object-oriented industry, in order to provide for the future
  development of OS/2.

  The agreement between IBM and Apple, announced in October 1991, included both
  companies' intention to form a joint venture company, Taligent, to develop a
  next-generation operating environment based entirely on object-oriented (OO)
  technology. IBM and Apple had independently come to the conclusion that
  object-oriented technology is key to solving the ever-increasing application
  development challenge. The two companies had been involved in developing
  object-oriented technology in-house for some time. One of the key objectives
  in forming Taligent was to bring the benefits of this technology to customers
  sooner than either partner could have achieved alone.

  IBM will licence Taligent's system, as will Apple and other hardware system
  manufacturers. IBM and Apple are both contributing technology to the Taligent
  venture. Among Apple's contributions was their "Pink" technology and among
  IBM's offerings was SOM.

  Taligent's technology will be used separately by both Apple and IBM as the
  core of new products expected in the mid- to late-90s.  These products will
  operate in parallel to, and complement the evolution of, OS/2 and AIX.  Over
  time IBM intends to utilize a subset of Taligent's object services and
  frameworks to benefit OS/2 application development and enable future
  compatibility with Taligent's environment.

  Taligent's system software environment will emerge in the mid-90s, targeted
  at specific market segments that can readily leverage this technology. Once
  the Taligent system is available, IBM intends to create an OS/2 "personality"



                                                                   Futures  129









  as a vehicle for protecting application investments. This will provide a path
  for customers who want to take advantage of the Taligent system.

  Therefore, in the mid to late 90s, OS/2 and the new object-oriented
  environment will co-exist, and customers will be able to choose between an
  OS/2 system or a full object-oriented environment.  But even then, not all
  customers may need or want to adopt a full object-oriented environment, and
  will stay with OS/2 as OS/2's object-oriented content increases.  OS/2 will
  remain the mainstream IBM Personal Systems operating system, and will
  continue to be developed and enhanced through the 90s.  Since OS/2 itself
  will become increasingly more object-oriented, and its applications will run
  in the new environment, evolution towards a full object-oriented environment
  can be made gradually and seamlessly over time.  IBM believes there will
  continue to be many customer and hardware requirements that demand OS/2,
  after the availability of Taligent.

  +---------------------------------------------------------------------------+
  |                                                                           |
  |                                                                           |
  +---------------------------------------------------------------------------+
  Figure 29. OS/2 - an object-oriented future

  This approach is possible because OS/2 2.0 already contains many
  object-oriented features, such as the System Object Model, and the Workplace
  Shell user interface.  Because of OS/2's object-oriented content, and because
  OS/2 applications will continue to run in the new system, OS/2 is the
  platform best suited to evolve towards a fully object-oriented environment.

  Some have tried to suggest that IBM's direction towards a future
  object-oriented environment in some way threatens OS/2.  The opposite is the
  case:  the IBM-Apple announcement endorses and strengthens the OS/2 strategy.
  Since OS/2 already displays significant object-oriented content, and since
  OS/2 applications will be fully supported in the new object-oriented
  environment, it follows that using, programming for and deploying OS/2 is an
  excellent way to secure an object-oriented direction.  If the future is
  object-oriented, OS/2 is the way to get there.


  DISTRIBUTED COMPUTING
  _____________________

  IBM recognises the increasing importance of open networking, linking to mixed
  vendor environments, both clients and servers.  In May 1990 the Open Software
  Foundation (OSF) announced the Distributed Computing Environment (DCE), a
  group of technologies aimed at simplifying the work for users and application
  developers in these complex computing environments.  In endorsing DCE, IBM
  subsequently announced not only support for DCE on AIX but also the intent to
  extend the Systems Application Architecture (SAA) to incorporate key elements
  of DCE.  As one of the SAA systems, OS/2 will be a platform for the delivery
  of the key elements of DCE.

  For those not familiar with DCE, it consists of a number of key technologies.
  Of these, six are of particular interest for distributed environments
  including OS/2, and can be summarised as follows:



                                                                   Futures  130









  REMOTE PROCEDURE CALL (RPC)
            The basic notion is that procedures called by an application may
            actually be run on a computer somewhere else in the network. The
            RPC mechanism takes care of the communications details so that
            writing distributed applications approaches the simplicity of
            applications on a single machine.

  DISTRIBUTED NAMING SERVICE
            This provides a single naming model throughout the distributed
            environment.  Resources such as servers, files, disks, or print
            queues are identified by name independent of the physical location
            in the network. Full X.500 support is provided.

  TIME SERVICE
            Many distributed applications need a single time reference to
            properly determine event sequencing and duration.  The time service
            provides a mechanism for synchronising each computer in the network
            to a recognised time standard.

  SECURITY SERVICE
            Provides the network with authentication, authorisation, and user
            account management.  Authentication validates the identity of a
            user or service to prevent fraudulent requests.  Authorisation is
            the process of determining whether an authenticated user should
            have access to a resource.  These facilities are made available
            through a secure communications capability provided by the RPC.

  THREADS SERVICE
            A facility to support concurrent programming, much like threads in
            OS/2.  This will be used by other DCE components to implement their
            services.

  DISTRIBUTED FILE SYSTEM
            Joins the file systems of the nodes in the network through a
            consistent interface that makes global file access as easy as local
            file access.  The Distributed File System should provide users with
            a uniform name space, file location transparency, and high
            availability.

  IBM's intention is that OS/2 LAN Server will evolve towards a full
  distributed LAN system, providing DCE services as described above. OS/2 LAN
  Server will incorporate architectures and industry standards which fully meet
  customer requirements and will include technologies such as:

  o   Distributed Relational Database Architecture (DRDA)
  o   Open Software Foundation (OSF) Distributed Management Environment (DME)
  o   OSF's Distributed Computing Environment (DCE)
  o   Transarc/ENCINA Online Transaction Processing

  OS/2 is a key part of IBM's plans for the delivery of key elements of
  distributed computing. IBM has already shown technology demonstrations of
  OS/2 participating in a distributed environment along with AIX.  Distributed
  computing support will make OS/2 an even more open platform, as both a client
  and a server.


                                                                   Futures  131









  AIX INTEROPERABILITY
  ____________________

  IBM is committed to providing greater co-existence and interoperability
  between SAA and AIX systems.  OS/2 will participate in this strategy.  This
  does not involve merging function, but retaining the unique strengths of the
  two systems.  The aim is to make it easier for customers to build mixed
  networks combining the best of both OS/2 and AIX, RISC and Intel hardware,
  according to their applications.

  Part of this strategy involves putting compatible key systems components,
  such as relational database, on both platforms. As well as providing a 32-bit
  database on OS/2 in future, IBM will also provide a compatible 32-bit
  database for AIX, and support client operations between AIX and OS/2
  databases. Another element of the strategy is to improve co-existence by
  providing networking support. Products like TCP/IP for OS/2, already exist to
  fulfil this requirement, and IBM intends to strengthen OS/2-AIX
  inter-networking in future through DCE, DME and other technologies.


  FUTURE WINDOWS COMPATIBILITY
  ____________________________

  OS/2 2.0 supports Windows 3.0 applications by including modified Windows code
  under the cross-licencing agreement with Microsoft. The March 1992 release of
  OS/2 2.0 does not contain support for Windows 3.1, since at the time when
  OS/2 2.0 shipped, Windows 3.1 was not available.  It would be impossible to
  plan support for a product that had not shipped by the time OS/2 2.0 was
  available.  IBM plans, and is able, to support Windows 3.1 at a later point,
  if it proves necessary (see "OS/2 1992 developments" on page 123 and "Windows
  3.1" on page 74).  In fact, on April 7th, 1992, the day after Microsoft
  shipped Windows 3.1, IBM demonstrated the Windows 3.1 Program Manager running
  under OS/2 2.0.

  It is important to understand that OS/2 2.0 supports Windows APPLICATIONS,
                                                               ____________
  not Windows.  Windows support in OS/2 is only relevant for the Windows
  applications that OS/2 customers wish to use.  IBM continues to licence the
  DOS/Windows source code, and has rights to all source code in development
  until September 1993, in order to continue to provide support for 16-bit
  Windows applications.  Microsoft has not made its future plans clear on
  16-bit Windows application support, but it may be difficult for Microsoft to
  persuade its customers to accept future versions of 16-bit Windows that do
  not support today's 16-bit Windows applications.  IBM considers that it has
  the ability to provide support for today's generation of Windows 16-bit
  applications, as long as is necessary.

  There are, as yet, no 32-bit Windows applications available, because
  Microsoft does not plan to ship its first 32-bit Windows platform until some
  time in 1993.  However, there are a growing number of OS/2 applications:
  hundreds are already shipping, and over 1000 have been announced for shipment
  by the end of 1992 or early 1993.  OS/2 will therefore have the largest
  number of 32-bit applications for some time.  Therefore, the trend in the
  marketplace towards real 32-bit applications, and the continuing success of
  OS/2, may make Windows support a moot point.  The issue may be rather what
  levels of OS/2 32-bit compatibility can Microsoft build into their future
  products.


                                                                   Futures  132









  Since many of the applications currently available or under development for
  16-bit Windows 3.x will also be available for 32-bit OS/2, future Windows
  compatibility may cease to be an issue, since running native OS/2 versions of
  applications will be superior to running the Windows versions even in
  WIN-OS/2 (see "Porting Windows applications to OS/2" on page 75).  Support
  for Windows applications is intended mainly as a migration to OS/2 2.0, but
  investment in Windows applications should not be considered a long-term
  strategy for customers planning an OS/2 future.  Many vendors now understand
  the need to provide real OS/2 versions of their software for competitiveness'
  sake, and are not relying on running their Windows version under OS/2 to
  address the OS/2 opportunity properly.  Furthermore, the evidence suggests
  (see "Windows applications" on page 57) that Windows applications have not
  made anything like the same impact on the market as Windows itself.  IBM will
  continue to monitor the continued need for supporting Windows applications,
  and will exercise its skills and intellectual rights to do what its customers
  require.


  PORTABLE VERSION OF OS/2
  ________________________

  The joint IBM-Microsoft statement at Comdex in November 1989, indicated that
  both companies were committed to producing a version of OS/2 that could run
  on non-Intel processors such as RISC, and include US Department of Defense
  security at the C2 level and symmetric multiprocessing. IBM remains committed
  to this direction.

  The most important part of the work in portability lies in ensuring that
  APPLICATIONS are easily portable to any new platform.  The other element of
  ____________
  portability is to provide a portable operating system kernel (the low level
  code that interfaces with the processor).  In fact, the importance of the
  latter has often been exaggerated in relation to the former:  there is no
  point in having a portable kernel if you cannot move your applications
  easily.

  IBM has already made great progress in the first step with the 32-bit OS/2
  API, which eliminates many of the dependencies of the 16-bit Intel-based
  architecture.  This provides the potential of a 32-bit code base which is
  ready to take advantage of a future move of the kernel to other processors.
  The kernel may change underneath, but the API must be established and
  preserved.  It is also clear in the design of OS/2 2.0 how IBM is already
  preparing many of the key components of OS/2 (such as the subsystems like PM
  and the Workplace Shell, and the API set) for easier portability and to
  accommodate future directions.  In contrast, although Microsoft has
  publicised its portable kernel, the other elements required for portability,
  specifically a full 32-bit API with multi-threading, interprocess
  communications and advanced graphics, are not yet delivered.  And it is
  unclear from their public disclosures about Win32s (see "OS/2 - a 32-bit API
  - TODAY" on page 84)  how to make a straightforward migration to take
  advantage of RISC, without changes to the code base.  The Windows API today
  remains 16-bit, and 32-bit exploitation, including the full benefits of
  portability, remain a future promise.

  As for the choice of kernel, IBM has a variety of options, through licencing
  agreements.  IBM is working on a range of technologies, and will announce its


                                                                   Futures  133









  direction when it has fully evaluated the available technology in the light
  of customer requirements.  Suffice it to say that although the "NT" in
  Microsoft's future system, Windows/NT, stands for "New Technology," the idea
  of a portable micro-kernel is not new, and other examples already exist in a
  mature form, including the OSF's micro-kernel based on the Carnegie-Mellon
  Mach technology.  IBM has chosen not to integrate Windows/NT code into its
  future offerings.  But NT is by no means the only way of achieving the
  objectives stated in November 1989.

  As far as customers and application developers are concerned, if portability
  is a key issue, 32-bit application development under OS/2, rather than
  migration from 16-bit DOS and its extensions, is the clearer path.


  CONCLUSION
  __________

  OS/2 is therefore not only taking advantage of today's requirements, and the
  wide range of DOS, Windows and OS/2 applications that already exist, but
  provides an immediate future for powerful 32-bit developments, including a
  32-bit API and the potential to integrate with the new OS/2 Workplace Shell
  user interface.  The requirements of the workstation of the late 1990s for an
  object-oriented platform supporting multimedia, DCE and systems management,
  can only be served by a robust, architected 32-bit platform.  That platform
  is OS/2.
































                                                                   Futures  134









  APPENDICES
  __________























































                                                                Appendices  135









  APPENDIX A.  COMPARISON TABLES
  ______________________________





  DOS ENVIRONMENTS
  ________________

  The following notes refer to the table on the next page.

  NOTES:

  1.  See "Comparison with memory usage under DOS" on page 41, "Amount of
      memory" on page 20 and "Memory" on page 60.

  2.  See "MVDM memory management" on page 23 and "Expanded and Extended
      Memory" on page 43.  Also see "Standard mode" on page 55 for Windows
      3.x's EMS support.

  3.  The phrase "none/switch" means that no individual DOS application can
      overcommit memory, but the real mode portion can be moved to disk to make
      room for another DOS application.  However, extended or EMS memory
      allocated by the application is not switched to disk.  OS/2 1.3 can swap
      the DOS application to disk when running protected mode applications.
      Windows 3.x 386 enhanced mode can overcommit up to four times the
      physical memory on the machine.  OS/2 2.0 is limited only by the amount
      of available disk space.

  4.  Although the default is to swap through the file system, Windows 3.x 386
      enhanced mode does allow swap space to be pre-allocated, and gain
      improved performance by avoiding the DOS file system. Because this disk
      space is pre-allocated, none of it is available to be shared dynamically
      for any other use.  OS/2 2.0 implements access to the swap space via the
      file system for both FAT and the HPFS.  The OS/2 2.0 implementation
      provides the flexibility of a dynamically sized swap file combined with
      good performance.

  5.  OS/2 2.0 and Windows 3.1 provide windowing of DOS applications on the
      Workplace Shell desktop in all text and VGA graphics modes, while Windows
      3.0 only supports windowing of text and CGA modes.  According to
      Microsoft, Windows/NT will not support windowed VGA graphics.

  6.  Although Windows 3.x does include a print spooler, and printing
      concurrently from DOS applications is not supported.  Windows permits
      only one DOS application to print and requires that other DOS
      applications be suspended if they attempt to print concurrently.  Use of
      a DOS print spooler (loaded prior to Windows 3.x.)  is not a viable
      solution, since printing concurrently from multiple DOS sessions causes
      all the output to be jumbled together on the same page.  Windows does
      warn of a device conflict in use of the printer in the latter case and
      offers a choice on how to proceed, but whatever the choice made, the same
      incorrect output results.  OS/2 2.0 provides correct spooling of printer
      output from concurrent DOS applications.



                                            Appendix A.  Comparison tables  136









  7.  Some DOS applications are extremely timing sensitive, mostly
      communications applications using high data rates.  These are supported
      in all systems when the application is in the foreground.  However, in
      DOS, OS/2 1.3., Windows 3.0 real mode, and Windows 3.x standard mode, the
      application is suspended while in the background and so cannot satisfy
      any timing constraint.  In 386 enhanced mode, Windows 3.x provides the
      option of setting exclusive mode, so a timing sensitive application can
      be run in the foreground without interference due to time slicing.
      However, all other applications are suspended while this DOS application
      is running in this mode.  In some cases the need for exclusive mode can
      be avoided by manually adjusting the relative priorities.  The ability to
      dynamically manage priorities permits OS/2 2.0 to multi-task timing
      critical applications both in the foreground and background.  Detailed
      configuration of idle time detection is also possible in the DOS Settings
      (see "DOS Settings" on page 47).

  8.  Although Windows 3.1 has addressed some of Windows' limitations in terms
      of stability, it is still based on DOS, and therefore still prone to
      problems caused by DOS-based TSRs which take the system out of protected
      mode into real mode (see "Reliability and protection" on page 44 and
      "Reliability" on page 61).



































                                            Appendix A.  Comparison tables  137









  +---------------------------------------------------------------------------+
  | Table 9 (Page 1 of 2). Comparison of DOS environments                     |
  +-------------------------+------+------+---------------------+------+------+
  |                         |      |      |  WINDOWS 3.0 ON IBM |  WIN |      |
  |                         |      |      |       DOS 5.0       |  3.1 |      |
  |                         |      |      +------+-------+------+  ENH |      |
  |                         |      |      |      |       |      | MODE |      |
  |                         |  IBM |      |      |       |      | WITH |      |
  |                         |  DOS | OS/2 |      |       |      |  DOS | OS/2 |
  |                         |  5.0 |  1.3 | REAL | STANDA|DENHAN|ED5.0 |  2.0 |
  +-------------------------+------+------+------+-------+------+------+------+
  | Conventional Memory     | 622 K| 529 K| 558 K| 571 KB| 569 K| 577 K| 633 K|
  | - with EMS & Mouse (1)  | 601 K|      |      |       |      |      |      |
                       ___
  +-------------------------+------+------+------+-------+------+------+------+
  | Memory w/ LAN Attach    | 543 K| 486 K| 386 K| 391 KB| 441 K| 477 K| 633 K|
  | - configured as PCLP Rec|iver  |      |      |       |      |      |      |
  +-------------------------+------+------+------+-------+------+------+------+
  | Memory w/3270 Attach    | 522 K| 495 K| 486 K| 492 KB| 541 K| 549 K| 633 K|
  +-------------------------+------+------+------+-------+------+------+------+
  | Extended Memory (XMS)   | 16 MB| none | 16 MB|(16tMB)|t16aMB|(16tMB|(16tMB|per app)
  +-------------------------+------+------+------+-------+------+------+------+
  | EMS 4.0 Memory(2)       | 16 MB| none | 16 MB|(nonel)| 16 MB|(16tMB|(32tMB|per app)
                  ___
  +-------------------------+------+------+------+-------+------+------+------+
  |                                                                           |
  +-------------------------+------+------+------+-------+------+------+------+
  | Physical RAM for DOS    | 0-1 M| 0-640|K0-1 M| 0-1 MB| Any/P|gAny/P|gAny/P|ged
  +-------------------------+------+------+------+-------+------+------+------+
  | Memory Overcommit(3)    | None/|wNone/|wNone/|wNone/S|i4c* R|M4 * R|MAvail|Disk
                     ___
  +-------------------------+------+------+------+-------+------+------+------+
  | Swap File(4)            | File |yFile |yFile |yFile S|sPhysi|aPhysi|aFile |ystem
             ___
  |                         |      |      |      |       | (Prea|l(Prea|l(Dyna|ic)
  |                         |      |      |      |       | or Fi|eoryFi|e Syst|m
  +-------------------------+------+------+------+-------+------+------+------+
  |                                                                           |
  +-------------------------+------+------+------+-------+------+------+------+
  | Number of DOS Apps      | 16   | 1    | 16   | 16    | 16   | 16   | >32  |
  +-------------------------+------+------+------+-------+------+------+------+
  | Background Execution    | No   | No   | No   | No    | Yes  | Yes  | Yes  |
  +-------------------------+------+------+------+-------+------+------+------+
  |                                                                           |
  +-------------------------+------+------+------+-------+------+------+------+
  | Invocation              | Shell|CIcon | Icon | Icon  | Icon | Icon | Icon |
  +-------------------------+------+------+------+-------+------+------+------+
  | Windowed(5)             | No   | No   | No   | No    | Yes  | Yes  | Yes  |
            ___
  |                         |      |      |      |       | (Text| (Text| (Text| VGA)
  +-------------------------+------+------+------+-------+------+------+------+
  | Cut & Paste             | No   | No   | Yes  | Yes   | Yes  | Yes  | Yes  |
  +-------------------------+------+------+------+-------+------+------+------+
  | Print Spooling(6)       | Yes  | Yes  | No   | No    | No   | Yes  | Yes  |
                  ___
  +-------------------------+------+------+------+-------+------+------+------+
  | Installable File System | No   | Yes  | No   | No    | No   | No   | Yes  |
  +-------------------------+------+------+------+-------+------+------+------+
  |                                                                           |
  +---------------------------------------------------------------------------+


                                            Appendix A.  Comparison tables  138









  +-------------------------+------+------+------+-------+------+------+------+
  | Direct Hardware Access  | Yes  | Yes  | Yes  | Yes   | Yes  | Yes  | Yes  |
  +-------------------------+------+------+------+-------+------+------+------+
  | Timing Dependent Apps.(7| Foreg|oForeg|oForeg|oForegr|uExclu|iExclu|iForeg|ound/
                          ___
  |                         |      |      |      |       | (Manu|l(Manu|lBackg|ound
  |                         |      |      |      |       |      |      | (Auto|atic)
  +-------------------------+------+------+------+-------+------+------+------+
  |                                                                           |
  +-------------------------+------+------+------+-------+------+------+------+
  | DPMI                    | No   | No   | No   | No    | Yes  | Yes  | Yes  |
  +-------------------------+------+------+------+-------+------+------+------+
  | VCPI and DOS Extenders  | Yes  | No   | No   | No    | No   | No   | No   |
  +-------------------------+------+------+------+-------+------+------+------+
  |                                                                           |
  +-------------------------+------+------+------+-------+------+------+------+
  | Continues after serious | Rarel| Rarel| Rarel| Rarely| Somet|mOften| Yes  |
  | Application errors (8)  |      |      |      |       |      |      |      |
                       ___
  +-------------------------+------+------+------+-------+------+------+------+

  OS/2 2.0 COMPARED WITH WINDOWS 3.0/3.1
  ______________________________________

  +---------------------------------------------------------------------------+
  | Table 10 (Page 1 of 6). OS/2 2.0 compared to Windows 3.0/3.1              |
  +-------------------------------------+------------------+------------------+
  |                                     | WINDOWS 3.1      | OS/2 2.0         |
  +-------------------------------------+------------------+------------------+
  | Hardware                                                                  |
    ________
  +-------------------------------------+------------------+------------------+
  | Processor                           | 286; 386SX+  (1) | 386SX+           |
                                                       ___
  +-------------------------------------+------------------+------------------+
  | Minimum hard drive                  | Approx 9MB       | Approx 13MB      |
  +-------------------------------------+------------------+------------------+
  | Hard drive for Full install         | 11MB - plus 50%  | 27.6MB           |
  |                                     | of remaining     |                  |
  |                                     | partition for    |                  |
  |                                     | swap file        |                  |
  |                                     | (default) (2)    |                  |
                                                    ___
  +-------------------------------------+------------------+------------------+
  | Largest hard drive                  | 1GB              | 64GB (HPFS)      |
  +-------------------------------------+------------------+------------------+
  | Largest file size                   | 1GB              | 2GB              |
  +-------------------------------------+------------------+------------------+
  | SCSI exploitation                   | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | File System options                 | FAT only         | Enhanced FAT or  |
  |                                     |                  | HPFS             |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Memory                                                                    |
    ______
  +-------------------------------------+------------------+------------------+
  | Physical Memory Limit               | > 16 MB          | > 16 MB          |
  +-------------------------------------+------------------+------------------+



                                            Appendix A.  Comparison tables  139









  +---------------------------------------------------------------------------+
  | Table 10 (Page 2 of 6). OS/2 2.0 compared to Windows 3.0/3.1              |
  +-------------------------------------+------------------+------------------+
  |                                     | WINDOWS 3.1      | OS/2 2.0         |
  +-------------------------------------+------------------+------------------+
  | Virtual Memory Limit                | 4 x Physical     | 512 MB per       |
  |                                     |                  | process (or Disk |
  |                                     |                  | space)           |
  +-------------------------------------+------------------+------------------+
  | Memory Model                        | Segmented (64    | Flat memory      |
  |                                     | KB)              | objects          |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Multi-tasking (3)                                                         |
    _____________ ___
  +-------------------------------------+------------------+------------------+
  | Multi-tasking - DOS Applications    | Time Slicing     | Pre-emptive Time |
  |                                     |                  | Slicing          |
  +-------------------------------------+------------------+------------------+
  | Multi-tasking - Windows & OS/2 Apps | Co-operative     | Pre-emptive      |
  +-------------------------------------+------------------+------------------+
  | Priority                            | Static (set by   | Dynamic          |
  |                                     | user)            |                  |
  +-------------------------------------+------------------+------------------+
  | Dispatchability                     | Process          | Thread           |
  +-------------------------------------+------------------+------------------+
  | System Services                     | Serial           | Parallel /       |
  |                                     |                  | Overlapped       |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Reliability/Protection (4)                                                |
    ______________________ ___
  +-------------------------------------+------------------+------------------+
  | Protection between Applications     | Limited          | Protected        |
  +-------------------------------------+------------------+------------------+
  | Kernel protection - DOS             | Limited          | Protected        |
  | Applications                        |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Kernel protection - Windows & OS/2  | Limited          | Protected        |
  | Apps                                |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Remains in protected mode (5)       | No - access to   | Yes              |
                              ___
  |                                     | real mode        |                  |
  |                                     | possible         |                  |
  +-------------------------------------+------------------+------------------+
  | Reliability/Availability/Service    | None in 3.0.  In | Standalone Dump, |
  | (RAS) Support (6)                   | 3.1: Error       | Error Logging,   |
                  ___
  |                                     | Logging/Dump via | Trace Utilities  |
  |                                     | Dr.Watson; No    | & APIs           |
  |                                     | Trace APIs or    |                  |
  |                                     | Trace formatting |                  |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+


                                            Appendix A.  Comparison tables  140









  +---------------------------------------------------------------------------+
  | Table 10 (Page 3 of 6). OS/2 2.0 compared to Windows 3.0/3.1              |
  +-------------------------------------+------------------+------------------+
  |                                     | WINDOWS 3.1      | OS/2 2.0         |
  +-------------------------------------+------------------+------------------+
  | Compatibility                                                             |
    _____________
  +-------------------------------------+------------------+------------------+
  | Multiple Concurrent DOS             | Yes (enhanced    | Yes              |
  | Applications                        | mode only)       |                  |
  +-------------------------------------+------------------+------------------+
  | Windows 2.x Applications            | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | Windows 3.0 Applications            | Most (7)         | Most             |
                                               ___
  +-------------------------------------+------------------+------------------+
  | Clipboard support                   | Windows and DOS  | Windows, DOS and |
  |                                     | only             | OS/2             |
  +-------------------------------------+------------------+------------------+
  | DDE support                         | Windows apps     | Windows and OS/2 |
  |                                     | only             | apps             |
  +-------------------------------------+------------------+------------------+
  | OLE support                         | Yes              | Yes              |
  +-------------------------------------+------------------+------------------+
  | 16-bit OS/2 Applications            | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | 32-bit OS/2 Applications            | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Printing and Fonts                                                        |
    __________________
  +-------------------------------------+------------------+------------------+
  | Print spooling                      | Limited (8)      | Yes, for all     |
                                                  ___
  |                                     |                  | applications     |
  +-------------------------------------+------------------+------------------+
  | Adobe Type Manager standard         | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | Network printing support            | Some             | Full (9)         |
                                                                  ___
  +-------------------------------------+------------------+------------------+
  | Background printing performance     | Unpredictable    | Predictable (10) |
                                                                         ____
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | National Language Support                                                 |
    _________________________
  +-------------------------------------+------------------+------------------+
  | Number of Language Versions         | 12               | 16               |
  +-------------------------------------+------------------+------------------+
  | Data Interchange                    | ISO8859/CP819    | CP850            |
  |                                     | (different from  | (consistent      |
  |                                     | DOS)             | throughout OS/2) |
  +-------------------------------------+------------------+------------------+
  | Host connectivity/Interchange       | 3rd party        | Included in      |
  |                                     |                  | Extended         |
  |                                     |                  | Services for     |
  |                                     |                  | OS/2             |
  +-------------------------------------+------------------+------------------+


                                            Appendix A.  Comparison tables  141









  +---------------------------------------------------------------------------+
  | Table 10 (Page 4 of 6). OS/2 2.0 compared to Windows 3.0/3.1              |
  +-------------------------------------+------------------+------------------+
  |                                     | WINDOWS 3.1      | OS/2 2.0         |
  +-------------------------------------+------------------+------------------+
  | Code Page                           | Single           | Selectable       |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Other Factors                                                             |
    _____________
  +-------------------------------------+------------------+------------------+
  | Full 32-bit APIs                    | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | Concurrent High Speed Comms         | Unreliable       | Yes              |
  +-------------------------------------+------------------+------------------+
  | Background Comms (11)               | Unreliable       | Yes              |
                     ____
  +-------------------------------------+------------------+------------------+
  | OEM Hardware Support                | Yes              | Yes              |
  +-------------------------------------+------------------+------------------+
  | Development Tools                   | Yes              | Yes              |
  +-------------------------------------+------------------+------------------+
  | Command Language                    | .BAT             | .BAT, .CMD and   |
  |                                     |                  | REXX             |
  +-------------------------------------+------------------+------------------+
  | Installation migration for existing | Limited          | Yes              |
  | apps                                |                  |                  |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | User Interface                                                            |
    ______________
  +-------------------------------------+------------------+------------------+
  | CUA compliance                      | Graphical Model  | Workplace Model  |
  |                                     | ('89)            | ('91)            |
  +-------------------------------------+------------------+------------------+
  | Icons representing non-loaded files | No (3rd party)   | Yes              |
  | on desktop                          |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Place icons anywhere on desktop     | No (files in     | Yes              |
  |                                     | File Manager,    |                  |
  |                                     | programs in      |                  |
  |                                     | Program Manager, |                  |
  |                                     | printers - no    |                  |
  |                                     | icons)           |                  |
  +-------------------------------------+------------------+------------------+
  | Group windows                       | Single-layer     | Multi-layer,     |
  |                                     | (can't put group | hierarchical     |
  |                                     | inside another   | folders          |
  |                                     | group)           |                  |
  +-------------------------------------+------------------+------------------+
  | Customise GUI look/feel             | No               | Yes (Workplace   |
  |                                     |                  | Shell, Windows   |
  |                                     |                  | 3.x, OS/2 1.x)   |
  +-------------------------------------+------------------+------------------+



                                            Appendix A.  Comparison tables  142









  +---------------------------------------------------------------------------+
  | Table 10 (Page 5 of 6). OS/2 2.0 compared to Windows 3.0/3.1              |
  +-------------------------------------+------------------+------------------+
  |                                     | WINDOWS 3.1      | OS/2 2.0         |
  +-------------------------------------+------------------+------------------+
  | Context Menus                       | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | Drag/Drop across entire Shell       | Windows 3.0 -    | Yes              |
  | environment                         | No.  Windows 3.1 |                  |
  |                                     | - File Manager   |                  |
  |                                     | only             |                  |
  +-------------------------------------+------------------+------------------+
  | Object Management                   | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | Graphical Install                   | Yes              | Yes              |
  +-------------------------------------+------------------+------------------+
  | Intelligent fonts                   | Windows 3.0 - No | Yes (Adobe Type  |
  |                                     | (ATM separate    | Manager for OS/2 |
  |                                     | purchase).       | & Windows - 1200 |
  |                                     | Windows 3.1 -    | fonts)           |
  |                                     | Yes (TrueType -  |                  |
  |                                     | 650 fonts)       |                  |
  +-------------------------------------+------------------+------------------+
  | Long file names                     | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | Applets                             | Yes              | Yes              |
  +-------------------------------------+------------------+------------------+
  | Consistent GUI logon                | No - requires    | Yes              |
  |                                     | Network vendor   |                  |
  |                                     | utility          |                  |
  +-------------------------------------+------------------+------------------+
  | Interactive Tutorial                | Yes              | Yes              |
  +-------------------------------------+------------------+------------------+
  | Command Reference                   | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+
  | Advanced Connectivity(12)                                                 |
                         ____
  +-------------------------------------+------------------+------------------+
  | Client and Server platform          | No               | Yes              |
  +-------------------------------------+------------------+------------------+
  | Multiple Concurrent Protocols       | Limited          | Yes              |
  +-------------------------------------+------------------+------------------+
  | SNA LU6.2                           | 3rd party        | Yes              |
  +-------------------------------------+------------------+------------------+
  | APPN                                | 3rd party        | Yes              |
  +-------------------------------------+------------------+------------------+
  | TCP-IP                              | 3rd party        | IBM TCP-IP for   |
  |                                     |                  | OS/2             |
  +-------------------------------------+------------------+------------------+
  | Systems Management                  | 3rd party        | Various from IBM |
  |                                     |                  | (13)             |
                                                             ____
  +-------------------------------------+------------------+------------------+



                                            Appendix A.  Comparison tables  143









  +---------------------------------------------------------------------------+
  | Table 10 (Page 6 of 6). OS/2 2.0 compared to Windows 3.0/3.1              |
  +-------------------------------------+------------------+------------------+
  |                                     | WINDOWS 3.1      | OS/2 2.0         |
  +-------------------------------------+------------------+------------------+
  | SQL Database Server                 | MS SQL Server    | Yes              |
  |                                     | (requires OS/2)  |                  |
  +-------------------------------------+------------------+------------------+
  | SQL Database Client                 | 3rd party        | Yes              |
  +-------------------------------------+------------------+------------------+
  | NFS                                 | 3rd party        | IBM TCP-IP for   |
  |                                     |                  | OS/2             |
  +-------------------------------------+------------------+------------------+
  | X-Windows server                    | 3rd party        | IBM TCP-IP for   |
  |                                     |                  | OS/2             |
  +-------------------------------------+------------------+------------------+
  |                                     |                  |                  |
  +-------------------------------------+------------------+------------------+

  NOTES:

  1.  Although Windows 3.1 will run on a 286, this does not enable enhanced
      mode support, which is required to be competitive with OS/2 function
      (multi-tasking DOS applications, demand paging, 32-bit support).

  2.  See "Disk space" on page 149

  3.  See "Multi-tasking of DOS applications" on page 40, "Multi-tasking" on
      page 28 and "Performance" on page 62

  4.  See "Reliability" on page 61, "Reliability and protection" on page 44 and
      "Protected mode operation" on page 15.

  5.  See "Reliability" on page 61, "Reliability and protection" on page 44

  6.  Windows 3.1 uses Dr.Watson, OS/2 2.0 uses SYSLOG and Standalone Dump

  7.  Windows 3.1 will not run some Windows 3.0 applications, which will need
      updates. Compatibility notes are listed in the APPS.HLP file. Several
      Windows 3.0 applications need updated versions to run on Windows 3.1.
      OS/2 2.0 runs all but a very small minority of Windows 3.0 applications,
      as well as all the Windows 2.x applications that Windows 3.1 will no
      longer support (no real mode support provided) - see "Real mode (NOT
      AVAILABLE IN WINDOWS 3.1)" on page 54 and "386 Enhanced mode" on page 66

  8.  Print spooling is not provided by Windows 3.1 for DOS applications, only
      for Windows applications. OS/2 2.0 provides print spooling for DOS,
      Windows and OS/2 applications

  9.  OS/2 2.0 has extensive user print management capabilities (40 APIs vs 12
      APIs in Windows 3.1) for querying, holding, releasing and deleting jobs
      (including a graphical view of job and queue status).




                                            Appendix A.  Comparison tables  144









  10. OS/2 consistently outperforms Windows with background print operations,
      in multi-tasking environments

  11. See notes on Background Execution in Appendix A on DOS applications.

  12. OS/2 2.0's "Yes" answers here are all using Extended Services for OS/2
      except where stated.  It is important to note that the Windows column
      refers to Windows specific programs (i.e. written to explicitly take
      advantage of Windows GUI, memory addressability, or time-slicing).
      Although there are many DOS connectivity options, and they may be usable
      under Windows, the integration of these complex subsystems and any
      co-residency of two or more options (eg TCP/IP and SNA) is completely the
      responsibility of the customer as a custom integration effort.  Moreover,
      Windows on DOS has substantial architectural limitations which make
      multiple network connections difficult to integrate than under OS/2 (lack
      of memory, lack of protection, and weak multi-tasking support).  OS/2's
      base environment provides tools and system support designed to allow this
      type of multi-connectivity installation.  Besides, all the extra software
      required for these functions under OS/2 comes from IBM, and one can
      therefore anticipate a greater degree of integration (see "OS/2 for
      client-server" on page 109).

  13. See "Systems management" on page 116

































                                            Appendix A.  Comparison tables  145









  APPENDIX B.  HARDWARE REQUIREMENTS AND PERFORMANCE
  __________________________________________________





  The main reference to OS/2 system requirements is the OS/2 2.0 Information
  and Planning Guide (G326-0160-00), and the equivalent guides for Extended
  Services for OS/2 and OS/2 LAN Server.  Anyone planning installation of OS/2
  across several workstations should obtain these guides.  In this section we
  will discuss only the key issues - for the detail, you should consult the
  Information and Planning Guide. This section only discusses issues relating
  to the base system, not to the extensions, though many of the principles
  apply to both.


  MINIMUM REQUIREMENTS
  ____________________

  OS/2 2.0 is designed for personal computers with the following minimum
  requirements:

  o   Intel (or compatible) i386SX microprocessor or above
  o   4MB of memory
  o   60MB hard disk with 15-30MB of free disk space
  o   2-button mouse or other pointing device

  Please note that this is a minimum. Many will be satisfied with this
                        __
  configuration if simple tasks are undertaken, but for more powerful
  multi-tasking and larger applications, more memory may be required. There is
  a trade-off to be made between memory and performance, in particular: OS/2
  can work around a limit in physical memory by swapping to disk, but since
  disk access is slower than memory access, this will tend to reduce overall
  performance, which will show itself more in switching between applications
  than in the performance of an individual session.

  OS/2 2.0 will not run on machines equipped with an Intel 80286 processor.
  Therefore, computers such as the IBM PC AT, PS/2 Model 30-286, and Models 50,
  50Z, and 60 cannot be used with OS/2 2.0.  However, OS/2 2.0 does support
  non-386 based machines that have been upgraded with a 386 or 486 processor
  using the Aox Micromaster, Intel SnapIn, or Kingston SX/Now! card.

  In addition, OS/2 2.0 is supported on a broad range of IBM-compatible
  systems, including models from Compaq, AST, Olivetti, Toshiba, Hewlett
  Packard, Dell, Gateway, Wang, DEC, NCR, Tandy, ACER, CompuAdd and many
  others.

  The certification of compatibility is based on IBM's tests of key functions
  of OS/2 2.0, based on selected model configurations provided by the
  manufacturers of these non-IBM hardware systems.  Test results are available
  on CompuServe, IBM Forums (OEM and OS2ARENA), and other bulletin boards.  If
  you need additional information, please consult your hardware supplier. If
  you are using a specific model, and wish to have it certified, please check
  with your IBM representative or Authorised Dealer.  If it has not been tested
  by IBM, IBM welcomes your help in making contact with the manufacturer to


                        Appendix B.  Hardware requirements and performance  146









  have the machine tested.  IBM wishes to make the range of OS/2 compatibility
  as broad as is possible.

  In practice, OS/2 has been designed to operate correctly with a wide range of
  hardware, and the evidence from many of the users who have registered their
  copies already (see "Broad hardware support" on page 35) indicates that OS/2
  2.0 is already running on a large number of different machines.


  PROCESSOR
  _________

  Because of its 32-bit addressing power, the OS/2 2.0 operating system
  requires a computer that has a system unit equipped with an Intel (or
  compatible) i386 (or higher) microprocessor.  The i386SX microprocessor
  provides adequate performance for those who work in lower-demand application
  environments.  In most environments that demand multiple concurrent
  processes, the i386DX will be adequate for satisfactory performance.  The IBM
  386SLC chip offers high performance from a 386SX design, and along with the
  new 486SLC chip, offers outstanding price-performance for an OS/2 system.
  Systems equipped with the 386SLC represent a viable entry point for a
  multi-tasking OS/2 client. 486SLC-based systems represent an excellent option
  for throughput even of heavy multi-tasking loads.  With prices of 486SX
  systems being reduced, they can be a cost-effective option for client
  workstations.  For computers that will be used as network servers, consider
  the i486 series.  Also consider the 486 as a base processor for those who
  expect to switch frequently and rapidly among a large number of concurrent
  tasks.


  MEMORY SIZE
  ___________

  Memory and disk storage are closely related because of the ability of the
  operating system to manage the allocation of memory resources between real
  physical memory and hard disk space. In general, it is important, when
  calculating memory and disk requirements, to work on the concept of "working
  set," in simple terms the sum of physical memory and swap file size. The
  balance of physical memory installed versus swap space is key to determining
  overall performance - the more working set is gained from swap space rather
  than physical memory, the lower overall system performance.

  4MB is adequate for an entry-level workstation running few tasks.  This
  enables users to run applications or other system utility programs
  concurrently, but it presents a constrained environment (limited memory) for
  some large applications.  In limited memory configurations, performance of
  applications might be reduced, particularly when the operating system is
  loading an application or switching from one application to another or to the
  desktop.  This is as a result of paging, as the code required is loaded to
  memory from disk, and the least recently used memory is paged to disk to make
  room.

  Although more tasks can be accommodated by swapping, performance degradation
  would suggest more memory would be required for more intensive multi-tasking.
  However, an OS/2-only workstation (ie no DOS or Windows applications) with a
  LAN requester can perform acceptably in a 4-5MB configuration.  This


                        Appendix B.  Hardware requirements and performance  147









  indicates that the entry level configurations are suitable for some client
  scenarios.

  To estimate probable working set requirements, estimate 2.5MB for the base
  system without any applications, 0.6MB per concurrent DOS session, and 1MB
  per concurrent WIN-OS/2 session. (The latter two figures assume the default
  amounts of XMS, EMS and DPMI memory installed, which are 2048K, 2048K and 2MB
  respectively - the actual figure may therefore be more, or less, depending on
  the settings chosen.) Thus a system running DOS and Windows applications can
  run satisfactorily in 6MB. A connected workstation (eg LAN requester plus
  3270 emulators) will require around 8MB (though note the low entry point
  above for OS/2-only clients with just a LAN requester).

  The amount of memory installed can be an important factor in performance,
  particularly when swapping between applications. Since working sets of 1-2MB
  or more are being switched, the performance difference between a 4MB and a
  6MB configuration can be substantial; a further increase to 8MB is
  appreciable, but not usually to the same extent. The system tends to handle
  overcommitment on memory well above the 8MB point. Large applications and
  heavy multi-tasking will benefit from 8MB or more.

  Though adding more memory inevitably adds to the cost of the system, it is to
  be remembered that the cost of memory is decreasing. Although OS/2 2.0 will
  tend to require more memory than Windows 3.1 for equivalent software
  configurations, the cost of the memory will often be less than $100 at
  today's memory prices. Many customers are finding that the extra costs for
  memory are compensated by the increased function and stability that OS/2
  offers. Customers hoping to achieve the combination of a 32 bit, stable
  multitasking platform, on an affordable hardware configuration, may consider
  this trade-off between function and system requirements. Furthermore,
  independent analysts have predicted that Windows/NT will require an even
  higher configuration than OS/2 2.0. Gartner Group has told its customers that
  it believes "a mainstream platform for Windows/NT will be a 486DX with 12 to
  16 megabytes of RAM (and up) on the workstation"(24).

  It is to be remembered that in all the above estimates for OS/2 memory
  requirements, results will vary with the configuration of the machine and the
  applications run.  Also, performance is a subjective matter - few people
  agree on what is acceptable relative to the cost of a configuration.
  Customers are recommended to carry out their own benchmarks to assess the
  most suitable configuration for their requirements.









  ---------------

  (24) Gartner Group - Personal Computer Research Notes, P-230-853, July 31,
      1992


                        Appendix B.  Hardware requirements and performance  148









  DISK SPACE
  __________

  The requirements stated in this section are for the operating system, swap
  space, and print spool jobs. They do not consider space required for extra
  applications and data.

  Although the maximum space required for OS/2 installation is 27.6MB plus swap
  space, the minimum installation can be as little as 12.7MB (no DOS or Windows
  support), 14.6MB (DOS, but no Windows support) and 16.9MB (DOS and Windows
  support). These are taken from the cumulative total in the selective install
  option; the total in each of these scenarios can be lower still by
  eliminating selected files after installation. Typical scenarios will require
  less than 20MB and sometimes only 15MB.

  The decision of whether to install certain components can make a large
  difference to the space taken: WIN-OS/2 requires 3MB, Productivity
  applications 1.3MB, tools and utilities 3.6MB and games 0.8MB. The optional
  systems utilities (eg BACKUP, ATTRIB, TREE, RECOVER, SORT), which are often
  removed after installation on both OS/2 and DOS machines, take up 1.2MB.

  The amount required for swap space will vary according to system load.  The
  system allocates a minimal swap file on loading; this defaults to a figure
  based on the physical installed memory (the Information and Planning Guide
  has a table with the detailed figures), for example, a 6MB swap file for a
  system with 4MB of memory, a 4MB swap file for an 8MB machine.  The figure
  can be modified by the user at installation time, or later by modifying the
  SWAPPATH parameter in CONFIG.SYS.  The installation program also allows the
  user to set the location of the SWAPPATH to a different partition.  This can
  be a good idea if the main partition is 30MB or less.

  If you are choosing the type of machines to use as OS/2 machines, remember
  that for any environment that uses virtual memory (swapping to disk to create
  more memory), a fast disk is recommended.  This is an important factor,
  especially for those who expect to switch frequently and rapidly among a
  large number of concurrent tasks.

  Some figures in the industry have criticised the amount of space taken by
  OS/2 2.0, but there is always a cost associated with high function. In fact,
  if you consider what OS/2 offers:

  o   a full DOS environment
  o   a complete Windows environment
  o   a copy of the OS/2 kernel and system, with compatibility for both 16- and
      32-bit applications
  o   a font manager for both OS/2 and Windows (ATM), plus associated fonts
  o   a series of utilities, including a file search tool, a charting package,
      and a personal organiser
  o   an object-oriented graphical shell

  and then compare the likely disk space required to assemble all this function
  under either DOS or Windows (here are some suggested equivalents):

  o   DOS version 5.0
  o   Windows 3.0 or 3.1


                        Appendix B.  Hardware requirements and performance  149









  o   ATM for Windows
  o   (For example) XTree Gold, Micrografx Charisma, and Polaris Packrat
  o   Norton Desktop for Windows

  then it is likely you have taken at least as much space (and probably more)
  than OS/2 2.0. (And that's ignoring the extra monetary cost of acquiring
  these separate third party applications.)

  Furthermore, the differences between Windows 3.1 and OS/2 2.0 in disk space
  are exaggerated.  Although Windows will nearly always take less for the base
  installation, you can see from the above figures that OS/2 2.0 can come
  within 3 or 4MB of the Windows total.  Moreover, the figures quoted by many
  people do not mention the fact that if you choose, during Windows
  installation, to have a permanent swap file (chosen by many Windows users to
  gain acceptable performance), the default is to take 50% of the free space on
  your partition.  This can result in an OVERALL disk usage (system plus
                                         _______
  swapper) of close to OS/2's and sometimes more (dependent on the size of the
  partition).  OS/2 allows detailed and granular control over what is
  installed, so it is at least easy to know what your likely requirements are.

  Furthermore, many newer applications take large amounts of disk space anyway.
  A full installation of Word for Windows version 2.0 takes up to 15Mb of disk
  space. This puts the requirements for the operating system into some
  perspective.

  For those concerned about disk space in general, data compression tools such
  as Stacker, which are available on DOS, are under development for OS/2.  Stac
  Electronics have announced their intention to produce an OS/2 version of
  Stacker, which will be available before the end of 1992.  Other vendors are
  producing OS/2 disk compression tools, which are expected to ship in 1992.


  PERFORMANCE CONSIDERATIONS
  __________________________

  IBM's performance aims for OS/2 2.0 are as follows:

  o   Close to DOS for single tasking DOS applications
  o   Close to Windows 3.x for single tasking Windows applications
  o   Superior to Windows for multi-tasking
  o   Equivalent to or better than OS/2 1.3

  It is very important to understand that achieving these aims is subject to
  the obvious limits on comparing single tasking performance:

  o   DOS applications which are processor-intensive, or require continual
      servicing of interrupts, are always going to perform better in DOS where
      they do not have to share the CPU with other processes. However, despite
      this, there is little performance loss for most DOS applications in a
      single tasking scenario in a full screen DOS session. In a windowed
      session, screen scrolling and update will be affected by runnning the
      application within a window, and the extra virtualisation that needs to
      occur. This will particularly affect applications running in graphics
      mode. If higher performance is required, switch to full screen (the
      Alt-Home toggle allows flexibility: use full screen most of the time for


                        Appendix B.  Hardware requirements and performance  150









      maximum performance, but switch to windowed when interaction with the
      rest of the system (eg clipboard) is needed.  On the other hand, DOS
      applications that are disk and I/O-intensive (such as database programs)
      can perform as much as 200-300% faster, due to the superior caching in
      the OS/2 FAT system, or using HPFS (see "Enhanced FAT" on page 35). As
      most applications are a mix of disk and processor operations, comparisons
      will differ according to the application chosen.

  o   Although for Windows applications, single tasking scenarios may be
      between 5 and 20% slower, this is hardly the best basis on which to
      compare performance (since Windows is supposed to be a multi-tasking
      environment as well).  The differences mainly relate to application load
      time (usually caused by the fact that the Windows application often loads
      into a separate VDM, and then loads its own instance of WIN-OS/2.  (A
      real comparison would be to add the time to load Windows under DOS to the
      load time of the Windows application, and compare it to the total under
      OS/2 2.0).  Running the application in a Full Screen WIN-OS/2 session
      rather than Seamless sometimes yields better performance.

  o   In fact, DOS applications often run faster under OS/2 2.0 than under
      Windows 3.1, particularly disk-intensive applications, due to the
      superior FAT implementation (see above).

  o   When considering multiple application scenarios, OS/2 shows its
      superiority. Even running two applications together can show a big
      difference between OS/2 2.0 and Windows 3.1. Try, for example, formatting
      a diskette from the DOS prompt while running another application under
      Windows 3.1, and compare the operation in OS/2 2.0. In Windows, if the
      format operation is in foreground, it can starve the background process
      of processor time, and if put to background, may scarcely progress at
      all. Under OS/2 2.0 the share of processor load is much more even. This
      is hardly a heavy processing load.  Another illustrative scenario comes
      from the testing of National Software Testing Laboratories (NSTL), an
      independent testing and evaluation organisation:  to load MS Word for
      Windows on a PS/2 Model 57 with nothing else running takes 7.2 seconds
      with Windows 3.1 and 9.3 seconds with OS/2 2.0.  If you do the same load
      with an XCOPY in the background, Windows load time jumps to 41.1 seconds,
      compared with 15.3 seconds for OS/2.  When more than one task is being
      done, OS/2's performance advantage becomes evident.  Because of OS/2's
      superior multi-tasking, it can run background tasks, such as file
      copying, communications, or spreadsheet recalculation, with no visible
      impact on foreground work.  With Windows, the cursor movement can lag
      behind the mouse movement, and displaying of characters can lag behind
      keyboarding to the point where system becomes almost unusable until the
      background job is done.

  Benchmarks from some sources are misleading, and are easily skewed by the
  choice of scenario. The best guide is to run your own, to simulate your own
  usage.







                        Appendix B.  Hardware requirements and performance  151









  TUNING HINTS
  ____________

  When considering overall performance, there are many variables, including how
  balanced a processing load you want to achieve, or whether you want to give
  one process as much CPU as possible. Therefore hints can only be generic, and
  must be considered in the light of specific application requirements.
  Nevertheless, here are a few basic ideas. More are contained in the chapter
  on "Optimising Performance" in the OS/2 2.0 Installation and Planning Guide.

  o   To conserve OS/2 system resources and reduce memory requirements:

      -   close applications when they are not going to be used again.

      -   close folders if they are not needed.

      -   move commonly used functions out of folders and to the desktop, and
          close the folder that contained the object.

      -   However, be careful not to overload the desktop - keep only as many
          objects as you really need

  o   If certain applications are always used, put them in the Startup folder.
      This will increase boot time but have everything ready to run

  o   Pre-initialising the SWAPPER.DAT file at boot time will help if a certain
      group of applications are always loaded. The setting can be made in the
      SWAPPATH parameter in CONFIG.SYS. You should be careful to observe swap
      growth beforehand, and not set the initial swapper too large, lest you
      have a detrimental effect.

  o   The cache sizes for FAT and HPFS can improve performance if increased.
      Experimentation is the best way to discover the right results for your
      configuration

  o   Set the system path statements (PATH and LIBPATH especially) based on
      usage patterns, so that applications are quicker to load.

  o   Turn off public clipboard and DDE if sharing between Windows and OS/2
      applications is not required

  o   Load Windows programs into a single WIN-OS/2 session, except those that
      require greater protection. Ensure that the DPMI_MEMORY_LIMIT is set
      appropriately

  o   If XMS, EMS and DPMI memory are not required (as is the case for many DOS
      applications), set them to zero in DOS Settings

  o   DOS Settings parameters can have substantial effect on relative
      performance of individual applications, and on their effect on others
      when running in the background.  See "DOS Settings" on page 47  and
      Version 2.0 Volume 2:  DOS and Windows Environment (GG24-3731-00).
      _________________________________________________________________
      Remember that many applications require little attention when in
      background, as they are usually waiting for input, and can therefore
      safely be given little CPU.


                        Appendix B.  Hardware requirements and performance  152









  APPENDIX C.  FURTHER REFERENCE MATERIALS
  ________________________________________





  Here are some useful publications on OS/2 2.0 that are either already
  available or about to be published:


  IBM ITSC OS/2 2.0 TECHNICAL COMPENDIUM ("RED BOOKS")

  This is a detailed and comprehensive description of OS/2 2.0 in five volumes,
  published by the IBM International Technical Support Center in Boca Raton,
  Florida (the same location as the development laboratory for OS/2 2.0).  It
  is essential reading for anyone needing to understand OS/2 2.0 in depth.
  This guide has borrowed much material from the Red Books.  They can be
  ordered together, as OS/2 Technical Compendium  (GBOF-2254), or separately,
                       _________________________
  as follows:

      Volume 1: Control Program (GG24-3730-00)
      Volume 2: DOS and Windows Environment (GG24-3731-00)
      Volume 3: Presentation Manager (GG24-3732-00).
      Volume 4: Application Development (GG24-3774-00)
      Volume 5: Print Subsystem (GG24-3775-00)

  Another important Red Book is OS/2 Remote Installation and Maintenance
                                ________________________________________
  (GG24-3780-00). This contains practical instructions on how to install OS/2
  across a LAN, discussing the various approaches.  It will be supplemented, by
  the end of 1992, by two other books:

      Automated CID Installation of OS/2 V2.0 (GG24-3783)
      Automated CID Install of ES 1.0, NTS, LS (GG24-3781)

  Other red books may be of interest. Here is a selection of some of the ones
  covering OS/2 and its extensions:


     GG24-3875-00 LAN SERVER 2.0 NEW FUNCTIONS AND FEATURES
     GG24-3890-00 NETWARE FROM IBM: NETWORK PROTOCOLS & STANDARDS
     GG24-3794-00 EXTENDED SERVICES FOR OS/2 DATABASE MGR NEW FEATURES
     GG24-3781-00 AUTOMATED INSTALL FOR CID ENABLED EXT SERVICES...
     GG24-3580-01 DEVELOPING A CUA WORKPLACE APPLICATION
     ZZ81-0295-00 EVALUATION OF OS/2 APPLICATION DEVELOPMENT TOOLS
     GG24-3641-01 PRACTICAL INTRO TO OBJECT-ORIENTED PROGRAMMING
     GG24-3822-00 MIGRATING FROM A DOS/WINDOWS ENVIRONMENT TO OS/2
     GG24-3749-00 MULTIMEDIA APPLICATION ENABLERS & PS/2 ULTIMEDIA
     GG24-3653-01 IBM PERSONAL SYSTEM/2 MULTIMEDIA FUNDAMENTALS


  Copies can be ordered through IBM via the publication numbers in parentheses.





                                  Appendix C.  Further reference materials  153









  THE OS/2 DEVELOPER (PREVIOUSLY PERSONAL SYSTEMS DEVELOPER)

  This is a quarterly publication from IBM's US Developer Assistance Program
  (DAP). Subscriptions can be made direct with the publishers in the US.
  Contact your local IBM office for details. Its publication number is
  G362-0001.

  The OS/2 Developer contains many articles on a wide variety of OS/2 topics,
  __________________
  and there have been many articles on OS/2 2.0, and on the system extensions
  like Database Manager and LAN Server, as well as material on OS/2
  applications and development tools.


  PERSONAL SYSTEMS TECHNICAL SOLUTIONS

  This publication comes from the Personal Systems Competency Center in Dallas,
  USA. It covers both hardware and software, and contains many useful articles
  on OS/2 2.0. It is published quarterly. The publication number is different
  for each issue, but all are of the type G325-50xx-00, where xx is a two digit
  number. Issues 5012, 5014, 5015, 5016 and 5017 all contain useful articles on
  OS/2 2.0


  OS/2 WHITE PAPERS

  These papers were first issued by IBM in April 1991, and a second set
  appeared in January 1992.  They are an excellent guide to IBM's OS/2 strategy
  and future product directions.  They include:

  o   OS/2 2.0 Considerations: an excellent guide to OS/2 2.0's features,
      _______________________
      market positioning, application migration, and future directions
      (reprinted in the Personal Systems Developer Summer 1991 issue). This
                        __________________________
      guide makes use of some of the material in this paper.

  o   OS/2 LAN Server: a summary of current LAN offerings and future
      _______________
      directions.

  o   OS/2 System Performance Management: an overview of current OS/2 and LAN
      __________________________________
      Server parameters and tuning facilities as well as future directions.

  o   OS/2 System Management: a good overview of current IBM SAA SystemView
      ______________________
      facilities in OS/2 environments and future directions.

  o   OS/2 Database Manager Highlights and Directions: an overview of current
      _______________________________________________
      database offerings and future directions.

  o   OS/2 Communications Manager Highlights and Direction: a detailed overview
      ____________________________________________________
      of Communications Manager function.

  o   OS/2 Performance Considerations: a guide to some of the issues involved
      _______________________________
      in tuning performance for OS/2 2.0





                                  Appendix C.  Further reference materials  154









  o   OS/2 2.0 Windows environment: an explanation of how the WIN-OS/2
      ____________________________
      environment is architected, and what benefits the environment has versus
      Windows 3.x

  o   OS/2 LAN Server Positioning: a guide to the relative strengths and
      ___________________________
      weaknesses of LAN Server versus Microsoft LAN Manager 2.0 and Novell
      NetWare 3.11

  o   OS/2 LAN Server Migration: how to move both clients and servers to OS/2
      _________________________
      LAN Server 2.0 from various previous IBM LAN products.

  o   OS/2: The Bigger Picture: an overview of IBM's OS/2 strategy and future
      ________________________
      directions

  o   Upgrading to OS/2 2.0: a review of the various options in upgrading from
      _____________________
      DOS, Windows or OS/2 1.3 to OS/2 2.0, and what is required for each
      migration path

  o   Getting Started with the OS/2 Workplace Shell: a brief introduction to
      _____________________________________________
      the capabilities of the Workplace Shell. This is worth a read before
      starting on the shell for the first time

  o   Client-Server Computing: an overview of the various IBM products that
      _______________________
      address the client server environment, including Extended Services for
      OS/2 and OS/2 LAN Server

  o   OS/2 2.0: the Development Platform of Choice: reasons why OS/2 2.0 is an
      ____________________________________________
      excellent target for developers, including a review of the range of
      various development tools available

  The White Papers can be obtained from your IBM representative. They are on
  the IBM MKTTOOLS disk as WPAPERS and WPAPERS2 packages. They can be copied
  and distributed to anyone who wants to understand about OS/2.


  IBM OS/2 INFORMATION

  IBM has published a variety of brochures and information about OS/2.  Here is
  a selection, with the publication numbers.  These can be obtained from your
  dealer or IBM representative. Please note the following list is specific to
  those issued in Europe. Local publication numbers may vary, and some
  brochures may not be available in all countries. Contact your local IBM
  representative for a list relating to your country.













                                  Appendix C.  Further reference materials  155









  +---------------------------------------------------------------------------+
  | Table 11. OS/2 product information                                        |
  +-----------+--------------------------------------+------------+-----------+
  +-----------+--------------------------------------+------------+-----------+
  |           | IBM OS/2 V2.0 Product Information    | G 511      |           |
  |           |                                      | 1545-01    |           |
  +-----------+--------------------------------------+------------+-----------+
  |           | Extended Services for OS/2 Spec      | G 511 1546 |           |
  |           | sheet                                |            |           |
  +-----------+--------------------------------------+------------+-----------+
  |           | OS/2 Local Area Network Server 2.0   | G 511 1554 |           |
  |           | Spec sheet                           |            |           |
  +-----------+--------------------------------------+------------+-----------+
  |           | OS/2 2.0 Decision Maker's Brochure   | G 511 1548 |           |
  +-----------+--------------------------------------+------------+-----------+
  |           | The OS/2 partnership                 | G 511 1738 |           |
  +-----------+--------------------------------------+------------+-----------+
  |           | OS/2 - The Customer's Choice         | G 511 1739 |           |
  +-----------+--------------------------------------+------------+-----------+
  |           | The New OS/2: Wouldn't it be great   | G U20 2020 |           |
  |           | if...                                |            |           |
  +-----------+--------------------------------------+------------+-----------+
  +-----------+--------------------------------------+------------+-----------+


  IBM OS/2 APPLICATIONS SOLUTIONS DIRECTORY

  This is a guide, published in the US, listing most of the applications
  available for OS/2 today.  There are thousands to choose from!  The main
  guide is orderable through IBM as G362-0002-02, and there is a supplement of
  32-bit applications (G362-0029) which are either in development or already
  shipping.


  CUA VISION MATERIALS

  This is a video and a companion booklet outlining IBM's vision for the way
  user interfaces will develop. The booklet includes a demonstration diskette
  with a graphical demonstration of the principles discussed. Both the video
  and the diskette offer a fascinating insight into the principles behind the
  OS/2 Workplace Shell, which embodies the first stages of the vision, and into
  where the Workplace Shell may be headed in future.

  The video is orderable as GV26-1004-00 (VHS PAL) or GV26-1003-00 (VHS NTSC)
  and the booklet as G242-0215-00.











                                  Appendix C.  Further reference materials  156









  OS/2 IN THE CORPORATE ENVIRONMENT

  This is a short book published by Intelligent Environments Ltd, one of the
  leading vendors of OS/2 developement tools.  It is an independent view of
  where OS/2 fits in the corporate computing world, including specific examples
  of where customers are implementing client-server solutions using OS/2 today.
  Contact Intelligent Environments for details. They are based at:

       Intelligent Environments Europe Ltd.,     Intelligent Environments Inc.
       Crystal house                             2 Highwood Drive
       PO Box 51                                 Tewkesbury
       Sunbury-on-Thames                         MA 01876
       Middlesex                                 USA
       TW16 7UL
       United Kingdom

    Tel: +44 (0)932 772266                       Tel: +1 508 640 1080
    Fax: +44 (0)932 771499                       Fax: +1 508 640 1090


  OS/2 NOTEBOOK

  This is a book from Microsoft Press, edited by Dick Conklin, who is the
  editor of the Personal Systems Developer, containing the best of articles
                __________________________
  from that publication.  It includes a wide range of articles on OS/2 2.0 and
  its extensions like Extended Services and OS/2 LAN Server. Its ISBN number is
  1-55615-316-3.


  THE DESIGN OF OS/2

  This book is co-written by Mike Kogan, one of the OS/2 2.0 System Architects,
  and H.M. Deitel. It is published by Addison-Wesley (ISBN 0-201-54889-5). The
  following paragraph is from the publisher's abstract:

      The primary goal of The Design Of OS/2 is to provide insights into
                          __________________
      the design decisions and philosophy of the OS/2 operating system.  It
      discusses the motivation, architecture, and realization of OS/2 in
      the personal computing marketplace.  The design of the major
      components of OS/2 are described in terms of their API architecture,
      internal data structures, and algorithms.  Each area focuses on
      bridging operating systems theory to the realization of the design
      and implementation of OS/2.  Where it is significant, an objective
      comparison of the technical aspects of OS/2 and other operating
      environments is provided.  A key thrust is to describe the evolution
      of personal computer operating systems from DOS through 16-bit OS/2
      and 32-bit OS/2.









                                  Appendix C.  Further reference materials  157









  OTHER OS/2 BOOKS

  There are a variety of books published on OS/2, including many new titles for
  OS/2 2.0. Here are a few of the titles:

  o   Using OS/2 by Barry Nance and Greg Chicares, from Que books (ISBN
      __________
      0-88022-863-6)
  o   Now that I have OS/2 2.0 on my Desk - What do I do next? by Stephen
      ________________________________________________________
      Levenson and Eli Hertz, published by Van Nostrand Reinhold (ISBN
      0-442-01227-6)
  o   Inside OS/2 2.0, by Mark Minasi, John W. Little, Marlene Semple and Bill
      _______________
      Camarda, from New Riders Publishing (ISBN 1-56205-045-1)
  o   OS/2 2.0 Quick Reference, by Barry Nance, from Que books (ISBN
      ________________________
      1-56529-068-2)
  o   Stepping Up To OS/2 2.0, by Robert Albrecht and Michael Plura, from
      _______________________
      Abacus (ISBN 1-55755-160-X)
  o   OS/2 2.0 Complete, by Peter Franken, from Abacus (ISBN 1-55755-157-X)
      _________________
  o   Integrating Applications with OS/2 2.0, by William Zach, from Van
      ______________________________________
      Nostrand Reinhold (ISBN 0-44201-234-9)
  o   Client-Server Programming with OS/2 2.0 by Bob Orfali and Dan Harkey,
      _______________________________________
      from Van Nostrand Reinhold (ISBN 0 442-01219-5)
  o   Writing OS/2 Device Drivers in C, by Steve Mastrianni, from Van Nostrand
      ________________________________
      Reinhold (ISBN 0 442-01141-5)
  o   OS/2 Presentation Manager GPI, by Graham Winn, from Van Nostrand Reinhold
      _____________________________
      (ISBN 0-442-00468-0)
  o   Learning to Program OS/2 2.0 PM by Example, by Stephen A.  Knight, from
      __________________________________________
      Van Nostrand Reinhold (ISBN 0-442-01292-6)
  o   OS/2 Application Development Tools by Brian Proffit, from Premier
      __________________________________
      Publishing (ISBN 1-881899-00-4)
  o   Converting Applications to OS/2, by David Moskowitz et al, from Brady
      _______________________________
      Press (ISBN 0-13-171943-2)
  o   OS/2 2.0: The Usable, Portable Guide, by John Haber and Herbert R. Haber,
      ____________________________________
      from Usable Portable Publications Inc., (ISBN 0-945965-27-4)

  At the time of writing, four other books were about to made available. ISBN
  numbers were not obtainable, but IBM order numbers are supplied here:


    G362-0014   THE OS/2 2.0 USER'S GUIDE FOR THE WORKPLACE SHELL by Maria Tyne
                from Computer Information Associates,

    G362-0010   THE COBOL PRESENTATION MANAGER PROGRAMMING GUIDE by David M.Dill
                Published by Van Nostrand Reinhold

    G362-0012   COMPREHENSIVE PERFORMANCE FOR THE OS/2 2.0 DATABASE MANAGER by
                Bruce Tate, Tim Malkemus, and Terry Gray (IBM, Austin, TX).
                Published by Van Nostrand Reinhold

    G362-0013   C PROGRAMMING IN THE OS/2 2.0 ENVIRONMENT by V. Mitra Gopaul.
                Published by Van Nostrand Reinhold


  The book by Barry Nance sold its first print run in a few weeks, and moved
  into the top ten computer titles.  Even Steve Mastrianni's book, which


                                  Appendix C.  Further reference materials  158









  addresses a more specific audience, is already into its first reprint.  In
  October, it was announced that the Barnes and Noble computer book bestseller
  list contained three of the above OS/2 books, for 17 consecutive weeks.  The
  books were the ones by Orfali and Harkey, Minasi et al., and Levenson and
  Hertz.  Sales of books are often regarded as one of the signs of a
  flourishing platform (witness the sales in books about Lotus 1-2-3,
  WordPerfect, and Windows).  This indicator also shows the amount of interest
  there is now in OS/2.

  In fact, OS/2 books are not only appearing in English. An indicator of the
  success of OS/2 is that books in national languages are appearing, a
  testimony not only to the strength of OS/2 in the countries involved, but
  also of its widespread appeal (books in English would usually be considered
  to reach a wider market, especially among computer experts, but OS/2's appeal
  to end users means a viable market at which to target books in the native
  language.)  Here is a list of some OS/2 books written and published in
  Germany:


    "OS/2 2.0, Grundlagen und Praxis"
             von Hans Fremuth (mit Vorwort von H. Kahl) im tewi Verlag
             (in deutscher Sprache)
             ISBN 3-89362-212-8

    "OS/2 2.0, Das Kompendium"
             von Olaf Koch, Norbert Meder und Peter Scheuber (mit Beitrugen
             von Whittle und Pignatelli) im Verlag Markt & Technik
             (in deutscher Sprache)
             ISBN 3-87791-302-2

    "OS/2 - 2.0, Der Data Becker Fuhrer"
             im Verlag DATA BECKER
             (in deutscher Sprache)
             ISBN 3-89011-637-X

    "OS/2 Version 2 deutsch, Das Data Becker Handbuch"
             von Peter Franken im Verlag DATA BECKER
             (in deutscher Sprache)
             ISBN 3-89011-505-5

    "Von DOS und Windows nach OS/2 2.0, Tips & Tricks"
             von Robert M.  Albrecht und Michael Plura im Verlag DATA BECKER
             (in deutscher Sprache)
             ISBN 3-89011-543-8












                                  Appendix C.  Further reference materials  159










    "Schnell Anleitung OS/2 Version 2 deutsch"
             im Verlag DATA BECKER
             (in deutscher Sprache)
             ISBN 3-89011-658-2

    "QuickStart OS/2 2.0, Der Einsteig in 20 Schritten"
             von Harald Babiel im SYBEX Verlag
             (in deutscher Sprache)
             ISBN 3-88745-859-1



  OS/2 MONTHLY

  This is an independent magazine dedicated to news, views and technical
  information about OS/2. It is published by:

      JDS Publishing
      PO Box 4351
      Highland Park
      NJ 08904
      USA

      Tel: +1-908-247-0952


  MOVING TO THE WORKPLACE SHELL VIDEO

  This video (part number 41G5097) guides the new user of OS/2 2.0 through the
  Workplace Shell.  It is meant to be a light and enjoyable introduction to the
  capabilities of the shell, to encourage you to explore for yourself.


  OS/2 FREQUENTLY ASKED QUESTIONS (FAQ)

  This document, maintained by Timothy F. Sipples (sip1@ellis.uchicago.edu), is
  an excellent basic reference to many common questions and answers about OS/2.
  It is available in electronic form on most of the bulletin board systems
  mentioned in Appendix D, "OS/2 Bulletin Board Systems" on page 161.  It is
  just one example of many of the excellent reference materials and tools made
  available by OS/2 enthusiasts around the world, on bulletin board systems.


  OS/2 2.0 INFORMATION AND PLANNING GUIDE

  This publication (G326-0160-00) gives an overview of OS/2 2.0 function, as
  well as assistance in estimating memory and disk space requirements.  It is
  recommended for anyone planning to install OS/2 2.0 on a number of machines.
  Guides are also available for Extended Services for OS/2 (G326-0161-00) and
  OS/2 LAN Server (G326-0162-00).





                                  Appendix C.  Further reference materials  160









  APPENDIX D.  OS/2 BULLETIN BOARD SYSTEMS
  ________________________________________





  Bulletin board systems (BBS) are often a good way of getting information
  about OS/2, whether technical support, news or useful utilities.  In many
  countries, IBM runs a BBS as a means of customer support; but there are also
  many other BBSs run by OS/2 enthusiasts. Here is a list of some of the BBSs:


  IBM BULLETIN BOARDS
  ___________________

  Not all countries operate a BBS. Here is a list of some of the countries that
  do, with the connection details:

     IBM Sweden

        Phone: 46+8-7932200 Dealers       46+8-7934222 Customers
        Lines: 10 Lines
        Speed: 1200-14400 Connection rate (V.32 and MNP)
               10 USR DS 14400 modems

     ********************************************************

     IBM Austria

     IBM Bulletin Board System Austria:

        Phone: 043-222-21145-6600
        Speed: 9600
        Lines: 2

     ********************************************************

     IBM Germany

     IBM Bulletin Board System Germany

        Fidonet : 2:241/7411.0@FIDONET
        Phone   : 049-711-785-7777

     ********************************************************

     IBM Canada

     Canadian Sofware Support Center, specializing in OS/2 and OS/2 support.

      Vancouver - 604-664-6464             Montreal  - 514-938-3122
      Toronto   - 416-946-4244 or 4255

     ********************************************************



                                  Appendix D.  OS/2 Bulletin Board Systems  161









     IBM Switzerland

     Name:  IBM-BBS HITLINE Communications
     Phone: 0041 56 321 800 (16 lines/14000 Baud)
     ISDN:  0041 56 320 589 (1 line/128kBits/s)

     *********************************************************

     IBM Denmark

       Name: IBM OS/2 BBS
       Phone: + 45 42 88 72 22
       Lines: 3 lines
       Speed: 9600 (V32 and MNP)
       Location: Lyngby, Denmark

     ********************************************************

     IBM Belgium

     International BBS name :    The IBM Belgium BBS
     In country BBS name    :    End-User Node.
     Location: IBM Belgium s.a.  J.F.Kennedylaan 2, B-1831 Diegem.
     Modem number :              32-2-725.60.10
                                 8 lines, up to 9600 bps, 8,n,1, V32  24/24
                                 No MNP4 no MNP4.

     ********************************************************

     IBM USA

     IBM National Support Center BBS, located in Atlanta GA.

     1-404-835-6600 =>  First available modem
     1-404-835-6296 =>  First available Hayes Ultra
     1-404-835-5300 =>  First available USR V.32bis with ASL
     1-404-835-5578 =>  First available IBM 7855 model 10

     ********************************************************

     IBM Finland

     IBM OS/2 Bulletin Board System

           Phone: +358-0-480 422
           Speed: 9600, 8, n, 1

     ********************************************************








                                  Appendix D.  OS/2 Bulletin Board Systems  162









     IBM Spain

     Bulletin Board System IBM OS/2

      Phone: 34 1 397 55 80      34 1 397 58 73
             34 1 397 55 81      34 1 397 59 63
      Speed: 9600, 8, n, 1

     ********************************************************

     IBM UK

     Phone: +44-(0)256-336655 (>12000 - V.32 MNP-5)
     Lines: 15

     ********************************************************


     IBM Israel

     Phone: 049-711-785-7777
     Additional Info: 2:241/7411.0@FIDONET

     ********************************************************


     IBM Netherlands

     Phone: +31 (0)20-6974757
     Additional Info: Lines 8 Courier Dual Standard 14K4

     ********************************************************


     IBM Norway

     Phone: 47-2-999450

     ********************************************************


     ISM South Africa

     Phone: 27.11.224.2000
     Info - Lines: 47 55 81
            Speed: 9600,8,n,1 (V32 and MNP)

     ********************************************************


  OTHER BBSS
  __________

  The following information was provided by the US OS/2 Support Line:



                                  Appendix D.  OS/2 Bulletin Board Systems  163










    O S / 2   B B S ' s   A C R O S S   T H E   W O R L D
    -----------------------------------------------------

    This list is a compilation of OS/2 BBS's across the world.  If you wish to
    make an addition or correction to this list, please send the information to
    the following (as netmail or logged onto the BBS itself):

    BBS      : LiveNet, 1:170/110@fidonet, (918) 481-5715
    Location : Tulsa, OK, USA
    Sysop    : Dave Fisher

    This list is distributed to many FidoNet nodes found in this OS/2 BBS listing
    via the Fernwood distribution system.  All BBS's listed are in alphabetical
    order by country, and then by BBS name.  Unless otherwise noted, all node
    addresses are FidoNet.

    A current list can always be file-requested from LiveNet as 'OS2WORLD'.

                                     Enjoy!


    Last Update: May 14, 1992

    Legend:  * : OS/2 is primary interest of board
             F : Board is a FidoNet node
             % : Entry is new or changed as of last list
            -A : HST, MNP modem
            -B : HST, MNP V.32 (and/or V.42) modem
            -C : HST, MNP V.32bis/V.42bis modem
            -D : MNP V.32/V.42bis modem
            -E : MNP V.32 modem

    USA BBS's show states, International BBS's show three letter country codes.

    -----------------------------------------------------------------------------

    Graham Stair          3M Australia            +61-2-498-9184   Aus 9600-E * F
    Ian Watson            OZ-Share OS/2 BBS       +61-7-398-3759   Aus 9600-E * F
    Alan Salmon           PC User's Group         +61-6-259-1244   Aus 2400
    Felix Tsang           Programmer's BBS        +61-2-875-1296   Aus 9600-E * F
    Bill Bolton           Software Tools Mail Exc +61-2-449-2618   Aus 9600-E * F
                                                  +61-2-449-9477   Aus 9600-E * F
    John Della-Torre      The Poet's Dilemma      +61-2-804-6412   Aus 2400-E
    Norbert Fuerst        The Styrian OS/2 Jumbo  +43-316-673237   Aus 9600-A * F
    Danny Bruggeman       Hellfire                +32-2-7515203    Bel 9600-D * F
    Bas Heijermans        Moving Sound OS/2 BBS   +32-3-3850748    Bel 9600-D * F
    Benoit HUON           Os/2 MANiA BELGIUM      +32-2-3872021    Bel 9600-D * F
    Tony Bearman          Bear Garden             (604) 533-1867   Can 9600-C * F
    Chris Ange-Schultz    Home Front BBS          (514) 769-5174   Can 2400   * F
    Peter Fitzsimmons     RT Labs                 (416) 867-9663   Can 9600-B * F
    Gerry Rozema          The Idle Task           (604) 273-5588   Can 14.4-B * F
    Jerry Stevens         The Locutory            (613) 722-0489   Can 9600-D * F
    Alec Herrmann         The Nibble's Roost      (604) 244-8009   Can 14.4-B * F


                                  Appendix D.  OS/2 Bulletin Board Systems  164









    Kevin Lowey           University of Saskatche (306) 966-4857   Can 14.4-C * F
    Jorgen Ollgaard       Josti-BBS               +45-47-380120    Den 9600-C * F
                                                  +45-47-380524    Den 9600-C * F
    Rene Carlsen          OS/2 Task & FrontDoor H +45-98451070     Den 9600-A * F
    Emmanuel Sandorfi     Os/2 MANiA (Help Maximu +33-164-090460   Fra 9600-C * F
    Romeo Bernreuther     CCWN-BOX                +49-7151-68434   Ger 14.4-B * F
    Peter Plischka        IBM Mailbox             +49-201-210744   Ger 9600-C * F
                                                  +49-201-295181   Ger 9600-B * F
    Juergen Berger        JERRY'S OS/2-BBS        +49-6134-26563   Ger 2400-A * F %
    Oliver Lass           LRZ-System              +49-228-331214   Ger 2400   *
                                                  +49-228-334372   Ger 9600-D *
    Oliver Schwabedissen  MoonFlower              +49-6145-31602   Ger 9600-C * F
    Richard Clement       OS/2 Express            +49-6183-74270   Ger 9600-D * F
    Harald Kipp           OS/2 Point              +49-234-9279222  Ger 9600-B * F
    Michael Breukel       PC Softbox OS/2         +49-6196-27799   Ger 2400   * F
    Markus Noller         Second Source           +49-7191-56267   Ger 2400   * F
    Kalle Braun           Terrania City           +49-228-317752   Ger 14.4-B   F
    Thomas Tegel          The CAT                 +49-7971-72446   Ger 14.4-D * F %
    Karlheinz Kissel      The_File_Store          +49-6106-22266   Ger 9600-C * F
    Chris Leuder          Zaphod BBS              +49-228-262894   Ger 14.4-B   F
                                                  +49-228-229147   Ger 2400     F
    Joop Mellaart         INFOBOARD               +31-4752-6200    Hol 2400   * F
    Marcel Stikkelman     PC-Square               +31-79-424107    Hol 14.4-C * F
    Pasquale Cantiello    FastForward BBS         +39-823-812099   Ita 14.4-C * F
    Luigi Ravina          Italy Network           +39-11-8180069   Ita 9600-A * F
    Roberto Sonzogni      Runnin' with The Devil  +39-363-302798   Ita 9600-C * F
    Dave Jones            The TJD Support BBS     +31-1720-38558   Net 9600-A *
    Terje Slydahl         PerlePorten             +47-83-33003     Nor 9600-C * F
                                                  +47-83-33003     Nor 2400   * F
    Alex Wyss             Gepard's Oracle Zuerich +41-1-3637037    Swi 14.4-C * F
    Michael Buenter       MICS OS/2 Paradise      +41-41-538607    Swi 9600-C * F
    Ernesto Hagmann       PC-Info                 +41-61-9412204   Swi 9600-C * F
    Mike Gove             MonuSci CBCS            +44-454-633197   UK  9600-C * F
    Phil Tuck             The TJD Support BBS     +44-535-665345   UK  9600-C *
                                                  +44-535-665345   UK  9600-A *
    Patrick O'Riva        AsmLang and OS/2        (408) 259-2223   CA  14.4-B * F
    Steve Lesner          Bullet BBS              (203) 329-2972   CT  9600-B * F %
                                                  (203) 322-4135   CT  9600-B * F %
    Jim Dailey            Cajon Zone OS/2         (619) 588-6634   CA  9600-D * F
    Bob Germer            Capital City BBS        (609) 386-1989   NJ  14.4-C * F
    Dennis Conley         Communitel OS/2 BBS     (702) 399-0486   NV  14.4-C * F
    Emmitt Dove           Fernwood                (203) 483-0348   CT  9600-C * F
                                                  (203) 481-7934   CT  14.4-B * F
    Bill Cook             GREATER CHICAGO Online! (708) 895-4042   IL  9600   * F
    Bogie Bugsalewicz     I CAN! BBS              (312) 736-7434   IL  9600-C   F
                                                  (312) 736-7388   IL  2400     F
    n/a                   IBM National Support Ce (404) 835-6600   GA  2400
                                                  (404) 835-5300   GA  9600-C
    Ed June               Information Overload    (404) 471-1549   GA  9600-A * F
    James Chance          Lee's Lounge            (410) 721-9452   MD  14.4-B * F
    Robert McA            Live-Wire               (214) 307-8119   TX  9600-B   F
    Dave Fisher           LiveNet                 (918) 481-5715   OK  16.8-C * F
    Chuck Gilmore         Magnum BBS              (805) 582-9306   CA  9600-C *
    Joe Salemi            Max's Doghouse          (703) 548-7849   VA  2400-A * F


                                  Appendix D.  OS/2 Bulletin Board Systems  165









    Paul Breedlove        Multi-Net               (503) 883-8197   OR  9600-C *
    Ron Bemis             Nibbles & Bytes         (214) 231-3841   TX  9600-A   F
    Craig Swanson         OS/2 Connection         (619) 558-9475   CA  14.4-D * F
    Pete Norloff          OS/2 Shareware          (703) 385-4325   VA  9600-C * F
                                                  (703) 385-0931   VA  9600-C * F
    Brady Flowers         Oberon Software         (507) 388-1154   MN  14.4-C *
    Unknown               Omega-Point BBS         (714) 963-8517   CA  2400
    Paul Beverly          PMSC OnLine Resource    (803) 735-6101   SC  2400   * F
    Louis F. Ursini       Quantum Leap            (215) 967-9018   PA  2400
    Ken Rucker            RucK's Place/2          (817) 485-8042   TX  14.4-C * F
    Randy Edwards         Socialism OnLine!       (719) 392-7781   CO  9600-B * F
    Ed Barboni            System-2 RBBS           (215) 631-0685   PA  9600-D   F
                                                  (215) 584-1413   PA  9600-D   F
    Mark Lehrer           The Akron Anomoly       (216) 688-6383   OH  9600-C   F
    Bill Schnell          The Asylum BBS          (918) 832-1462   OK  9600-B * F
    Felix Tang            The Excelsior           (203) 466-1826   CT  14.4-C * F
                                                  (203) 466-1892   CT  2400   * F
    Bob Hatton            The Monster BBS         (908) 382-5671   NJ  9600-A *
    Woody Sturges         The OS/2 Woodmeister    (314) 446-0016   MO  14.4-C * F
    Troy Kraser           The Other World         (904) 893-2404   FL  9600-D   F
    Mark Wheeler          The SandDollar          (407) 784-4507   FL  9600-A * F
    Art Fellner           The Soldier's Bored     (713) 437-2859   TX  9600-C * F
    Bill Andrus           The Systems Exchange    (703) 323-7654   VA  9600-A * F
    Unknown               WSI BBS                 (901) 386-4712   TN  2400

    ------------------------------------------------------------------------------






























                                  Appendix D.  OS/2 Bulletin Board Systems  166








                         IBM





                         Printed in U.S.A.

























































'KP' WOULD EXCEED MAXIMUM SIZE.
'.EDFETABL' LINE 140: .ta table off
'.EDFETABL' WAS IMBEDDED AT LINE 6995 OF 'OS2TECH'
TABLE SPLIT ON PAGE 138.
'.EDFETABL' WAS IMBEDDED AT LINE 6995 OF 'OS2TECH'
STARTING PASS 2 OF 2.
'KP' WOULD EXCEED MAXIMUM SIZE.
'.EDFETABL' LINE 140: .ta table off
'.EDFETABL' WAS IMBEDDED AT LINE 6995 OF 'OS2TECH'
TABLE SPLIT ON PAGE 138.
'.EDFETABL' WAS IMBEDDED AT LINE 6995 OF 'OS2TECH'
TEXT EXCEEDS RIGHT PAGE BOUNDARY ON PAGE 138.
TEXT EXCEEDS RIGHT PAGE BOUNDARY ON PAGE 139.
TEXT EXCEEDS RIGHT PAGE BOUNDARY ON PAGE 165.
TEXT EXCEEDS RIGHT PAGE BOUNDARY ON PAGE 166.
















































