OS/2 2.0 INFORMATION AND PLANNING GUIDE

Document Number G326-0160-00

NOTE

Before using this information and the product it supports, be sure to read the general information under ”Notices”.

FIRST EDITION (APRIL 1992)

THE FOLLOWING PARAGRAPH DOES NOT APPLY TO THE UNITED KING-DOM OR ANY COUNTRY WHERE SUCH PROVISIONS ARE INCONSISTENT WITH LOCAL LAW: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION ”AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EX-PRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAR-RANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time.

It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country.

Requests for technical information about IBM products should be made to your IBM Authorized Dealer or your IBM Marketing Representative.

(C) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1992. ALL RIGHTS RESERVED. Note to U.S. Government Users – Documentation related to restricted rights – Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.

0.1 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 product, program or service is not intended to state or imply that only IBM’s product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any of IBM’s intellectual property rights or other legally protectible rights may be used instead of the IBM product, program, or service. Evaluation and verification of operation in conjunction with other products, programs, or services, except those expressly designated by IBM, are the user’s responsibility.

IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Commercial Relations, IBM Corporation, Purchase, NY 10577.

0.2 TRADEMARKS AND SERVICE MARKS

Terms denoted by a single asterisk in this file (*) are trademarks of the IBM Corporation in the United States and/or other countries. These terms include:

AIX Common User Access
CUA  IBM
IBMLINK  Micro Channel
OS/2  Personal System/2
Power Platform Presentation Manager
Proprinter  Quickwriter
Quietwriter  SAA
Systems Application Architecture  SystemXtra
The Integrating Platform  Ultimedia
WIN-OS/2  Workplace Shell

XGA

Terms denoted by a double asterisk in this file (**) are trademarks of other companies. Other trademarks appearing in this file are owned by their respective companies.

Microsoft and Windows are trademarks of Microsoft Corporation.

IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESSED OR IMPLIED, IN-CLUDING WITHOUT LIMITATION, WARRANTIES OF FITNESS AND MERCHANTABIL-ITY WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISH-ING THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY RELATED PATENTS OR COPYRIGHTS.

Copyright IBM Corporation, 1992, all rights reserved.

Contents

0.1 NOTICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i 0.2 TRADEMARKS AND SERVICE MARKS . . . . . . . . . . . . . . . . . . . ii 0.3 About this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

0.3.1 Who Should Read This Book . . . . . . . . . . . . . . . . . . . . . . 1 0.3.2 How This Book Is Structured . . . . . . . . . . . . . . . . . . . . . . 1

I Information 3

1 Highlights Of OS/2 2.0 4 1.1 Workplace Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 The Intergrating Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Concurrent Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 Inter-Application Communication . . . . . . . . . . . . . . . . . . . . 5 1.2.3 Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.4 Network Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.5 Application and System Protection . . . . . . . . . . . . . . . . . . . 6 1.2.6 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.7 File Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.7.1 HPFS File System . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.7.2 FAT File System . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.8 Multimedia Applications . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Application Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1 Multiple DOS Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.2 Windows Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.3 Version-specific DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.4 Boot Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.5 Memory Extenders . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.6 Adobe Type Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6 Online Help and Information . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.7 Productivity Aids and Games . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.7.1 Productivity Aids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.7.2 Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.8 OS/2 2.0 Tools for Application Development . . . . . . . . . . . . . . . . . . 12 1.8.1 Developement Platform . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.8.2 32-BIT Application Programming Interface . . . . . . . . . . . . . . . 13 1.8.3 Application Performance and Programmer Productivity . . . . . . . . 13 1.8.4 Protecting Investment in 16-BIT Code . . . . . . . . . . . . . . . . . 14

2 Managing OS/2 2.0 15

2.1 Memory Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.0.1 Flat Memory Model . . . . . . . . . . . . . . . . . . . . . . 16 2.1.0.2 Paging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1.0.3 Dynamic Linking of Modules . . . . . . . . . . . . . . . . . 17 2.1.0.4 Memory Extenders . . . . . . . . . . . . . . . . . . . . . . . 17

2.1.0.4.1 Expanded Memory Specification . . . . . . . . . . 17 2.1.0.4.2 Extended Memory Specification . . . . . . . . . . . 18 2.1.0.4.3 DOS Protect Mode Interface . . . . . . . . . . . . . 18

2.1.0.5 Swap File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.2 File Systems Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.1 File System Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.2 Default File System Cache Sizes . . . . . . . . . . . . . . . . . . . . . 21

2.3 Task Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4 DOS and WIN-OS/2 Support . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4.1 Multiple DOS Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2 Windows Application Support . . . . . . . . . . . . . . . . . . . . . . 23 2.4.3 DOS Compativility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.5 Device Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.1 Multimedia Systems and Devices . . . . . . . . . . . . . . . . . . . . 26 2.5.2 Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.5.2.1 Physical Device Drivers . . . . . . . . . . . . . . . . . . . . 27 2.5.2.2 Virtual Device Drivers . . . . . . . . . . . . . . . . . . . . . 27

3 Developing OS/2 2.0 Applications 29 3.1 Applications Running Under OS/2 2.0 . . . . . . . . . . . . . . . . . . . . . 29 3.2 Application Programming Interface . . . . . . . . . . . . . . . . . . . . . . . 30 3.3 Comparison of 16-BIT and 32-BIT OS/2 Functions . . . . . . . . . . . . . . 32 3.4 Object-Oriented Programming using SOM . . . . . . . . . . . . . . . . . . . 33 3.5 OS/2 2.0 Workplace Programming Interface . . . . . . . . . . . . . . . . . . 34 3.6 Application Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.6.1 C SET/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.6.2 Developer’s Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.6.2.1 Developer’s Toolkit for OS/2 2.0 . . . . . . . . . . . . . . . 36 3.6.2.2 WorkFrame/2 . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.6.3 C Developer’s Workset/2 . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.6.4 OS/2 Technical Library . . . . . . . . . . . . . . . . . . . . . . . . . 37

II Planning 38

4 Planning for Installation 39

4.1 Hardware Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.1 Minimum Configuaration . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1.1.1 Microprocessor . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1.1.2 Memory Requirement . . . . . . . . . . . . . . . . . . . . . 40

4.1.2 Storage Capacities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.3 Disk Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.1.3.1 For the Operating System . . . . . . . . . . . . . . . . . . . 41 4.1.3.2 For File Systems . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1.3.3 For Swapped-Out Memory . . . . . . . . . . . . . . . . . . . 41 4.1.3.4 For Print-Spool Jobs . . . . . . . . . . . . . . . . . . . . . . 41

4.2 Worksheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3 Installation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3.1 Selecting Installation Media . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.2 Installing Multiple Operating Systems . . . . . . . . . . . . . . . . . 44

4.3.2.1 Dual Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3.2.2 Boot Manager . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.3 Installing Over Existing Operating Systems . . . . . . . . . . . . . . 45 4.3.3.1 OS/2 Standard Edition . . . . . . . . . . . . . . . . . . . . 45 4.3.3.2 OS/2 Extended Edition . . . . . . . . . . . . . . . . . . . . 45 4.3.3.3 OS/2 Version 1.3 with LAN Server 2.0 . . . . . . . . . . . . 45 4.3.3.4 OS/2 Version 1.3 with Extended Services 1.0 . . . . . . . . 45 4.3.3.5 DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.4 Planning Disk Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4.1 Choosing File Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.4.2 Choosing Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5 Optimizing Performance 53 5.1 Application Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.2 OS/2 2.0 CONFIG.SYS Statements . . . . . . . . . . . . . . . . . . . . . . . 55 5.3 DOS and WIN-OS/2 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.4 Maximizing Memory in a DOS Session . . . . . . . . . . . . . . . . . . . . . 62

5.4.1 Changing the OS/2 2.0 CONFIG.SYS File for a DOS Session …. 62 5.4.2 Changing the OS/2 2.0 AUTOEXEC.BAT File for a DOS Session . . 63

III Appendixes 64

A Supported Hardware 65 A.1 Microprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 A.2 Storage Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 A.3 Printers and Plotters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 A.4 Matrix Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.4.1 HP Laserjet and Compatible Printers . . . . . . . . . . . . . . . . . . 68 A.4.2 HP Paintjet Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 A.4.3 IBM Laserprinters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 A.4.4 IBM Proprinters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 A.4.5 IBM Quietwriter and Compatible Printers . . . . . . . . . . . . . . . 70 A.4.6 Plotters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 A.4.7 Postscript Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 A.4.8 Miscellaneous Printers . . . . . . . . . . . . . . . . . . . . . . . . . . 72 A.4.9 WIN-OS/2 Printer Drivers . . . . . . . . . . . . . . . . . . . . . . . . 72

A.5 Graphics Adapters and Displays . . . . . . . . . . . . . . . . . . . . . . . . . 73 A.5.1 SVGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 A.5.2 SVGA on Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 A.5.3 SCSI Adapters and Disks . . . . . . . . . . . . . . . . . . . . . . . . 75 A.5.4 High-Volume Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

B International Language Support 76 B.1 Translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 B.2 Bidirectional Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 B.3 Double-Byte Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 B.4 Installing National Language Versions . . . . . . . . . . . . . . . . . . . . . . 77

B.4.1 Country Choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 B.4.2 Keyboard Choice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

B.5 Changing National Language Options . . . . . . . . . . . . . . . . . . . . . . 78 B.5.1 Temporary Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 B.5.2 Permanent Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

B.6 Understanding Code Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 B.7 Understanding Devinfo Statements . . . . . . . . . . . . . . . . . . . . . . . 82

C Documentation 84 C.1 Operating System Information . . . . . . . . . . . . . . . . . . . . . . . . . . 84 C.1.1 Hardcopy Information . . . . . . . . . . . . . . . . . . . . . . . . . . 84 C.1.2 Online Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

C.2 Toolkit Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

C.2.1 Online Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 C.3 OS/2 2.0 Technical Library . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 C.4 Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

D Training and Customer Support 91

D.1 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 D.1.1 IBM OS/2 2.0 User Workshop . . . . . . . . . . . . . . . . . . . . . . 91 D.1.2 Technical Support Education . . . . . . . . . . . . . . . . . . . . . . 92

D.1.2.1 OS/2 for Technical Support Personnel . . . . . . . . . . . . 92 D.1.3 Application Developer Education . . . . . . . . . . . . . . . . . . . . 93

D.1.3.1 Developer Assistant Workshops . . . . . . . . . . . . . . . . 93 D.1.3.2 Introduction to OS/2 Version 2 Programming (P1044) … 93 D.1.3.3 Introduction to DOS for OS/2 2.0 (P1042) . . . . . . . . . . 94 D.1.3.4 ENFIN/2 Object-Oriented Development for OS/2 2.0 (P1049) 95 D.1.3.5 Advanced Programming Techniques for OS/2 Version 2 (P1045) 96 D.1.3.6 OS/2 Version 1 to Version 2 Programming Migration (P1041) 97 D.1.3.7 OS/2 Version 2 Facilities and Installation (P1043) . . . . . . 98

D.2 os/2 2.0 Service and Support . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 D.2.1 Program Defect Support . . . . . . . . . . . . . . . . . . . . . . . . . 99 D.2.2 Enhanced Support Offerings . . . . . . . . . . . . . . . . . . . . . . . 100

D.2.2.1 Overview and Positioning of Enhanced Offerings . . . . . . 100 D.2.2.2 OS/2 Bulletin Board System (BBS) . . . . . . . . . . . . . . 100 D.2.2.3 CompuServe . . . . . . . . . . . . . . . . . . . . . . . . . . 101 D.2.2.4 OS/2 Support Line . . . . . . . . . . . . . . . . . . . . . . . 101 D.2.2.5 SystemXtra for Personal Systems . . . . . . . . . . . . . . . 101

List of Tables

2.1 Default SWAPPER.DAT Settings at Installation Time . . . . . . . . . . . . 19

2.2 Cache Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1 OS/2 Function Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1 Memory-Estimating Worksheet . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2 Hard Disk-Estimating Worksheet . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3 Planning Table for Partition Sizes . . . . . . . . . . . . . . . . . . . . . . . . 51

4.4 Disk Space Requirements for Optional Features . . . . . . . . . . . . . . . . 52

B.1 Country and Code Page Defaults . . . . . . . . . . . . . . . . . . . . . . . . 79

B.2 Keyboard Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

0.3 About this Book

This book provides product and planning information about IBM OS/2 2.0. Although this guide includes a comprehensive overview of the main features of OS/2 2.0, it is not intended to be an in-depth instruction manual. Appendix C, ”Documentation” describes additional information available for OS/2 2.0.

0.3.1 Who Should Read This Book

This book is provided as an information and planning source for the person planning the installation and use of OS/2 2.0. This publication is written for administrative personnel, technical and service support personnel, service coordinators, and IBM personnel, as well as anyone who may have responsibility for making decisions on information systems.

0.3.2 How This Book Is Structured

This book is organized as follows:

• Chapter 1, “Highlights of OS/2 2.0” provides a summary of the highlights of OS/2 2.0.

• Chapter 2, “Managing OS/2 2.0” discusses memory, file, task, and device management.

• Chapter 3, “Developing OS/2 2.0 Applications” summarizes aspects of application development in the OS/2 2.0 environment.

• Chapter 4, “Planning for Installation” provides an overview of the hardware requirements for and installation of OS/2 2.0.

• Chapter 5, “Optimizing Performance” discusses application and performance considerations.

• Appendix A, “Supported Hardware” lists the hardware that is supported by OS/2 2.0.

• Appendix B, “International Language Support” discusses the extensive international language support for OS/2 2.0.

• Appendix C, “Documentation” discusses the hardcopy and online documentation provided with OS/2 2.0, the IBM Developer’s Toolkit for OS/2 2.0, and the OS/2 2.0 Technical Library.

• Appendix D, “Training and Customer Support” provides information on the training programs and service support for OS/2 2.0 available from IBM.

Part I Information

3

Chapter 1

Highlights Of OS/2 2.0

Users of OS/2(*) 2.0 can run a wide range of DOS, Microsoft(**) Windows(**), and OS/2 applications side by side in a graphical user interface. This enables users to choose the best solution for their needs from a vast application base. The networking and client-server capabilities meet the needs of users who work in today’s interconnected environments. OS/2 2.0 exploits the 32-bit features of systems that have the Intel (or compatible) 80386SX (or higher) microprocessor. It is a stable platform for developing and delivering all types of applications–productivity, mission-critical, educational, and entertainment. OS/2 2.0 is the Systems Application Architecture(*) (SAA(*)) environment for the workstation.

1.1 Workplace Shell

The object-oriented approach of the OS/2 2.0 Workplace Shell(*) enables users to manage many types of objects (program, data-file, printer, network-server, and drive) from a single graphical interface called the desktop. Users can directly manipulate objects so, for example, printing becomes as simple as dragging and dropping an icon (picture) that represents a letter onto an icon that represents a printer.

The Workplace Shell not only works the way users do, it can look the way users want it to look. Because OS/2 2.0 is more flexible than previous OS/2 versions, users can customize their desktops, including colors, fonts, object locations, and many other aspects of appearance. Desktops can be tailored to suit an organization or an individual.

The Workplace Shell represents the culmination of earlier technologies, evolving over time from the command line to graphical icons, to the current object-oriented interface technology. The interface implements the workplace model defined by Common User Access(*) (CUA(*)) 91.

1.2 The Intergrating Platform

OS/2 2.0–The Integrating Platform(*)–provides the Workplace Shell graphical interface and automatically manages system resources for all applications running concurrently in the system. It manages the transfer of data between an application and another application or a hardware device, such as a printer or a diskette drive. It enables access to network resources. The platform provides protection for OS/2 2.0 and the applications running in the system. It manages memory and file system services. It also provides support for multimedia extensions.

1.2.1 Concurrent Processing

OS/2 2.0 supports the concurrent processing of tasks, permitting users to perform tasks while one or many others are processing. This reduces waiting time and improves user response times and efficiency. The management of processes and threads running in the system is simplified and enhanced under OS/2 2.0 in the following areas:

• Support is no longer required for processes running in real mode, such as the DOS box in previous OS/2 versions.

• DOS and Windows applications are supported in DOS sessions that run in protectmode.

• Support is provided for applications that use OS/2 and Windows multimedia extensions, enabling users to integrate multimedia applications.

Under OS/2 2.0, all applications run as protect-mode processes. They are provided with preemptive multitasking (which enables a higher priority task to be scheduled after some system event occurs, such as an I/O interrupt) and full memory protection between processes.

Depending on the display adapter installed, users generally can run their applications in a window or full screen, in graphics or text modes, and in the foreground or background. Full-screen operation in the foreground might be required or preferred for some advanced, graphical applications when performance or timing considerations are critical.

1.2.2 Inter-Application Communication

Cut and paste functions can be performed easily across all types of applications, reducing the need for manual transfers of data and the resulting risk of errors. Dynamic Data Exchange (DDE) is supported between Windows and OS/2 Presentation Manager(*) applications. (DDE enables users to update information in one application or session and have the updates applied to identical information in a different application or session.) Object linking and embedding (OLE) is supported between Windows applications. (OLE enables an application to use data from another application; for example, a word-processing application could link to a voice-annotation application.)

1.2.3 Printing

Each printer is represented on the OS/2 desktop by a printer object, enabling users to drag and drop print jobs onto any local or remote printer on the network. This integrated operation enables users to improve their productivity by decreasing significantly the number of steps needed to print.

1.2.4 Network Support

OS/2 2.0 meets the needs of today’s users who work in interconnected environments. OS/2 2.0 provides networking and client-server capabilities. Network servers, such as the IBM LAN Server and the Novell, Inc. NetWare server, are represented as objects on the OS/2 desktop, enabling users to access both local and remote resources with ease. When users need access, OS/2 2.0 prompts them for information, so they do not have to remember complex commands.

In addition, users do not have to assign drive letters or port names to use the resources on the network. From the OS/2 desktop, users can browse servers for shared resources, shared disks for files and applications, and shared printers to manage print jobs.

1.2.5 Application and System Protection

OS/2 2.0 is a platform ideally suited for running mission-critical and line-of-business applications. OS/2 2.0 is a protected system and application environment. OS/2 is designed so that each application is encapsulated in its own address space and cannot access system or other application data. Sessions that contain DOS and Windows applications run in the protected mode of the Intel (or compatible) 80386SX (or higher) microprocessor. If a Windows or DOS application that is running in a window attempts to violate the integrity of the system, the application usually will be ended without affecting the system and other active applications. And, if a DOS or Windows application fails, for example, from unrecoverable application errors (UAEs), the session can be closed and normally restarted easily, without affecting the other applications running on the system.

1.2.6 Memory Management

Memory management under OS/2 2.0 provides access to larger amounts of physical and virtual memory in a more efficient manner than in previous versions of the OS/2 operating system. It also removes many of the constraints imposed by previous versions. At the same time, the enhanced memory management maintains compatibility with 16-bit applications and resources. OS/2 2.0 introduces a flat memory model with a linear address space of 4GB (GB equals 1024MB). Designed to be used with the Intel (or compatible) 80386SX (or higher) microprocessor, OS/2 2.0 takes full advantage of such 32-bit features as 32-bit register set, 32-bit instructions and addressing, large memory objects (greater than 64KB), and paging.

Paging enables an application to request large memory objects, and access and manipulate those objects as logical entities. Paging also enables a more efficient implementation of virtual memory, because individual pages, rather than entire memory objects, can be swapped in and out of real memory. Paging has good performance, especially when memory objects become very large.

1.2.7 File Systems

OS/2 2.0 comes with a choice of two file systems, High Performance File System (HPFS) and File Allocation Table (FAT).

1.2.7.1 HPFS File System

HPFS under OS/2 2.0 supports the following:

• Command chaining by calling the volume manager with a list of all contiguous sector requests required to fulfill an I/O request. This function is supported for all types of direct access storage devices (DASD).

• Scatter and gather by passing physical pointers to each page in the data buffer (physically not contiguous) as part of the I/O request. This enables I/O controllers that support the scatter-and-gather capability, such as the IBM small-computer-system-interface (SCSI) adapters, to perform input/output in a single operation.

• Disk caching in the installable-file-system (IFS) driver, rather than in the device driver

• Recognition of devices that have outboard caches (nonsystem memory), incorporating them into the total caching scheme

1.2.7.2 FAT File System

FAT contains the following enhancements that provide improved performance and enhanced support for disk hardware devices:

• Command chaining by attempting to call the volume manager with a list of all contiguous sector requests required to fill an I/O request. This enables multiple page-in and page-out requests in a single logical operation.

• Scatter and gather by passing physical pointers to each page in the data buffer (physically not contiguous) as part of the I/O request. This enables I/O controllers that support the scatter-and-gather capability, such as the IBM SCSI adapters, to perform input/output in a single operation.

• Disk caching is now within the FAT file system, rather than in the device driver

• Recognition of devices that have outboard caches (nonsystem memory), incorporating them into the total caching scheme

• Fast allocation of free space, using a bit map to track free clusters on the disk

1.2.8 Multimedia Applications

OS/2 2.0 supports applications that use OS/2 and Windows multimedia extensions, enabling users to integrate multimedia applications into their environment. Users can look ahead to the next generation of software applications–exciting multimedia solutions for entertainment and education.

1.3 Application Compatibility

A broad range of the current 17 000 DOS applications, 4900 Windows applications, and 2500 16-bit OS/2 applications will run unchanged on OS/2 2.0. This vast assortment of applications permits users to choose the applications that provide the most effective solutions to their needs. This means that businesses do not have to invest in new applications and training right away. They can migrate to the emerging, more powerful, 32-bit OS/2 applications as their needs grow.

IBM has subjected leading applications to rigorous testing. In addition, a large number of users have beta-tested their applications on early versions of OS/2 2.0. IBM is aware of a small number of applications that do not operate properly. They include applications that could compromise the integrity of the system or require extremely high interrupt rates (typically, greater than 1000 interrupts per second). Other applications might run with limited function or might require special settings. For more information, refer to ”DOS and WIN-OS/2 Settings.”

1.3.1 Multiple DOS Sessions

A significant aspect of OS/2 2.0 is its ability to run multiple DOS sessions along with OS/2 sessions, using the multiple-DOS-sessions feature. This feature enables each session to run as a single-threaded, protect-mode OS/2 task. Each DOS session can have more than 620KB of conventional memory available. OS/2 supports the use of the Lotus/Intel/Microsoft Extended Memory Specification (LIM EMS) and the Lotus/Intel/Microsoft/AST eXtended Memory Specification (LIMA XMS). The ability of a DOS session to run within a window on the OS/2 desktop provides immediate productivity gains to existing DOS applications, because they can use OS/2 desktop features. These features include window manipulation and the ability to cut, copy, and paste information between applications, using the OS/2 clipboard.

Application compatibility in the DOS session is improved over previous OS/2 versions. The DOS session can be used to run DOS-based communications applications and other applications that address hardware I/O devices through the use of virtual device drivers (VDDs). These VDDs map the device driver calls from applications to the appropriate physical device driver within the operating system. For more information, refer to ”Virtual Device Drivers.”

Application compatibility is further enhanced by the DOS Settings feature, which allows DOS sessions to be customized to suit the requirements of the applications running in them. Settings, such as video characteristics, hardware-environment emulation, and the use of memory extenders, can be customized using this feature. For more information, refer to ”DOS and WIN-OS/2 Settings.”

1.3.2 Windows Applications

OS/2 2.0 provides the capability for Windows applications to run under OS/2 2.0 using the multiple-DOS-sessions feature. This enables applications written for Windows Version 3.0 (standard and real-mode applications) and previous Windows versions to coexist and run in the same session. Users can run Windows applications as protect-mode tasks, enabling concurrent multitasking among Windows, DOS, and OS/2 applications.

1.3.3 Version-specific DOS

There are some applications that must run on a specific version of DOS because they require characteristics unique to that version. Therefore, OS/2 2.0 enables users to boot (start) specific versions of DOS, such as 3.3, 4.0, and 5.0, or DRDOS 6.0, in a DOS session. This capability helps ensure compatibility with version-specific DOS applications and device drivers. That includes block device drivers, such as local area network (LAN) requesters, that are needed for network support.

1.3.4 Boot Manager

OS/2 2.0 enables users to install multiple operating systems, such as DOS 3.3, 4.0, and 5.0; DRDOS 6.0; and OS/2 1.3, on the same computer on which OS/2 2.0 is installed. This ability to select from multiple operating systems makes it possible to use a single hardware configuration but run applications that require a specific operating system. The Boot Manager feature also enables businesses with large numbers of users migrating from one release to another to fully test the new environment while the old environment continues to be operational. Application developers also can take advantage of this feature.

1.3.5 Memory Extenders

OS/2 2.0 provides portability for the current set of DOS applications by adhering to current industry standards for personal computing. The ability of OS/2 2.0 to execute DOS applications that use eXtended Memory Specification (XMS) Version 2.0, Expanded Memory Specification (EMS) Version 4.0, and DOS Protected Mode Interface (DPMI Level .9) prevents existing DOS applications from becoming obsolete due to migration to OS/2 2.0. Many DOS applications use these memory extenders to gain access to memory above the 1MB real-mode addressing limit. Such extenders allow DOS applications to have total code and data spaces larger than the available base conventional memory, and to have very large code or data objects loaded into memory for improved speed.

1.3.6 Adobe Type Manager

OS/2 2.0 includes the Adobe Type Manager (ATM) which supports industry-standard ATM fonts for both Windows and Presentation Manager applications. Support for Windows applications requiring ATM fonts enables users to run their applications under OS/2 2.0 without having to purchase and install the ATM for Windows. A selection of popular ATM fonts (Type 1) also is included.

1.4 Installation

Rich colors, icons, progress indicators, and status information all help to guide users through the new OS/2 2.0 graphical installation. When users install OS/2 2.0 on a system that contains DOS, Windows, or a previous OS/2 version, applications and other environmental conditions are preserved or migrated to the OS/2 environment.

Users can choose from two preselected installations, one that is optimal for most users (installs the most commonly used features of OS/2 2.0 to your hard disk) and another that will install the complete system. A third installation option enables users to install only the functions they need, thereby reducing hard disk requirements. Although you must have a 60MB (or larger) hard disk, the actual hard disk requirements for OS/2 2.0 range from 15-30MB, depending on the installation options selected.

OS/2 2.0 also supports installation from a response file. A response file contains information the installation program uses to set up a system. The file contains the answers for all the prompts users see in a typical installation. By using a response file, a system administrator can preselect installation options. This type of installation is very efficient for installing OS/2 2.0 on many machines that need the same configuration, and helps reduce the user involvement in installation. A response file can be used to install OS/2 2.0 from a LAN.

1.5 Migration

During installation, users can have OS/2 automatically migrate existing DOS, Windows, and OS/2 environments, mapping them to the OS/2 2.0 environment. In addition, OS/2 2.0 contains profiles of more than 225 of the most popular DOS and Windows applications. Program objects for those applications are placed in the appropriate DOS or Windows folder on the OS/2 desktop; OS/2 1.x groups are mapped to OS/2 2.0 folders on the desktop. OS/2 2.0 also takes care of the special settings required by a few of the 225 DOS and Windows applications. This migration process also includes the supporting DOS, WIN-OS/2(*), and 16-bit OS/2 device drivers and printer definitions, as well as the other applications on the hard disk.

To help users migrate to the Workplace Shell, the user interface can be changed to look like OS/2 Version 1.3. To do this, an experienced user can issue a command that remakes the OS2.INI file. For specific instructions, refer to Migrating to the OS/2 Workplace Shell. When users are ready to use the Workplace Shell, the experienced user can again remake the OS2.INI file.

1.6 Online Help and Information

Online help and information is available at any time and provides users with instant explanations of OS/2 2.0 functions, eliminating the need to keep a manual nearby. An online, interactive tutorial teaches users how to use a mouse, how to work with objects, how to optimize the window environment, and how to use the online help and information. An online glossary of terms also is available.

The Start Here icon on the OS/2 desktop contains a selectable list of the tasks users perform most frequently, such as adding and using applications, finding information, printing, and shutting down their systems. Users can select the task they need to perform and go directly to the procedure for accomplishing it, which is in the Master Help Index.

The Master Help Index contains an alphabetic, selectable list of topics, enabling users to quickly locate instructions for completing any task supported by OS/2 2.0. Some topics contain hypertext links, enabling users to select a topic of choice and view related information immediately. Topics also can be searched and printed easily.

1.7 Productivity Aids and Games

The productivity aids and games included with OS/2 2.0 are provided to help users learn how to use the system and be productive immediately.

1.7.1 Productivity Aids

A calculator, a calendar, a notepad, and a sticky pad help users perform and manage their daily tasks. A to-do list helps to remind users of things they need to do, and an alarm helps ensure they do them on time. Daily and monthly planning applications help users keep track of upcoming events. PM Terminal opens up a new experience for users who are unfamiliar with the world of online databases and bulletin boards. The Enhanced Editor and the PM Chart applications are useful for daily tasks and presentations. In all, 18 productivity aids can be installed.

1.7.2 Games

The games provide entertainment and help users unfamiliar with a mouse to practice their skills. The computer will give users a challenge if they try to defeat it at OS/2 Chess. Klondike-style Solitaire is a favorite, along with Jigsaw, Scramble, and Reversi.

1.8 OS/2 2.0 Tools for Application Development

IBM OS/2 2.0 tools for application development provide a complete 32-bit C-language application development environment. With these tools, which are available for purchase, the developer can take full advantage of the rich programming interface in OS/2 2.0. The tools are packaged to enable the application developer to start using OS/2 2.0 with a small investment and continue to use their own favorite tools. Productivity and technological gains can be made by moving all development work to OS/2 2.0 and moving up to 32-bit object-based application development for OS/2 2.0.

1.8.1 Developement Platform

The power and performance of preemptive multitasking, coupled with application protection, make OS/2 2.0 the right system for application development. In a multitasking system with the developer managing a number of projects, some of which are being debugged and experiencing failures, it is essential that system integrity be maintained. OS/2 2.0 provides the power and integrity to handle this environment. Development for 32- and 16-bit OS/2, DOS, and Windows applications can coexist on OS/2 2.0. IBM WorkFrame/2 makes the job easier by organizing the developer’s projects and integrating preferred tools into a single, easy to use, graphical environment.

1.8.2 32-BIT Application Programming Interface

OS/2 2.0 has a rich and powerful programming interface designed to take application development into the future. The System Object Model (SOM), which is used to build the Workplace Shell, enables developers to fully integrate their applications into the Workplace Shell using object-oriented technology. Using Workplace Shell application programming interfaces (APIs), the objects of applications derive all the benefits of the Workplace functions, such as drag-drop. Using the SOM compiler, a C-language programmer can extend this function and define new class libraries. The Application Design Guide explains how to build OS/2 Workplace Shell and SOM-enabled applications while maximizing performance with 32-bit memory management, multithreading, interprocess communications, preemptive multitasking, and other features of OS/2 2.0.

The IBM Developer’s Toolkit and the Technical Library enable application developers to take full advantage of the OS/2 2.0 programming interface. The Toolkit provides essential tools, such as the PM Resource compiler, the Information Presentation Facility (IPF) compiler, and the SOM compiler. The Toolkit also includes API references in online form, sample programs that demonstrate the use of the new APIs, the required header and .LIB files, and kernel debug support. The Technical Library supplements the Toolkit with programming guides, API references in printed form, and additional information about REXX, CUA, and device driver development. All of these books, including The Application Design Guide, can be purchased as a group in the Technical Library or individually. The Toolkit contains an order form.

1.8.3 Application Performance and Programmer Productivity

High performance code optimization in the IBM C Set/2 C compiler provides the opportunity to produce some of the highest-performing OS/2 based applications possible. Extensive runtime library support, online hypertext reference information, conformance to ANSI and SAA standards, and a fully graphical full-function source-level PM debugger all make C Set/2 an excellent choice for developing 32-bit OS/2 2.0 applications. Organizing C Set/2 projects in WorkFrame/2 further enhances programmer productivity.

1.8.4 Protecting Investment in 16-BIT Code

Mixed-mode programming techniques supported by OS/2 2.0 and C Set/2 enable the integration of 16-bit code into 32-bit programs. For example, the user may continue to develop panels using Dialog Manager, a 16-bit Presentation Manager interface previously provided in IBM OS/2 Programming Tools and Information, version 1.3; this code can be incorporated into a 32-bit executable that takes advantage of the 32-bit interface provided by OS/2 2.0. Both the 32-bit development environment (C Set/2 with tools) and the 16-bit development environment (a 16-bit compiler with tools) can be installed in WorkFrame/2 to enhance productivity in the mixed-mode environment.

Managing OS/2 2.0

OS/2 2.0 supports the Intel (or compatible) 80386SX (or higher) microprocessor architecture. It also has the ability to run multiple DOS applications concurrently, with full preemptive (allows higher priority task to interrupt) multitasking and memory protection for each application. Windows applications also are supported in the same way.

This chapter describes some of the functional characteristics of the OS/2 operating system, such as managing memory, file systems, tasks, and devices.

2.1 Memory Management

Memory management under OS/2 2.0 provides access to larger amounts of physical and virtual memory in a more efficient manner than in previous versions of the OS/2 operating system. It also removes many of the constraints imposed by previous versions. At the same time, the enhanced memory management maintains compatibility with 16-bit applications and resources.

Designed to be used with the Intel (or compatible) 80386SX (or higher) microprocessor, OS/2 2.0 takes full advantage of such 32-bit features as:

• 32-bit register set

• 32-bit instructions and addressing

• Large memory objects (greater than 64KB)

• Paging

OS/2 2.0 manages its memory as a single linear address space of up to 4GB in size. This global address space is divided into two regions:

• The region below 512MB is known as the process address space and is available to applications for storage of executable code, resources, and data.

• The region above 512MB is reserved for operating system use.

The choice of 512MB as the dividing line between the two regions allows 16-bit applications and resources written for previous versions of OS/2 to run in addressable memory within the process address space.

OS/2 2.0 allocates memory in multiples of 4KB; each 4KB unit is known as a page. An application can request larger memory objects and can access and manipulate these objects as logical entities, but the operating system internally manages each page as a separate unit. This allows a more efficient implementation of virtual memory, because individual pages can be swapped in and out of real memory rather than entire memory objects. Paging is typically faster, especially when memory objects become very large.

NOTE: The fixed page size simplifies many memory management tasks, because no special consideration is required for the various segment sizes. Each unit of memory allocated will always be a multiple of 4KB.

2.1.0.1 Flat Memory Model

The memory model used by OS/2 2.0 is known as a flat memory model, because memory is regarded as a single, large, linear address space. This concept applies for every process in OS/2 2.0. Memory addresses are defined by a 32-bit addressing scheme, which results in a linear address space of 4GB.

The system’s address space is the entire 4GB. Each process has its own process address space, completely distinct from that of all other processes in the system. All threads within the process share the same process address space, which is, theoretically, 512MB. However, the maximum size of process address space is defined at system initialization and is somewhat less than 512MB to allow space for memory used by the operating system.

2.1.0.2 Paging

OS/2 2.0 manages memory internally using pages of 4KB each. When a session needs to use an area of real memory, and none is available, the control program swaps out to disk, any information in memory that has not been accessed for a period of time. Fixed page size speeds performance when memory must be swapped, which is an improvement over the segmentation model used by earlier OS/2 versions. Consistent with the object orientation of the operating environment, the control program can view a page, a related set of pages, or segments within a single page as a memory object.

A memory object is the term used under OS/2 2.0 for a linear, contiguous range of memory addresses, which is regarded and manipulated as a single logical unit by an application.

A memory object is composed of one or more discrete 4KB pages. OS/2 2.0 manages all paging internally on a page-to-page basis.

The 32-bit applications that run under OS/2 2.0 deal with the 32-bit addressing scheme. This is in contrast to the segmented memory model implemented by the 80286 processor. However, to maintain compatibility for 16-bit applications, OS/2 2.0 also supports the segmented memory model. Code segments of 16-bit applications and libraries are packed in memory to reduce page fragmentation.

2.1.0.3 Dynamic Linking of Modules

Software in the OS/2 environment can take advantage of dynamic linked libraries (DLLs). Dynamic linking means loading, or calling into memory, a portion of an application only when it is needed to perform a requested task. This is different from the type of environment in which a library module becomes part of the main application for the whole time that the application is loaded in memory.

By dynamically linking a module that performs a common task, the application makes use of the module (and the resources it requires) only if the sequence of events makes the module necessary. Because the linked portion resides in memory only when needed, the amount of real memory absorbed by any one application remains minimal; this minimizes the time devoted to page swapping.

Applications that need the same tasks can share the DLL. By sharing common software tasks, applications use less disk space and memory.

2.1.0.4 Memory Extenders

Many DOS applications use memory extenders, such as EMS and XMS, to gain access to memory above the 1MB real mode addressing limit of the 80286 and higher microprocessors. Such extenders allow DOS applications to have total code and data spaces larger than the available base memory, and to have very large code or data objects loaded into memory for improved speed. The standard configuration of OS/2 2.0 provides both LIM EMS Version 4.0 and LIMA XMS Version 2.0 functions for DOS applications running in DOS sessions. It also supports DPMI.

Users can choose to have DOS load video drivers and other device drivers into memory between 640KB and 1MB; it loads applications and data in the area below 640KB. DOS extenders take control to manage upper memory.

2.1.0.4.1 Expanded Memory Specification LIM EMS provides a standard interface that can access memory above 1MB. LIM EMS allows for up to 32MB of expanded memory. A region of expanded memory can be mapped into an address space below 1MB when a DOS application needs the contents stored in the expanded memory.

2.1.0.4.2 Extended Memory Specification LIMA XMS offers 18 functions for an extended memory programming interface that can access memory above 1MB. It is addressable by systems with an Intel (or compatible) 80386SX (or higher) microprocessor architecture. LIM XMS addresses three regions of memory:

• Upper memory blocks between 640KB and 1MB that DOS can use as conventional memory

• The high memory area, which is the first 64KB of extended memory (from address 1MB to 1MB plus 64KB), where a real-mode application can access memory as conventional memory

• An extended memory block

A user can start a specific DOS version within a DOS session with OS/2 2.0. When a DOS session starts with a specific DOS version, extended memory blocks serve only for data storage; they cannot be accessed by an application. When a DOS session starts, memory in an extended memory block region can be moved to conventional memory, and a conventional memory region can be moved to the extended memory block region. In practice, the maximum extended memory block region is 16MB, divided into as many as 255 blocks.

If an application in a DOS session encounters an error as a result of insufficient extended memory:

• Ensure that the overall limit and the limit for the DOS session are large enough to accommodate the amount of extended memory required by the application.

• Ensure that the CONFIG.SYS file contains the following statement:

                              DEVICE=VXMS.SYS

• Ensure that the expanded memory driver, VEMM.SYS, is not using all of the available memory. Reduce the amount of memory allocated to VEMM by changing the parameters of the DEVICE= statement for VEMM to a lower value.

• Ensure that the CONFIG.SYS file and the AUTOEXEC.BAT file do not start unnecessary applications that use extended memory.

2.1.0.4.3 DOS Protect Mode Interface The DPMI can access memory above 1MB and is addressable by systems with an Intel 80386 (or higher) microprocessor. OS/2 2.0 DPMI supports the process address space.

Protect mode refers to the operational mode that enables an Intel microprocessor to use the address space above 1MB. In this mode, the microprocessor also provides memory protection and prevents access to certain operating system instructions, called privileged instructions.

2.1.0.5 Swap File

The swap file (SWAPPER.DAT) is the file where OS/2 2.0 stores those memory pages it moves out of memory. The SWAPPER.DAT file defaults to the system startup partition. This can be changed during installation or later in the CONFIG.SYS file. When the path and default size for the swap file are changed in the CONFIG.SYS file, it takes effect the next time the operating system is started.

The operating system automatically pre-allocates the SWAPPER.DAT file based on the size (in MB) of installed memory. This optimizes performance and reduces disk fragmentation (file scattering).

NOTE: When necessary, the operating system increases the swap file size beyond the initial allocation.

To change the pre-allocated size in the CONFIG.SYS file, modify the SWAPPATH= statement (sizes are specified in KB). To customize the swap file size for a particular environment, modify the default value to reflect the smallest default value, according to Table 1 (for example, 2MB); then restart the system. Start the desired application, view the OS2\SYSTEM\SWAPPER.DAT file and record the size periodically. Take the largest size that you record and add 1-2MB. If this size is larger than the recommended size in Table 2.1, choose the larger value.

The MINFREE parameter in the SWAPPATH= statement determines when the partition containing the SWAPPER.DAT file is running out of space. The first warning that displays indicates that there is less space than the amount in the MINFREE parameter. To avoid receiving the warning message, delete some space or adjust the MINFREE value to a smaller value.

MEMORY (MB) MINFREE (KB) INITIAL SIZE (KB)
4  4096  6144
5  4096  5120
6  4096  5120
7  2048  4096
8  2048  4096
9  2048  3072
10  2048  3072
11 through 32  2048  2048

Table 2.1: Default SWAPPER.DAT Settings at Installation Time

2.2 File Systems Management

OS/2 2.0 comes with a choice of two file systems, HPFS and FAT.

The HPFS under OS/2 2.0 supports the following:

• Command chaining by calling the volume manager with a list of all contiguous sector requests required to fulfill an I/O request. This function is supported for all DASD types.

• Scatter and gather by passing physical pointers to each page in the data buffer (physically discontiguous) as part of the I/O request. This enables I/O controllers, such as the IBM SCSI adapters, that support the scatter and gather capability to perform the I/O in a single operation.

• Disk caching in the IFS driver, rather than in the device driver.

• Recognition of devices that have onboard caches (nonsystem memory), incorporating them into the total caching scheme.

HPFS under OS/2 2.0 supports a maximum file size of 2GB. The maximum size for a disk partition is 64GB.

The FAT file system contains the following enhancements that provide improved performance and enhanced support for disk hardware devices:

• Command chaining by attempting to call the volume manager with a list of all contiguous sector requests required to fill an I/O request, thereby enabling multiple page-in and page-out requests in a single logical operation.

• Scatter and gather by passing physical pointers to each page in the data buffer (physically discontiguous) as part of the I/O request. This allows I/O controllers, such as the IBM SCSI adapters, that support the scatter and gather capability to perform the I/O in a single operation.

• Disk caching within the FAT file system, rather than in the device driver.

• Recognition of devices that have onboard caches (nonsystem memory), incorporating them into the total caching scheme.

• Faster allocation of free space on the logical drive, using a bit map to track free clusters on the disk.

The FAT file system under OS/2 2.0 supports a maximum file size of 2GB. The maximum supported size for a hard disk partition also is 2GB.

2.2.1 File System Caches

Disk caching is the placing of frequently accessed data in a special buffer storage. It reduces access time and improves the performance of applications that rely heavily on hard disk data. It works with both HPFS and the FAT file system caches.

• To allow the operating system the greatest chance for finding data in the cache, both file systems incorporate asynchronous read ahead for sequential I/O. This read-ahead capability is always enabled in OS/2 2.0.

• To minimize the frequency with which the system ties up its resources writing cached data to the disk, both file systems also can take advantage of the lazy-writing feature (or write behind). Lazy writing provides a performance improvement when writing to the disk.

• To determine when I/O should be committed to the disk, both file systems use a set of parameters. See ”OS/2 2.0 CONFIG.SYS Statements.”

For applications that require absolute data integrity, files should be opened with WriteThru enabled. WriteThru ensures that disk write operations are committed to disk before the application continues. This is in direct contrast to lazy writing; lazy-written data can remain in the file-system cache for several seconds after the application has completed writing.

Disabling the lazy-writing feature of either file system does not provide the same capability as enabling WriteThru, and it decreases system performance. When it is not possible to open a file with WriteThru enabled, the shutdown procedure must be used to ensure that all data is written to disk.

2.2.2 Default File System Cache Sizes

Although the installation defaults might not be specifically customized to a particular system, it is beneficial to have access to larger cache sizes. Therefore, install OS/2 2.0 with larger cache sizes when additional memory is available on the system. Conversely, reduce the cache size if there is less memory available on the system.

The default values are shown in Table 2.2. If only the FAT file system is installed, the default sizes are for the DISKCACHE= statement in the CONFIG.SYS file. If the system has partitions that are all HPFS, the default size is for the IFS=HPFS statement in the CONFIG.SYS file. If the system uses both file systems types, then OS/2 2.0 installation changes the cache size for both file systems. The file system with the largest total amount of DASD (sum of the partitions) gets the larger default value, as shown in Table 2.

2.3 Task Management

MEMORY SIZE IN MB TWO FILE SYSTEM ONE FILE SYSTEM
4  128/64  128
5  128/64  128
6  256/64  256
7  256/128  256
8  256/256  384
9  256/256  384
10 through 16  512/512  1024
17 through 32  1024/1024  2048

Table 2.2: Cache Sizes

The management of processes and threads running in the system is simplified and enhanced under OS/2 2.0 in the following areas:

• Support for processes running in real mode (such as the DOS box in previous OS/2 versions) is no longer required.

• Support for DOS applications in DOS sessions that run in a protect mode process.

• Protection exception management.

OS/2 2.0 supports the following types of applications on the desktop:

• 32-bit applications developed for OS/2 2.0

• 16-bit OS/2 applications developed for previous OS/2 versions

• DOS applications in full-screen mode or in a window on the OS/2 desktop

• Windows applications running in a WIN-OS/2 full-screen session or in a WIN-OS/2 window session on the OS/2 desktop

Under OS/2 2.0, all applications run as protect mode processes. Therefore, they are provided with preemptive multitasking and full memory protection between processes. Refer to the OS/2 2.0 Master Help Index for more information on Windows application support.

2.4 DOS and WIN-OS/2 Support

A significant aspect of OS/2 2.0 is its ability to run multiple DOS and WIN-OS/2 sessions, along with OS/2 sessions, using the multiple DOS sessions feature. In previous versions of the OS/2 operating system, support for DOS applications is limited, less memory is available, and a single DOS session operates only in full-screen mode and is suspended when in the background.

2.4.1 Multiple DOS Sessions

DOS supports multiple, concurrent DOS applications, where each runs as a single-threaded, protect-mode OS/2 application. This support provides:

• Protection of system memory and other applications

• Isolation from illegal memory accesses by applications that do not function properly

• The ability to end sessions where applications are suspended

• The ability to start a specific DOS version

Multiple DOS sessions also can run along with other OS/2 sessions. Each DOS session has more memory than the DOS box implemented in previous OS/2 versions; more than 620KB of conventional memory (DOS=HIGH,UMB statement in CONFIG.SYS) is available for each DOS session. OS/2 2.0 also supports the use of LIM EMS and XMS. This provides additional memory for those DOS applications that can use such extensions. OS/2 2.0 maps this extended or expanded memory into the system’s normal, linear memory address space and manages it the same as any other allocated memory.

The ability of a DOS session to run within a window on the OS/2 desktop provides immediate productivity gains to existing DOS applications, because they can use OS/2 desktop features. These features include window manipulation and the ability to cut, copy, and paste information between applications using the clipboard.

Application compatibility in the DOS session also is improved over previous OS/2 versions. The DOS session can be used to run DOS-based communications applications and other applications that address hardware I/O devices through the use of VDDs. These VDDs map the device driver calls from the applications to the appropriate physical device driver within the operating system. For more information, see ”Virtual Device Drivers.”

Application compatibility in a DOS session is further enhanced by the DOS Settings feature, which allows DOS sessions to be customized to suit the requirements of the applications running in them. Properties such as video characteristics, hardware environment emulation, and the use of memory extenders all can be customized using this feature. For more information, see ”DOS and WIN-OS/2 Settings.”

2.4.2 Windows Application Support

OS/2 2.0 provides the capability for Windows applications to run under OS/2 2.0, using the multiple DOS sessions feature. This support allows applications written for Windows Version 3.0 (standard and real mode applications) and previous Windows versions to coexist and run in the same session.

Running Windows applications as protect-mode tasks also allows these applications to have full preemptive multitasking between Windows applications, DOS applications, and OS/2 applications. The OS/2 2.0 Master Help Index has detailed information about Windows application support.

2.4.3 DOS Compativility

OS/2 2.0 provides a redesigned DOS compatibility environment known as Enhanced DOS Sessions. Features of Enhanced DOS Sessions include:

• The ability to run DOS applications as V86 mode tasks. This eliminates the operating system overhead of switching between real mode and protect mode, and provides a fully protected system environment.

• The ability to start many concurrent DOS sessions, each operating in its own independent 1MB linear address space.

• The ability to customize the operation of DOS sessions through DOS settings.

• The ability to run DOS applications in windows in the PM environment.

• Increased available base memory over previous versions of the operating system.

• Support for EMS and XMS. This allows DOS applications to access memory above the 1MB real mode addressing limit, to have total code and data space larger than the available base memory, and to have very large code or data objects loaded into memory for enhanced execution speed or compatibility.

The Enhanced DOS Session mechanism is composed of three modules, DOS Emulation, 8086 Emulation, DOS Session Manager, which provides a full set of control program interfaces known as Virtual Device Helper services. These services are invoked by VDD modules. VDD modules provide hardware-specific support, such as hardware virtualization, BIOS emulation, and other low-level system functions.

2.5 Device Management

Display Adapters OS/2 2.0 runs DOS, Windows, and OS/2 applications side-by-side in window sessions on the desktop when the primary display adapter is configured for video graphics adapter (VGA) modes. OS/2 2.0 also runs text-based DOS applications side-by-side in window sessions when the display adapter is configured for XGA(*) or 8514A modes. Windows applications will run on XGA or 8514/A video adapters only in full-screen mode.

Other Peripheral Devices OS/2 2.0 supports a broad range of hardware devices, including hard disk drives, diskette drives, tape drives, CD-ROM drives, optical disc drives, display adapters, and pointing devices. Support for devices utilizing the SCSI has been improved. In addition, OS/2 2.0 provides a complete SCSI solution by supporting both the Micro Channel(*) and non-Micro Channel architectures.

OS/2 and Presentation Manager Most standard devices are supported for Presentation Manager and OS/2 command prompt sessions. Devices that are specifically supported by OS/2 2.0 printer and other device drivers are listed in Appendix A, ”Supported Hardware.”

DOS Block Devices - Some DOS applications rely on device drivers that do not work in DOS sessions. These device drivers, primarily for block devices, cannot use the virtual device driver capacities of DOS sessions. If a system has an exceptional device requirement, try the application and device in a DOS session to determine if there is a problem retrieving or recording data. To compensate for one of these devices for which there is no compatible OS/2 device driver, install a copy of the appropriate DOS version.

NOTE: Because the device drivers are supplied by DOS and not by the OS/2 operating system, they will not accommodate multiple session activity.

Consider contacting the hardware manufacturer to find out if an OS/2 2.0 device driver or application exists that will run the device driver.

Touch-Sensitive Screen - If you have a touch-sensitive screen and the mouse or touch screen pointer responds incorrectly when a DOS application is in a window, a DOS setting can be changed to correct the problem. See ”DOS and WIN-OS/2 Settings” for information about DOS settings.

WIN-OS/2 Sessions Displays - There are two types of WIN-OS/2 sessions: window and full screen. A WIN-OS/2 session runs Windows applications in a window that covers only part of the screen. By using a WIN-OS/2 window session, there is the advantage of displaying the contents of WIN-OS/2 sessions side-by-side on the desktop with other sessions. Without it, it is necessary to switch between a full-screen WIN-OS/2 session that covers the entire screen and any other window session that is started. At the time of this publication, VGA is the only video resolution that can display WIN-OS/2 window sessions. If the display has super VGA or XGA capabilities, it is necessary to choose between running the video at its full capacity or running WIN-OS/2 window sessions. If the display has less than VGA resolution (for example, an EGA display), the system only can display full-screen WIN-OS/2 sessions.

Printer Drivers - If an OS/2 printer driver is installed, and the system detects that WIN-OS/2 sessions are enabled, then OS/2 2.0 attempts to find and install the appropriate printer driver for applications that run in WIN-OS/2 sessions.

If a printer does not have a driver that is supplied on either the OS/2 2.0 distribution media or Windows 3.0 distribution media, a manufacturer-supplied printer driver can be installed by selecting UNLISTED PRINTER from the printer list during Windows printer installation.

2.5.1 Multimedia Systems and Devices

The following list shows some of the multimedia systems and devices supported by OS/2 2.0:

• IBM PS/2 Ultimedia(*) M57 SLC including: – CD-ROM drive, plus compact disc with OS/2 2.0 and other software

– Headphone and microphone jacks

– XGA video adapter

– 16-bit audio adapter

– Enhanced speaker

• Other supported devices include:

– IBM M-Motion Control Program/2 Version 2.0– authoring tool with device drivers – IBM ActionMedia II–all-digital adapter

– IBM PS/2 TV

– Compression and decompression of digitized photographic images

– Videodisc players–two-sided

– High resolution and motion displays–touch display, VGA, XGA and cable TV – Coupling of LAN for cable TV–combines data and video

– Teleconferencing and computer conferencing devices–in real-time video windows with ”chalkboard” for illustrations and markup

– Audio and video capture and playback devices–adapter package includes new APIs for audio device drivers

2.5.2 Device Drivers

To provide the maximum level of hardware independence for OS/2 2.0, device drivers are used to communicate with hardware devices. OS/2 2.0 makes use of two distinct types of device drivers for communication with hardware devices:

Physical Device Drivers Communicate directly with hardware devices. They operate in protect mode and are accessed by protect-mode processes and by VDDs.

Virtual Device Drivers Do not communicate directly with hardware devices. Instead, they provide a virtual device driver interface for DOS applications running in DOS sessions. DOS applications typically address hardware devices directly using interrupts. The virtual device driver allows the DOS environment to appear to the DOS application as though the application had direct control over the hardware.

For more information about VDDs, see ”Virtual Device Drivers.” A new disk driver interface has been defined for use by the HPFS.

The following is a summary of the device driver changes from OS/2 1.x:

• The disk device driver records the information, indicating the type of DASD (ESDI/ST506 or SCSI) and the level of caching support for each logical drive (LID).

• Disk caching for FAT disk partitions is performed only for devices where caching is not provided by the hardware.

• An additional set of request control functions is supported to allow direct communication by the HPFS File System Driver (FSD).

2.5.2.1 Physical Device Drivers

By using DEVICE= statements in the CONFIG.SYS file, physical device drivers communicate directly with hardware devices and are installed when the OS/2 2.0 operating system starts. For example:

  DEVICE=C:\OS2\COM.SYS
  DEVICE=C:\OS2\COMDMA.SYS

2.5.2.2 Virtual Device Drivers

The OS/2 2.0 operating system allows more than one active application at a time. The operating system has VDDs that manage shared access to hardware input and output (I/O) devices for multiple DOS or WIN-OS/2 sessions. Devices with VDD support include the keyboard, mouse, and serial and parallel ports.

Virtual device drivers:

• Enable each DOS or WIN-OS/2 session to act as if it has sole control over shared devices

• Prevent any one DOS or WIN-OS/2 session from affecting any other session

• Support fast screen I/O

• Support fast communications I/O The following VDDs are provided with the OS/2 2.0 operating system:

VDD  DESCRIPTION
VBIOS ROM BIOS support
VCMOS CMOS data area and Real Time Clock support
VCOM  Asynchronous communication ports
VDMA Direct Memory Access
VDSK  Disk (only for INT 13 copy-protection)
VKBD  Keyboard
VLPT  Printer
VMSE  Mouse
VNPX  Numeric Processor Extension (80387)
VPIC  Programmable Interrupt Controller
VTIMER Timer
VVIDEO Video (VCGA, MCGA, VEGA, VVGA, V8514)
VXMS  Extended Memory Support
VEMM Expanded Memory Support

By using DEVICE= statements in the CONFIG.SYS file, similar to physical device drivers, VDDs are installed when the OS/2 2.0 operating system starts. For example, the following CONFIG.SYS statement installs the VCOM VDD:

DEVICE=C:\OS2\MDOS\VCOM.SYS

VCOM.SYS communicates with the COM.SYS physical device driver to provide virtual RS-232 asynchronous communications support in the DOS session.

Developing OS/2 2.0 Applications

This chapter summarizes aspects of application development in the OS/2 2.0 environment that are described in detail in the Application Design Guide in the OS/2 2.0 Technical Library. It provides an introduction to some OS/2 programming concepts, including guidance on using the System Object Model (SOM) to develop applications and create workplace objects.

See Appendix C, ”Documentation” for a description of the programming tools and information contained in the OS/2 2.0 Toolkit and Technical Library.

3.1 Applications Running Under OS/2 2.0

OS/2 2.0 supports four types of applications: full-screen, window, PM, and DOS/Windows.

• A full-screen application is any OS/2 application that does not create a PM message queue, and does not rely on the PM mouse and keyboard processing for input.

• A window application is a full-screen application that also can run in a window, or PM session.

• A PM application is any OS/2 application that creates a message queue. Generally, PM applications create one or more windows to interact with the user.

• A DOS/Windows application runs in an OS/2 DOS session in the protected, virtual 8086 mode of the 80386 microprocessor. A DOS/Windows application can be fullscreen or windowed, and it can be run concurrently with other applications.

OS/2 applications can be further classified as pure 16-bit, mixed 16-bit, pure 32-bit, and mixed 32-bit applications.

• Pure 16-bit applications can be run under the 16-bit and 32-bit versions of the operating system, but cannot take advantage of the features of the 32-bit programming environment.

• Mixed 16-bit applications can only be run under the 16-bit version of the operating system. Like pure 16-bit OS/2 applications, they do not have access to the 32-bit virtual address space; however, because they have a 32-bit EXE format, they can take advantage of demand paging.

• Pure 32-bit applications incorporate the flat memory model and protection mechanisms that are common on a wide range of computer industry hardware platforms. They can run only under the 32-bit version of the operating system.

• Mixed 32-bit applications can run only under the 32-bit version of the operating system, although they can use 16-bit APIs. These applications can access the entire 32-bit virtual address space.

OS/2 2.0 provides different entry points for 16-bit and 32-bit functions, making it possible to mix 16- and 32-bit code within a single EXE module. It is also possible to call 32-bit functions from a 16-bit C program, and to call 16-bit APIs from a 32-bit C program. To support this, two different libraries–OS2286.LIB and OS2386.LIB– are provided and changes have been made to the include file architecture and to the compiler (such as adding new keywords to support calling 16-bit functions).

OS/2 2.0 maintains compatibility with previous versions of the operating system by supplying an interface between 16-bit and 32-bit code, called a thunking layer. The purpose of the thunking layer is to convert code and memory objects from 16-bit to 32-bit and back. A 32-bit thunk binds 32-bit code to 16-bit code. A 16-bit thunk binds 16-bit code to 32-bit code. This makes it possible for 16-bit and 32-bit modules to coexist. Memory is addressable from each model through a technique called tiling.

3.2 Application Programming Interface

The OS/2 application programming interface (API) gives applications access to all the features of the operating system. These features, such as windows, device-independent graphics, and multitasking, enables you to create applications that make optimal use of the computer’s memory, display, and processor while still meeting the needs of a wide range of users through either the traditional character-based interface or the PM graphical user interface.

The OS/2 application programming interface consists of functions that can be organized into the distinct groups shown in table 3.1.

GROUP USAGE

DDF Dynamic-data formatting functions. Use to create and manage online, context-sensitive help information dynamically. These functions let you display both text and graphics and set up hypertext links between information units.

DEV PM device functions. Use to open and control PM device drivers. These functions let you create device contexts that you can associate with a presentation space and use with the Gpi functions to carry device-independent graphics operations for displays, printers, and plotters.

DOS Control Program functions. Use in full-screen and Presentation Manager sessions to read from and write to disk files, to allocate memory, to start threads and processes, to communicate with other processes, and to access computer devices directly. Most functions in this group can be used in PM applications.

DRG Direct manipulation functions. Use to move graphical representations (icons, for example) around the screen using a pointing device, such as a mouse. Drg functions let you initialize the structures that convey the necessary information about each object to the target and which describe the image to be displayed during the drag operation. They provide the system with the type, rendering mechanism, suggested name, container or folder name, name, true type, and native rendering mechanism of the objects being manipulated.

GPI Graphic-programming-interface functions. Use to create graphics output for a display, a printer, or other output devices. The Gpi functions give you a full range of graphic primitives, from lines to complex curves to bit maps. You choose the attributes for the primitives (such as color, line width, and pattern) and then draw lines, character, and shapes. The retained-graphics capability lets you save the drawings in segments and build complex pictures by drawing a chain of segments.

PRF Profile functions. Use to tailor some of the aspects of the system, including the names of ports, printers, printer drivers, and queues. Prf functions also enable you to change the spooler path, screen colors, the default printer and queue, the program list, and application settings.

SPL Spooler functions. Use to allow your applications to write data direct to a spool file. This means that data by-passes the presentation driver, so it must be in a format that the printer can understand. Your applications must format the data.

WIN Window-manager functions. Use to create and manage windows. PM applications use windows as the main interface with the user. Win functions let you create menus, scroll bars, and dialog boxes that let the user select commands and supply input. Your application receives all mouse and keyboard input as messages from the message queue. Win functions let you retrieve messages from the queue and dispatch them to the window for which the input is intended.

Table 3.1: OS/2 Function Groups

3.3 Comparison of 16-BIT and 32-BIT OS/2 Functions

Many Control Program functions have been renamed, replaced, or enhanced. The new guidelines used to name functions ensure compliance with Get, Set, and Query semantics used in PM-SAA conventions, the use of action verbs before nouns, and the use of consistent semantics for similar actions. Some 16-bit functions have been redesigned for the 32-bit environment, in particular memory-management, semaphore, and signal functions.

Control Program functions that have changed in the 32-bit version of the operating system include:

• Memory management functions

• Thread and Process functions

• Semaphore functions

• Pipe, queue, and timer functions

• Dynamic linking functions

• Device I/O functions

• File system functions

• Message retrieval functions

• Code-page management functions

• Session management functions

• Error management functions

• Signal functions

• Exception management functions

• VDD services functions

Many 16-bit PM functions have been replaced by new functions in the 32-bit function set, while others are no longer available. The functions which are no longer available affect the following areas:

• Heap management • Installed program list

• Initialization file

• Window locking

New functions are available for:

• Printing

• Workplace

• Customizing help information

• 32-bit migration

• Standard dialogs

• Pop-up menus

• Desktop background

• Paths, regions, and bit maps

• Fonts and characters

• Polylines

• Transformations

In addition, new window controls, hook capabilities, and helper macros are provided.

3.4 Object-Oriented Programming using SOM

Object-oriented programming is a programming paradigm based on objects, which are programming constructs designed to reflect items in the real world. An object consists of both the data necessary to describe a real-world item, and the functions necessary to describe the behavior of the item. This is in contrast to the structured programming model, which focuses on the things that can be done to the data (the functions), and which treats the data only as something to be acted on. Objects bind together the data that describes an item and the functions that act on the data.

The basic unit of organization in object-oriented programming is the object, which is a data structure that consists of data and functions. The data is called the object’s state. The functions that define the object’s behavior are called methods. Objects are instances, or instantiations, of a class. A class is a description of an object. It defines the data that represents the object’s state, and the methods that the object supports.

OS/2 2.0 includes a language-neutral object-oriented programming mechanism called the System Object Model. SOM is specifically designed to support the new, object-oriented paradigm, and to be usable with both procedural (non-object-oriented) languages and objectoriented languages. (This release of SOM only supports the C language.) SOM is not a language–it is a system for defining, manipulating, and releasing class libraries. SOM is used to define classes and methods, while allowing the developer to choose a language for implementing these methods. Most programmers will therefore be able to use SOM quickly without having to learn a new language syntax. SOM objects are language-neutral. They can be defined in one programming language and used by applications or objects written in another programming language.

SOM consists of a run-time library and a set of utility programs that support building, externalizing, and manipulating software objects.

3.5 OS/2 2.0 Workplace Programming Interface

In OS/2 1.x, the desktop is a collection of windows or icons representing windows associated with applications. In OS/2 2.0, the desktop is a collection of objects (icons) and windows associated with those objects. The desktop (which is also an object), the objects that appear on the desktop, and the underlying code supporting these objects constitute the OS/2 Workplace Shell, the default user interface for OS/2 2.0.

The OS/2 Workplace Shell provides an object-oriented user environment that is based on the 1991 CUA guidelines. It provides a seamless environment, where all services are task-oriented and the user is shielded from the complexities of the operating system. The user can perform tasks faster and easier and with a shorter learning curve.

While object-oriented user interfaces share some concepts with object-oriented programming, user objects may not necessarily correspond to software objects. Object-oriented programming can make the development of an object-oriented user interface easier. However, an object-oriented user interface can be developed with more traditional programming languages and tools.

The OS/2 Workplace Shell is an example of a user interface developed using objectoriented programming, specifically, the IBM System Object Model. In fact, every user object in the OS/2 Workplace is an instance of a Workplace software class object. There is a one-to-one correspondence between Workplace (user) objects and Workplace (software) classes.

Class definitions for the user objects in the OS/2 Workplace are provided in the Developer’s Toolkit for OS/2 2.0. Application developers can create their own objects for the Workplace by subclassing the predefined Workplace classes.

3.6 Application Development Tools

IBM has produced a complete set of 32-bit programming tools that offer an easy-to-use, advanced platform on which to develop complex OS/2 2.0 applications.

3.6.1 C SET/2

C Set/2 is a 32-bit SAA C-language compiler, designed to maximize the performance of applications by exploiting the speed and power of 80386-and 80486-based computers. It comes complete with run-time libraries and a fully interactive, full function, source-level Presentation Manager debugger.

The C Set/2 compiler is designed to focus on code optimization. A number of performanceenhancing features include:

• Register-linkage convention for passing parameters

• Improved memory management

• Inlining of selected library functions

• Memory file I/O support

• Fast floating-point optimization

During the compile operation, the application developer can view error messages on three levels, as well as LINT-like warning messages grouped in subsets that can be turned on and off.

The C Set/2 compiler provides problem determination aids including:

• Debug-memory-management functions

• Source-code listings with assembler listings

• Expanded macros and the layout of structures

• Precise diagnostic messages

The Presentation Manager debugger features a graphical user interface, source-level debugging, step-mode debugging, and Presentation Manager application debug support.

C Set/2 requires the Developer’s Toolkit for OS/2 2.0 (Toolkit) and is designed to take advantage of the IBM WorkFrame/2 product.

C Set/2 is available in 3.5-inch diskettes (10G2996) or 5.25-inch diskettes (10G3293).

3.6.2 Developer’s Workbench

The Toolkit and WorkFrame/2 are packaged together in the Developer’s Workbench to allow application developers to start up on OS/2 2.0 with a small investment and to continue to use their own favorite tools. Developers who want to make the best use of the OS/2 2.0 API functions should have the Workbench, no matter what compiler they choose.

The Developer’s Workbench is available in 3.5-inch diskettes (10G4333) or 5.25-inch diskettes (10G4334).

3.6.2.1 Developer’s Toolkit for OS/2 2.0

The Toolkit is a collection of sample application programs, programming tools, library files, header files, include files, and online documents.

The Toolkit comes with 30 sample programs. Most sample programs are written in Clanguage and demonstrate the use of API functions of the control program (base operating system) and the Presentation Manager interface. There also are assembler language and REXX sample programs.

The Toolkit provides several application-management tools, including tools for creating message files that can be bound to applications, executable files, library files, and make files. Presentation Manager tools enable application developers to:

• Develop a user-help interface or online documents

• Add resources to applications, such as message strings, menus, and dialog boxes

• Create dialog boxes or change controls in existing dialog boxes

• Modify raster fonts to construct images, such as lines, circles, or other geometric shapes

• Create icons, pointers, and bit maps

• Implement workplace objects

• Create workplace object classes and instances of workplace object classes

Because OS/2 2.0 provides different names and entry points for 16-bit and 32-bit functions, the Toolkit provides two sets of .LIB files to support mixed-mode programming. Also provided are source 32-bit C-language header files that contain OS/2 API function definitions, and source assembler language include files for the assembler-language programmer.

The Toolkit contains online documents that describe:

• Control Program and Presentation Manager API functions

• The Information Presentation Facility (IPF) tag language, compiler, and help facility • REXX functions

• Classes and Methods used for object-oriented programming

• The tools available with the Toolkit

For a description of each Toolkit online document, see ”Toolkit Information.”

The Toolkit is available in 3.5-inch diskettes (10G3355) or 5.25-inch diskettes (10G4335).

3.6.2.2 WorkFrame/2

The WorkFrame/2 is a customizable, project-oriented, graphical user interface that makes developing applications simple and straightforward. The WorkFrame/2 has its own set of tools, supplementing those of the Toolkit. It starts the Toolkit tools, as well as other IBM and non-IBM tools, from a menu.

The WorkFrame/2 is available in 3.5-inch diskettes (10G2994) or 5.25-inch diskettes (10G3292).

3.6.3 C Developer’s Workset/2

A complete set of tools is packaged in the C Developer’s WorkSet/2, which contains the following:

• C Set/2: a 32-bit C compiler and PM debugger

• Developer’s Workbench for OS/2 2.0: a package containing the Toolkit and Work-Frame/2

The C Developer’s WorkSet/2 is available in 3.5-inch diskettes (10G2995) or 5.25-inch diskettes (10G3663).

3.6.4 OS/2 Technical Library

The OS/2 Technical Library is a companion product to the Toolkit. It contains 17 books of guidance and reference information. The guidance books are a complete guide to designing, writing, and building OS/2 2.0 applications. The reference books are a reference to all the API functions. For a description of each book and its corresponding part number, see ”OS/2 2.0 Technical Library.”

Part II Planning

38

Planning for Installation

This chapter presents an overview of hardware requirements and installation procedures for OS/2 2.0.

4.1 Hardware Requirements

The topics that follow discuss hardware and support requirements for the OS/2 2.0 operating system. To help you plan user configurations, worksheets are provided that include memory and hard disk requirements for specific components and features.

4.1.1 Minimum Configuaration

OS/2 2.0 is designed for personal computers with the following minimum requirements:

• Intel (or compatible) 80386SX microprocessor

• 4MB of memory

• 60MB hard disk with 15-30MB of free disk space

• 2-button mouse or other pointing device

4.1.1.1 Microprocessor

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) 80386 (or higher) microprocessor. The 80386SX microprocessor provides adequate performance for those who work in lower-demand application environments. In most environments that demand multiple concurrent processes, the 80386DX will be adequate for satisfactory performance. For computers that will be used as network servers, consider the 80486 series. Also consider the 80486 series for those who expect to switch frequently and rapidly among a large number of concurrent tasks. See Appendix A, ”Supported Hardware” for a list of IBM systems that fulfill this processor requirement and for some information about the compatibility of personal computer equipment from other manufacturers.

4.1.1.2 Memory Requirement

The topics that follow discuss memory and disk storage information that you need to consider for OS/2 2.0. 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.

The minimum memory requirement for OS/2 2.0 is 4MB, but up to 128KB is used on some computers for ROM-to-RAM (read-only memory to random-access memory) remapping. Some systems use more than 128KB for other hardware purposes, so that less than the minimum required memory is available. On these systems, another 512KB to 1MB would satisfy the minimum requirement. You should check such systems to see if there is a way to replace the memory so that the minimum requirement is met. For more information about memory and performance, see Chapter 5, ”Optimizing Performance.”

4.1.2 Storage Capacities

The OS/2 2.0 operating system can manage storage of the following sizes:

Memory

TOTAL PHYSICAL

MEMORY

4GB

VIRTUAL OS/2 SESSION

SIZE

512MB

VIRTUAL DOS SESSION

SIZE 628KB of conventional memory and 32MB of LIM EMS or LIMA XMS

VIRTUAL WIN-OS/2 SES-

SION SIZE

64MB

Hard Disk

USING HPFS  2GB file, 64GB partition
USING FAT  2GB file, 2GB partition

4.1.3 Disk Space

The estimates in the topics that follow apply only to the operating system, file systems, swapped-out memory, and print-spool jobs. They do not consider disk space for installing application-program files, or for using applications that result in large volumes of stored data. Consult the documentation accompanying an application to determine disk space requirements for the application and associated files.

4.1.3.1 For the Operating System

If most or all of the options are selected during operating-system installation, OS/2 2.0 requires a partition with a minimum size of 30MB. If no options are selected, the basic components of the operating system require a 15MB partition.

If some options are selected, the required size of OS/2 2.0 varies between 15MB and 30MB. For example, if the Tutorial and Command Reference portions of the online documentation are not installed, 850KB less disk space is required. Each printer driver takes 250KB to 1MB disk space, so it is advisable to install only those needed for the installed printers.

4.1.3.2 For File Systems

Disk space is also required for storing file system data structures. As data-file disk needs grow, consider increasing the amount of memory allocated to cache, as well. The ratio between disk cache and maximum file system size affects the performance of applications that retrieve data from a hard disk.

HPFS  Uses approximately 5% of available disk space.
FAT  Uses up to 64KB for each partition.
CD-ROM Uses 0.1MB.

For large file systems, add more memory to accommodate a larger cache size.

4.1.3.3 For Swapped-Out Memory

Allow disk space of approximately 8MB for the swap file (SWAPPER.DAT), which is the file where the operating system stores those memory pages it moves out of memory. For more information, see ”Swap File.”

4.1.3.4 For Print-Spool Jobs

The system sets aside space for a spooler to hold print jobs while they wait for the next available printer. If you print large (printer-specific or binary) jobs, or your application requirements create many print jobs per hour, allow more space for the spool queue.

You can put the spool queue on a different disk by changing the path setting of the spooler object.

4.2 Worksheets

The worksheets that follow can help determine the hardware capacity requirements for a particular OS/2 2.0 configuration. The first worksheet provides suggestions for estimating memory requirements. The second provides suggestions for estimating hard disk requirements. If a range is given, refer to the notes to help determine the configuration.

4.3 Installation Overview

This section is an overview of the OS/2 installation program. More detailed information about installation can be found in the OS/2 2.0 Installation Guide.

When users begin the installation of OS/2 2.0, they are asked to make decisions about formatting and partitioning the hard disk. After they answer these prompts, they are presented with a set of graphical installation screens. These screens use the standard Presentation Manager interface and provide feedback on the progress of the installation.

Users can tailor their systems by selecting only those features that are useful to them. They can choose to install all features, a preselected set of features, or only those features that they specify. These choices are further described under the heading ”Choosing Features.” If users decide not to install certain features, they can add them later, using the Selective Install utility program in the System Setup folder.

The list that follows is an overview of the choices users can make during installation:

• System Configuration

The installation program checks the configuration of the hardware and installs support for the devices it finds.

• Install Device Drivers

If a system has a hardware device that comes with a separate device support diskette (for example, an optical disk drive), the user can install that support during installation.

• Configure WIN-OS/2 Desktop

If users choose to install support for running Windows applications, they can tailor the way WIN-OS/2 sessions are displayed.

• Migrate Applications

If users have existing OS/2, DOS, or Windows applications on a hard disk, they can choose to migrate them to the OS/2 desktop during installation.

• Migrate CONFIG.SYS/AUTOEXEC.BAT

If users have a CONFIG.SYS or AUTOEXEC.BAT file from an existing operating system, they can choose to have the information from that file copied to the OS/2 CONFIG.SYS and AUTOEXEC.BAT files.

• Select Printers

Users can install only one printer driver during the initial OS/2 2.0 installation. If all printers use the same driver, that one driver is sufficient. Users can install additional printer drivers later.

NOTE: For faster turnaround time when multiple printers are connected to a system, select printers that use the same printer driver. Users then can pool (print to two or more ports), enabling a system to select the first available device for each print job.

4.3.1 Selecting Installation Media

OS/2 2.0 can be installed in the following ways:

• From the OS/2 2.0 installation diskettes

Much of the information needed to install OS/2 2.0 is on installation screens and their associated help screens. Users also can consult the OS/2 2.0 Installation Guide for assistance during installation.

• From the installation diskettes using a response file

If you will be setting up several workstations for others, you might want to use a response file. Typically, a person who is installing the operating system answers questions when prompted by the installation program. If you use a response file, it is not necessary to answer any questions. All the answers are in the response file. First, you install OS/2 2.0 in the usual way. Next, you modify the sample response file provided in the INSTALL directory of the installed system. Then you copy the modified response file and the RSPINST.EXE file to a copy of Diskette 1 and begin the next installation. Now, however, the installation program will read the file instead of prompting you for information. OS/2 2.0 will be installed in exactly the same way on each system, and all you have to do is insert and remove diskettes when prompted.

• From a LAN

If you are planning to install OS/2 2.0 from a LAN, you might want to order a copy of OS/2 Version 2.0: Remote Installation and Maintenance (GG24-3780).

4.3.2 Installing Multiple Operating Systems

Many of the decisions to be made about the installation of OS/2 2.0 depend upon whether an operating system is already installed and whether it is desirable to keep that operating system in addition to OS/2 2.0.

Two features of OS/2 2.0 allow users to install and use more than one operating system:

• Dual Boot

• Boot Manager

4.3.2.1 Dual Boot

With the Dual Boot feature (available in this and earlier versions of the OS/2 operating system), users can add OS/2 2.0 to a partition that already contains DOS. Users then can shut down one operating system and switch to the other one when necessary.

If a DOS partition has sufficient space, a user can install OS/2 2.0 without repartitioning the hard disk.

The primary partition must be large enough to accommodate both DOS and the OS/2 operating system. (Note that the partition size required by OS/2 2.0 depends upon which features the user installs.) When planning partitions, calculate the size of both operating systems and also the growth of a swap file. (A swap file contains segments of a program or data temporarily moved out of main storage.) See ”Swap File.”

For example, if DOS currently takes up 4MB and the user is going to install all features of OS/2 2.0 (which require 30MB), the primary partition should be at least 40MB. (This will allow room for a swap file.) If the user intends to place applications and data in the primary partition, the partition will have to be large enough to accommodate those also. If the existing primary partition is not large enough, use the DOS FDISK command to change the hard disk setup. Follow the instructions in the DOS documentation.

4.3.2.2 Boot Manager

With the Boot Manager feature, each time users start their computers, they can choose which operating system to load. The operating systems are installed in separate partitions on the hard disk.

The Boot Manager requires its own 1MB partition. It must be installed in a primary partition on the first hard disk that is connected to the computer. In addition, there must be room on the hard disk for all operating systems that will be installed. If there is sufficient free space on the hard disk, some or all existing partitions can be preserved. However, if there is not sufficient free space, existing applications and data must be backed up before repartitioning the hard disk during installation.

4.3.3 Installing Over Existing Operating Systems

The following sections discuss considerations for installing OS/2 2.0 over existing operating systems.

4.3.3.1 OS/2 Standard Edition

When you install OS/2 2.0, it replaces any existing version of the operating system. For example, if OS/2 Standard Edition Version 1.3 is on the hard disk, OS/2 2.0 will replace the operating-system files, but will leave other programs and data intact. However, if you want to keep the earlier version of the OS/2 operating system on the hard disk (so that both versions are available) and there is at least 1MB of free space on the hard disk (for the Boot Manager partition), you can install the Boot Manager during the OS/2 installation.

4.3.3.2 OS/2 Extended Edition

If you install OS/2 2.0 on an OS/2 Extended Edition system, the base operating system files will be replaced. OS/2 2.0 does not replace the Extended Edition components (such as Communications Manager). You will need to upgrade these components to products (now sold separately) that are compatible with OS/2 2.0. You can upgrade to Extended Services to restore Communications Manager and Database Manager functions. You can upgrade to LAN Server 2.0 to restore LAN Requester and LAN Server functions.

4.3.3.3 OS/2 Version 1.3 with LAN Server 2.0

If LAN Server 2.0 is already installed, install OS/2 2.0, and then reinstall the LAN Server software.

4.3.3.4 OS/2 Version 1.3 with Extended Services 1.0

If Extended Services 1.0 is already installed, install OS/2 2.0, and then issue the ESRESTOR command to restore Extended Services functions.

4.3.3.5 DOS

As described earlier, you can add OS/2 2.0 to a DOS partition and use the Dual Boot feature. Another way to keep DOS is to place OS/2 2.0 in a separate partition of the hard disk and use the Boot Manager to select an operating system when starting the computer.

If users no longer need to use DOS separate from OS/2, you can do one of the following:

• Install OS/2 2.0 without performing any of the Dual Boot setup procedures. During installation, you will receive messages informing you of steps you can take to set up for Dual Boot. You can ignore these messages. DOS files will still exist on the hard disk, but the user might not have access to them.

• Back up all programs and data that you want to save and then format the hard disk when you install OS/2 2.0. (Refer to the DOS documentation for information about backing up programs and data.)

4.4 Planning Disk Space

If you are going to partition hard disks, you should carefully plan the allocation of disk space. The following table provides guidance on the minimum partition sizes needed for various versions of DOS and the OS/2 operating system. This table also tells whether the operating system must be in a primary partition or in a particular disk position.

Note that some products (such as Extended Services for OS/2) require extra space in the OS/2 partition, even if they are installed in their own partitions. For more specific information about partition sizes, see the documentation that came with the product you are installing. For example, if you are installing Extended Services for OS/2, refer to the Extended Services of OS/2 Hardware and Software Reference for specific guidance.

If you are going to install multiple operating systems, read Chapter 4 of the OS/2 2.0 Installation Guide before starting the installation. Determine the amount of partitioned disk space you need for each operating system. Consider the following:

• If you prefer, you can leave existing partitions until you have completely transferred data-processing operations to the new OS/2 version.

• If multiple types of file systems are needed, determine if you want them in a separate partition, or placed on a logical drive.

• If users have applications that require other operating systems, such as AIX(*), check the amount of storage space recommended by the supplier.

When determining how much space to allocate for the OS/2 partition, consider some of the tools and applications you will be installing and whether you want to install them in the OS/2 partition or on another logical drive. For example, suppose you are going to install the OS/2 Toolkit. By default, the Toolkit is installed in the partition used for OS/2 2.0. However, you can install it on a separate logical drive if you prefer. See ”Application Development Tools” for more information.

4.4.1 Choosing File Systems

If you are installing OS/2 2.0 on a computer that does not contain an operating system, or if you choose to format an existing partition, you will be asked to choose a file system. You can select either HPFS or FAT.

The FAT file system has been enhanced under OS/2 2.0 to support caching, lazy writing, and the use of extended attributes. These features (described in Chapter 5, ”Optimizing Performance”) were available only with HPFS in previous versions of the OS/2 operating system.

The FAT file system is used by DOS. If users will be loading DOS from a diskette (while OS/2 2.0 is not running) and will need to have access to files in the OS/2 partition, format the OS/2 partition for FAT.

HPFS has features that make it a better choice for larger hard disks. It puts the directory at the seek center of the partition and is designed to allocate contiguous space for files. This feature helps prevent disk fragmentation. HPFS also handles write errors by writing to alternate space reserved for that purpose.

If you format an OS/2 partition for the FAT file system and the system memory is less than or equal to 6MB, support for HPFS is not automatically installed. You can add this support later (for example, if you want to format a partition for HPFS) using the Selective Install utility program (located in the System Setup folder).

4.4.2 Choosing Features

You will have the opportunity to tailor the size and features of the operating system by selecting one of the following:

• Install Preselected Features

If you select this choice, the following features will not be installed:

– CD-ROM Device Support

– The following online information:

∗ Command Reference

∗ REXX Information

– Fonts other than System Proportional, Helvetica , Monospace, and Courier Outline

– The following utility programs:

∗ Display directory tree

∗ Label diskettes

∗ Link object modules

∗ PMREXX

∗ Recover files

– The following productivity aids and games:

∗ Enhanced Editor

∗ Terminal Emulator ∗ PM Chart

∗ Solitaire-Klondike

∗ Reversi

∗ Scramble

∗ Cat and Mouse

∗ Pulse

∗ Jigsaw

∗ Chess

– HPFS support (if you formatted your OS/2 partition for the file allocation table and your system has 6MB or less of memory)

– Optional bit maps

You or users can, however, add these features later using the Selective Install utility program.

• Install all Features

Use this choice to install all features of the OS/2 operating system. Installing all features requires approximately 30MB of hard disk space.

• Select Features and Install

If you select this choice, you can specify exactly which features of the operating system you want to install. The approximate disk space requirements for these features are shown in the section that follows.

If you choose SELECT FEATURES AND INSTALL, you also can perform several other tasks during installation. You can format any logical drives you set up earlier in the installation. You also can tailor the CONFIG.SYS and AUTOEXEC.BAT files. For example, you can change the parameter that controls the growth of the swap file. You also can specify that the swap file be placed on a different drive from the one on which OS/2 2.0 is installed.

The table that follows lists how much disk space is needed for each of the features that you can selectively install:

COMPONENT REQUIRED MEMORY

USER CONFIG.

Base Operating System

3.0MB

High Performance File System (HPFS)

0.3MB

DOS Session(1)

DOS Full Screen

0.3MB

Additional Session

0.2MB

DOS Window  0.3MB

Additional Session

0.3MB

WIN-OS/2 Session

First Session

2.0MB

Additional Session

1.0MB

Active Spooling

0.5MB

Dynamic Data Exchange (DDE)

0.2 - 0.5MB

Clipboard 0.2MB

System Performance Buffer(2)

0.5MB

Applications by Category(3)

Communications

0.5MB

Compilers  0.8MB
Database  1.0MB

Engineering/Scientific

1.0MB

Games  0.2MB
Graphics  1.0MB

Spreadsheets

1.0MB

Tools  0.5MB
Utilities  0.3MB

Word Processors

0.5MB

Totals

(1) Under OS/2 2.0, the amount of memory for each DOS session is dependent upon the characteristics of DOS, particularly its use of extended, expanded, or DOS DPMI memory.

(2) This additional system memory allows better performance in conditions such as application loading, termination, and print spooling.

(3) Memory requirements for specific applications are provided by the suppliers. The numbers given here are only guidelines to help determine total memory size.

Table 4.1: Memory-Estimating Worksheet COMPONENT REQUIRED MEMORY

USER CONFIG.

Operating System(4)

15MB - 30MB

File System Structures

HPFS(5)  3MB - 5MB
FAT  64KB

Printer Device Drivers(6)

250KB - 1MB

Print Spool File Space(7)

1MB - 5MB

Swap File(8) 6MB - >8MB

Application Development(9)

Toolkit  9MB

Online Reference

8MB

Development Tools

8MB

Debug Kernel & Symbols

4MB

Compiler & Libraries

9MB

IBM WorkFrame/2

2MB

Other Applications & Tools(10) Totals

(4) See Table 7 for a detailed breakdown of space requirements for optional features.

(5) The HPFS space requirement is approximately 5% of the disk partition size.

(6) Printer drivers are listed in Appendix A. The sizes of specific drivers can be found by checking the OS/2 2.0 printer driver installation diskettes.

(7) The spool file requirement varies depending on the size and number of jobs to print. For a single user system, 1MB should be adequate.

(8) The swap file size depends on the amount of physical memory available on the system and the kinds of applications being run. See Table 1 for a breakdown of swap file default sizes.

(9) If the system will be used for software development, install a compiler and/or an assembler with the associated libraries and debug tools. See ”Application Development Tools” for more information.

(10) Applications and other tools that are separate from the operating system have their own space requirements. Refer to application documentation for requirements. When possible, plan ahead for for future application purchases and reserve extra space for them.

Table 4.2: Hard Disk-Estimating Worksheet CONTENTS SIZE

HARD DISK CONSIDERATIONS

DOS 3.3 2MB Must be in a primary partition within the first 32MB on the first hard disk.

DOS 4.0 3MB

Must be in a primary partition on the first hard disk.

DOS 5.0 4MB

Must be in a primary partition on the first hard disk.

OS/2 1.X SE 20MB Must be in a primary partition on the first hard disk. Uses less than 20MB, but segment swapping is inhibited.

OS/2 1.X EE 30MB Must be in a primary partition on the first hard disk. Uses less than 30MB with reduced function.

OS/2 2.0 15-30MB Can be in a primary partition or on a logical drive. The size needed varies with the features installed. See Table 5. Note also that the amount of hard disk space required varies depending upon the amount of system memory. If this partition is of minimum size, you might want to place the swap file in another partition. To do this, during installation, select SELECT FEATURES AND INSTALL from the OS/2 Setup and Installation window. Then, select SOFTWARE CONFIGURATION.

Table 4.3: Planning Table for Partition Sizes

OS/2 Feature Overall Feature Size (In MB)

Individual Feature Sizes (In KB)

User Config.

hline CD-ROM Device Support

0.1

CD-ROM IFS

51

IBM CD-ROM Device Drivers

33

Documentation

0.8

OS/2 Tutorial

168

OS/2 Command Reference

387

REXX Information

195

Fonts  1.1
Courier  75
Helvetica  201

System Monospaced

34

Times Roman

193

Courier (Outline)

200

Helvetica (Outline)

160

Times New Roman (Outline)

172

Optional System Utility

1.2

Programs

81

Back up the hard disk

35

Change file attributes

33

Display the directory tree

217

Manage partitions

33

Label diskettes

282

Link object modules

83

Use PMREXX

47

Recover files 29

Restore backed-up files

30

Sort files 265

Use the Installation Aid Tools and Games

5.7

Enhanced Editor

857

Search and Scan Tool

69

Terminal Emulator

1501

PM Chart 1159

Personal Productivity

1333

Solitaire-Klondike

375

Reversi  33
Scramble  59

Cat and Mouse

51

Pulse  29
Jigsaw  68
OS/2 Chess  250

OS/2 DOS and WIN-OS/2 Support

4.3

DOS Protect Mode Interfac Virtual Expanded Memory

20

Management 19

Virtual Extended Memory

Support 9

OS/2 DOS Environment

Only(11) 1.1MB

OS/2 DOS + WIN-OS/2 Environment(11)

4.1MB

High Performance File System

0.4

REXX 0.4

Serial Device Support

0.1

Serviceability and Diagnostic

0.6

Aids Optional Bit Maps

0.2

Totals

(11) Select either DOS Environment Only or DOS + WIN-OS/2 Environment.

Table 4.4: Disk Space Requirements for Optional Features

Optimizing Performance

The basic OS/2 2.0 system requires a minimum of 4MB of memory. This enables users to run applications or other system utility programs concurrently, but it presents a constrained environment (limited memory) for some large applications.

OS/2 2.0 can run concurrent applications that might require more memory than is actually available in the system. It does this by moving the least recently used pages of the operating system or other applications to disk and loading those parts of the application that are needed to perform the requested operation. This paging allows applications to go beyond the system’s physical memory limitation.

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 a result of paging. When planning system memory requirements, consider the functions that the environment uses. Use Table 4 to help determine the necessary memory for the environment.

5.1 Application Considerations

When using applications with the Workplace Shell, consider the following:

• If an application is always used, place the application in the Startup folder. The application will start at system startup.

• If several different applications are used, their objects can be placed on the desktop or in a folder. The folder can be set to open at system startup.

• To avoid reloading applications, minimize the application after use, then maximize the session to use the application again. The application object appears in the minimized window viewer or on the desktop.

• 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.

The application type directly affects the amount of memory required. Consider the amount of memory needed for data and the frequency of activity while an application is in a background session. For example:

• An application creating a spreadsheet uses a large amount of memory while it is processing. Unless automated macros are used to read in disk file data and perform computations, the spreadsheet probably processes only while it is interactive.

Most spreadsheet functions cannot sustain activity long enough to require memory while the user focuses on another task. Therefore, the operating system can page out memory allocated to the spreadsheet and ”lend” it to the interactive task. In this case, adding memory can improve the speed of concurrent tasks, because the operating system must page in any areas of memory it ”borrowed” while a task waited in the background.

• An application processing a lot of data for an extended period of time must continue to have memory available to it, even while a user performs another task. For example:

– If a user starts end-of-period processing in an accounting database application and switches to another task, the accounting application continues to process data in memory.

– If a user initiates a three-dimensional rendering in a graphics application, it can continue to draw while the user focuses on another task.

In these cases, adding memory can improve overall processing performance.

• If a modem is used, the operating system must leave the communication program in memory as long as the connection is needed. When communicating either through a modem or over a LAN connection, the operating system can continue to send and receive data while other tasks are performed. The amount of memory necessary for satisfactory performance depends on the volume of data a user sends and receives.

• Depending on how they are written, applications have different levels of efficiency when using memory.

5.2 OS/2 2.0 CONFIG.SYS Statements

Customizing the OS/2 2.0 CONFIG.SYS file improves performance and reduces memory requirements. This section describes some OS/2 2.0 CONFIG.SYS statements.

Some users might want to shorten the installation process by copying files from a network server or from a previously installed system. However, using the statements from an existing system configuration CONFIG.SYS file for another system might not enable optimum performance of the operating system, because many of the parameters for the CONFIG.SYS statements are dynamically determined based on the configuration of the system. For example, disk cache sizes and swap file sizes are determined by hard disk and memory sizes. Refer to the online help for detailed descriptions of CONFIG.SYS statements and DOS and WIN-OS/2 settings.

DISKCACHE= Specifies the number of blocks of memory to allocate for use by the FAT disk cache, and specifies lazy write and disk-read threshold size.

DISKCACHE speeds up applications that read hard disks by keeping hard disk data frequently accessed in a cache. However, increasing the size of the disk cache decreases the size of available memory. See ”File System Caches” for information about default disk cache sizes.

• If the LW parameter is specified, FAT lazy writing is on. Lazy writing is a feature where by actual writing of data to the hard disk is deferred until the system is idle. This allows control to be returned to an application without having to wait for the completion of I/O operations. The default is On.

• The threshold parameter specifies the number of sectors that will be placed into cache for read operations. Any read operation that is less than the threshold is read into the disk cache first. Therefore, subsequent read operations will probably find the needed data in the cache, thus improving performance. Increasing this value can cause cache space to be used up quickly. Therefore, also increase the cache size.

IFS= This statement is required to install the High Performance File System. Parameters similar to those for the FAT DISKCACHE statement can be specified. The specified cache size and threshold value perform the same functions. See ”File System Caches” for cache size defaults.

Lazy writing for HPFS defaults to On. A RUN=CACHE statement is required to change the state of lazy writing. CACHE also can be executed from a command prompt.

PRIORITY DISK IO= Specifies disk input/output priority for applications running in the foreground. When PRIORITY DISK IO=YES is specified in the CONFIG.SYS file, an application running in the foreground receives disk I/O priority over applications running in the background. Thus, the application in the foreground has better response time than applications running in the background.

LIBPATH=, PATH=, OR DPATH= Specifies the directories to search through to find DLLs, EXEs, and data. Specify the most frequently accessed directories first so the operating system can find them faster.

MAXWAIT= Sets the amount of time a process waits before the system assigns it a higher priority. The amount of time to set depends on the number of concurrent applications and the activities the applications perform. The system default is 3 seconds.

PRINTMONBUFSIZE= Sets the parallel port device driver buffer size, in bytes. This statement is used in conjunction with print monitor programs. This statement enables a user to increase the size of the parallel port device driver buffer and thereby improve performance of data transfer to devices connected to the parallel port. The parallel port device driver allocates and registers its monitor chain buffer based upon the specified value. Ensure that the monitor supports the changing of this buffer.

PROTECTONLY= Selects one or two operating environments. The OS/2 operating system requires this statement in the CONFIG.SYS file.

• The PROTECTONLY=NO statement allows a user to run DOS applications in the 640KB of conventional memory. This allows a user to use both DOS and OS/2 applications.

• The PROTECTONLY=YES statement allows memory under 640KB to be available for OS/2 applications. This memory normally is used for DOS applications. When PROTECTONLY=YES, a user cannot run applications in DOS sessions.

RMSIZE= Specifies the highest conventional memory address allowed for the DOS session.

If PROTECTONLY=NO is specified, a user can reduce the size of the DOS session further by specifying RMSIZE. This allows a user to decrease the size of the DOS session, thereby making more memory available for OS/2 2.0 sessions.

SWAPPATH= Specifies the size and location of the swap file. The swap file (SWAP-PER.DAT) temporarily stores pages that the system has removed from physical memory to satisfy a request for memory. The default location for the file is SWAPPATH=\OS2\SYSTEM.

The operating system pre-allocates the initial swap file size based on the size in the SWAPPATH statement in the CONFIG.SYS file. However, if necessary, as a system runs, OS/2 2.0 increases the size of the swap file.

To change the pre-allocated size in the CONFIG.SYS file, modify the SWAPPATH= statement (sizes are specified in KB). To customize the swap file size for a particular environment, modify the default value to reflect the smallest default value, according to Table 1 (for example, 2MB); then restart the system. Start the desired application, view the OS2\SYSTEM\SWAPPER.DAT file and record the size periodically. Take the largest size that you record and add 1-2MB. If this size is larger than the recommended size in Table 1, choose the larger value. For more information, see ”Swap File.” Normal operation of OS/2 2.0 involves considerable disk activity as operating system functions are loaded and pages are moved in and out of the swap file. To improve performance, consider dedicating a separate partition for the swap file next to the operating system partition. This helps avoid fragmentation of the swap file, because other files will not be added and deleted from the dedicated partition. Disk access time will be minimized. Ensure that the dedicated partition is large enough to contain the swap file as it increases in size.

SET DELDIR= Allows a user to restore files that have been deleted. By default, this setting is commented out because backing up each deleted file slows system performance.

5.3 DOS and WIN-OS/2 Settings

Every object (including program objects) has settings. A user can adjust DOS and WIN-OS/2 settings to improve performance. Settings are properties or characteristics that tell the operating system how the object is different from other objects. Each object has a notebook or pop-up menu choice that allows a user to customize its settings.

For example, a user can customize the settings for a program object to tell the operating system how the application should start each time the program object is opened. Or a user might open the Mouse object to customize the mouse for left hand use.

DOS settings provide the ability to selectively configure and customize a DOS session to meet the requirements of a particular application. Some DOS applications require certain features; others operate better without them. Thus, an individual DOS session can be set up to provide the optimum environment for the application that will run within it.

DOS settings can be changed in either of two ways:

• Settings that can be set only at the time the session is created must be changed prior to starting the DOS session.

• Settings that can be set at any time can be set prior to starting the DOS session, or while an application is running in the session.

The OS/2 2.0 Master Help Index has detailed information about settings.

The following is a list of some settings that control the functioning of screen I/O operations within a DOS session:

VIDEO WINDOW REFRESH Adjusts the time that elapses before a window is redrawn. The values range from 0.1 second to 60.0 seconds (1 minute).

• Increasing the value increases the delay between screen redraws if an application is run (such as a graphics application) that writes frequently to video memory. Increasing the delay between each writing to video memory frees the processor for other application tasks, but increases the delay between screen redraws.

• The default value is 0.1, which represents the interval between window updates.

DOS BACKGROUND EXECUTION Allows DOS applications to run in the background.

• When the setting is set to ON a DOS application runs when it is in the background.

• When the setting is set to OFF a DOS application is suspended when it is in the background. When the DOS application is suspended, it no longer receives interrupts.

• The default is ON.

VIDEO 8514A XGA IOTRAP This setting is used to directly access the Model 8514/A or XGA video.

• Setting this to OFF might make an application run faster. It releases the 1MB of allocated memory where video information is saved in a DOS session.

• Set this to OFF for all WIN-OS/2 sessions that run in 8514 or XGA video modes.

• The default is ON to ensure that the screen image is restored when the screen is switched.

VIDEO SWITCH NOTIFICATION Notifies a DOS application about a switch between background and foreground.

• If this setting is ON, programs that monitor screen switching will save or redraw the screen when the screen is switched. For WIN-OS/2 sessions, set this to ON.

• The default is OFF, because most standard video modes do not use screen switch notification.

The following is a list of some settings that affect the behavior of the OS/2 2.0 DOS emulation environment within a DOS session:

COM HOLD Gives exclusive use of a particular communications port for a DOS session (for example, COM1). ON prevents other sessions from using the same COM port until the DOS session ends.

• Select ON if there is difficulty maintaining communication between a DOS application and a bulletin board.

• The default is OFF.

HW TIMER The timer hardware access setting is used to give an application direct access to Model 8253 timer ports. Set this to ON to prevent the operating system from trapping, or intercepting, the timer request and emulating a timer. Also set it to ON for timing-critical applications.

The default is OFF, which disables direct access to timer ports.

The following is a list of some settings that affect the hardware environment provided by a DOS session:

DOS BREAK The break setting is used when a user wants the OS/2 operating system to check for the Ctrl+Break or Ctrl+C key combinations while an application is running.

• Applications run more slowly when this setting is set to ON.

• The default is OFF.

HW ROM TO RAM Copies the Basic Input/Output System (BIOS) from ROM to RAM.

• When this setting is set to ON, applications might run faster.

• The default is OFF.

KBD ALTHOME BYPASS The Alt+Home bypass setting reserves a key combination for the DOS session. Normally, pressing Alt+Home switches between a window session and a full-screen session.

• ON enables the application in a session to use this key combination for a different purpose. For example, select ON to reserve Alt+Home for a Windows application in a WIN-OS/2 session, particularly a WIN-OS/2 full-screen session.

• The default is OFF.

KBD CTRL BYPASS The Control key bypass setting enables a user to use either Alt+Esc or Ctrl+Esc in a DOS session. Normally, Alt+Esc switches between sessions; Ctrl+Esc displays the Window List.

• The default is NONE.

• Enables switching between tasks in WIN-OS/2 sessions.

IDLE SECONDS Specifies the length of time the operating system waits before applying idle detection in a DOS session. The field for this setting shows the amount of idle time allowed in seconds. Values range from 0 to 60.

• Allows an idle period for an application, such as a game, that waits a brief time after prompting for input, but continues activity if there is no response. If an application appears to run slowly when waiting for input, increase the value in this field.

• The default value is 0.

IDLE SENSITIVITY Specifies a threshold for judging when an application is only waiting for input. The value in this field is a percentage of the maximum frequency with which an application repeatedly checks, or polls for input.

• Increase the percentage if the application can receive input while running and seems to run more slowly than expected. Selecting 100 in this field turns idle detection off, and the application can poll as often as necessary without operating system intervention.

• The default value is 75.

VIDEO FASTPASTE The fast paste setting is used to increase the speed of character Cut and Paste transfers between the clipboard and a DOS session.

• Set this to ON to increase the character speed of Cut and Paste transfers.

• The default is OFF.

VIDEO RETRACE EMULATION Controls the frequency of video retrace. When this setting is OFF, retrace occurs only at the interval specific to the video mode of the running DOS application.

• A few DOS applications run more slowly with this setting set to ON.

• Changing this setting to OFF increases performance, but screen switching is not as reliable.

• The default is ON.

VIDEO ROM EMULATION Controls the emulation of WriteChar, WriteTTY, and full-screen scroll video functions.

• Select OFF if video read-only memory (ROM) provides enhancements to these video functions.

• The default is ON, because the emulated functions enhance performance over most manufacturers’ ROM versions of the same functions.

PRINT TIMEOUT Specifies the number of seconds that elapse before information is sent from a DOS application to a print spool file. The values range from 0 to 3600 seconds.

• Increase the value if the DOS session print jobs are incorrectly divided into more than one print file. This might occur for jobs that print large files, format documents, or run calculations.

• The default value is 15.

The following is a list of some settings that affect the behavior of the EMS and XMS memory extenders when used in a DOS session:

EMS MEMORY LIMIT Defines the amount of EMS available to the DOS session. This setting is expressed in KB units, ranging from 0 to 32768.

• The value should be 0 if a DOS application does not need EMS. This might improve performance.

• This setting enables a user to limit the amount of EMS that an application reserves, which prevents an application from allocating more memory than necessary. A limit that is too high can slow performance.

• The default value is 2MB.

XMS MEMORY LIMIT Specifies the amount of memory that a DOS session can allocate to XMS. This setting is expressed in KB units, ranging from 0 to 16384.

• Specifying a large number for either the global or the per session extended-memory limit can slow performance.

• The default value is 2MB.

DPMI MEMORY LIMIT Defines the amount of DPMI available to a DOS session. This setting enables a user to specify the amount of DPMI memory needed for DOS applications on a per session basis. The field for this setting contains values expressed in 1MB intervals ranging from 0 to 512.

• The value should be 0 if a DOS application does not need DPMI.

• Increase this setting to 6MB for WIN-OS/2 sessions that run more than one application.

• The default value is 2MB.

DPMI NETWORK BUFF SIZE Controls the size in KB, of the network translation buffer for DPMI applications in a session. The range is from 1 to 64KB.

• This setting allows a user to set the size of the translation buffer for DPMI applications, for example, Windows applications that transfer data over a network.

• If a network-specific Windows application does not run correctly under OS/2 2.0, increase this setting, then restart the session.

• The default value is 8KB.

MEM INCLUDE REGIONS Fills any areas between memory addresses of 640KB and 1MB that are designated for EMS, XMS, or a copy of a ROM application.

• Including regions can improve the performance of applications that use EMS or XMS memory.

• By default, this field is empty.

5.4 Maximizing Memory in a DOS Session

The OS/2 2.0 CONFIG.SYS file specifies the operating system configuration and installs device drivers and other memory resident applications. The OS/2 2.0 AUTOEXEC.BAT file is specific to the functioning of the DOS session. To allocate additional memory to applications running in a DOS session, remove unnecessary commands from these files. The following describes why a user might want to change the OS/2 2.0 CONFIG.SYS and AU-TOEXEC.BAT files to maximize memory in a DOS session.

NOTE: Do not remove statements that are required for any DOS session.

5.4.1 Changing the OS/2 2.0 CONFIG.SYS File for a DOS Session

Virtual device drivers used by DOS sessions take little or no memory below the 640KB limit. A user can install device drivers that are required by, and specific to, certain applications that run in a DOS session. If the commands to load these device drivers or other memory resident programs are added to the CONFIG.SYS file, these device drivers (or programs) are loaded into any DOS session. This reduces the amount of conventional memory available to DOS applications.

DOS settings allow a user to customize a DOS session. To ensure that the maximum amount of memory is available in each DOS session, load the necessary DOS device drivers for the DOS application by using DOS settings. For example:

DEVICEHIGH= Loads a specified DOS device driver into an available upper memory block (UMB) for a DOS session.

NOTE: DOS device drivers normally are loaded into low memory (below 640KB) in DOS sessions.

If a UMB is not available, the device driver is loaded into low memory (as a DEVICE= statement). To enable UMBs, include the DOS=UMB statement in the CONFIG.SYS file.

DOS= Specifies whether the DOS kernel will reside in the high memory area (HMA) and whether the operating system or DOS applications will control upper memory blocks.

NOTE: Upper memory blocks are provided by the XMS device driver.

It also is necessary to include a VXMS.SYS statement in the CONFIG.SYS file to have upper memory blocks available.

• With a DOS=HIGH/LOW,UMB statement, the operating system controls the upper memory blocks. This means that DOS applications can be loaded into upper memory but cannot allocate UMBs.

• With a DOS=HIGH/LOW,NOUMB statement, the operating system will not control any UMBs. DOS applications can allocate UMBs but cannot be loaded there.

Eliminate DEVICE= statements for DOS device drivers from the CONFIG.SYS file unless the device driver is required for any DOS session.

5.4.2 Changing the OS/2 2.0 AUTOEXEC.BAT File for a DOS Session

The AUTOEXEC.BAT file is specific to the DOS session and has no effect on the OS/2 operating system. This file contains DOS system commands that run when a DOS session is started. The AUTOEXEC.BAT file starts memory resident programs, such as network programs, and sets up environment variables.

To make as much base memory as possible available to applications, remove any unnecessary commands from the AUTOEXEC.BAT file. Include commands in the AUTOEXEC.BAT file to customize a specific DOS session.

Any changes made to this file affect all DOS and WIN-OS/2 sessions, because all sessions that run DOS emulation (including WIN-OS/2 sessions) share the same AUTOEXEC.BAT file.

NOTE: Do not allow the installation of a DOS or Windows application to change the AUTOEXEC.BAT file supplied with OS/2 2.0. If a DOS command is necessary for a specific DOS application, consider calling a batch file after the DOS session is started.

Part III Appendixes

64

Appendix A

Supported Hardware

OS/2 2.0 is designed to run on personal computers with an Intel (or compatible) 80386SX (or higher) microprocessor, at least 4MB of memory, and a 60MB hard disk with 15-30MB of free space.

A.1 Microprocessors

OS/2 2.0 uses the instruction set of the Intel 80386 microprocessor, and therefore requires a system unit equipped with either an Intel (or compatible) 80386SX (or higher) microprocessor.

IBM systems equipped with such microprocessors include:

• IBM Personal System/1 (2121)

• IBM Personal System/2(*) Model 35 SX (8535)

• IBM Personal System/2 Model 40 SX (8540)

• IBM Personal System/2 Model L40 SX (8543)

• IBM Personal System/2 Model CL57 SX (8554)

• IBM Personal System/2 Model N51 SLC (8551)

• IBM Personal System/2 Model N51 SX (8551)

• IBM Personal System/2 Model 55 SX (8555)

• IBM Personal System/2 Model 56 SX (8556)

• IBM Personal System/2 Model 57 SX (8557)

• IBM Personal System/2 Model 57 SLC(8557)

• IBM Personal System/2 Model 65 SX (8565)

• IBM Personal System/2 Model 70 386 (8570)

• IBM Personal System/2 Model 70 386 (8570) with the IBM Personal System/2 Power Platform(*)

• IBM Personal System/2 Model 70 486 (8570)

• IBM Personal System/2 Model P70 386 (8573)

• IBM Personal System/2 Model P75 486 (8575)

• IBM Personal System/2 Model 80 386 (8580)

• IBM Personal System/2 Model 90 XP 486 (8590)

• IBM Personal System/2 Model 95 XP 486 (8595)

• IBM Ultimedia M57 SLC (8557-259)

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.

IBM has tested key functions of OS/2 2.0, based on selected model configurations provided by the manufacturers of non-IBM hardware systems. Test results are available on CompuServe, Natboard, the National Support Center Bulletin Board System, the OS/2 Bulletin Board System, IBM Forums (OEM and OS2ARENA), and IBMLINK(*). If you need additional information, please consult your hardware suppliers.

A.2 Storage Interfaces

For use by HPFS, the new OS/2 2.0 disk-device driver interface supports reading and writing information to disk drives that have the SCSI bus architecture and the descriptors employed by SCSI protocols. Read and write operations allow data transfer to and from discontinuous memory buffers. SCSI support provides the following advantages:

• Common bus for many types of peripherals, such as Compact Disk-Read Only Memory (CD-ROM) drives, hard drives, read/write optical drives, Write-Once-Read-Many (WORM) drives, and tapes, without the necessity for separate controllers • Up to seven external devices connected to one port

• Second internal hard drive to expand high-volume read-write disk storage

• High-speed performance

• Automatic error correction

A.3 Printers and Plotters

OS/2 2.0 supports a broad range of printers, producing output from OS/2, Windows, and DOS applications.

At the time of this printing, the OS/2 version 2.0 operating system distribution package includes printer drivers that support the models listed below. This list might not be allinclusive because:

• Computer dealers can supply 32-bit OS/2 2.0-compatible printer drivers for devices that are not listed here.

• Drivers might be added to the operating system package after the date of this publication.

The operating system distribution media contain printer drivers that can interpret print jobs for the following devices:

A.4 Matrix Printers

These printers are supported by the printer driver named EPSON.DRV:

Epson 24 pins - 136 columns  Epson LQ-500 24 pins - 80 columns
Epson 24 pins - 80 columns  Epson LQ-510 24 pins - 80 columns
Epson 9 pins - 136 columns  Epson LQ-850 (N9) 24 pins - 80 columns
Epson 9 pins - 80 columns  Epson LQ-850 24 pins - 80 columns
Epson DFX-5000 9 pins - 136 columns  Epson LQ-860 Color 24 pins - 80 columns
Epson DFX-8000 9 pins - 136 columns  Epson LQ-950 (N9) 24 pins - 110 columns
Epson EPL-6000 Laser  Epson LX-800 9 pins - 80 columns
Epson EX-1000 Color 9 pins - 136  Epson LX-810 9 pins - 80 columns
Epson EX-800 Color 9 pins - 80 columns HP DeskJet 500 in Epson EPL-6000 mode

Epson FX-1050 9 pins - 136 columns Panasonic KX-P1123 in Epson LQ-850 mode

Epson FX-286e 9 pins - 136 columns Panasonic KX-P1124 in Epson LQ-2500 mode

Epson FX-850 9 pins - 80 columns Panasonic KX-P1124i in Epson LQ-850 mode

Epson JX-80 Color 9 pins - 80 columns Panasonic KX-P1180 in Epson FX-86e mode

Epson LP-1170 24 pins - 136 columns Panasonic KX-P1191 in Epson FX-86e mode

Epson LP-570 24 pins - 80 columns Panasonic KX-P1624 in Epson LQ-2500 mode

Epson LP-870 24 pins - 80 columns Panasonic KX-P1654 in Epson LQ-1050 mode

Epson LQ-1010 24 pins - 132 columns Panasonic KX-P1695 in Epson FX-1050 mode

Epson LQ-1050 (N9) 24 pins - 136 columns Panasonic KX-P2624 in Epson LQ-1050 mode

Epson LQ-1050 24 pins - 136 columns Epson LQ-2550 Color 24 pins - 136 columns

A.4.1 HP Laserjet and Compatible Printers

These printers are supported by the printer driver named LASERJET.DRV:

Epson EPL-7000  IBM 4029 LaserPrinter 10
HP LaserJet 2000  IBM 4029 LaserPrinter 10L
HP LaserJet 500 Plus  IBM 4029 LaserPrinter 5E
HP LaserJet Classic  IBM 4029 LaserPrinter 6
HP LaserJet IID  KYOCERA F-1000A/F-1000
HP LaserJet III  KYOCERA F-1800A/F-1800
HP LaserJet IIID  KYOCERA F-2000A/F-2200S
HP LaserJet IIIP  KYOCERA F-3000A/F-3300
HP LaserJet IIISi  KYOCERA F-5000A/F-5000
HP LaserJet IIP Plus  KYOCERA F-800A/F-800
HP LaserJet IIP  KYOCERA F-820
HP LaserJet Plus  Panasonic KX-P4420
HP LaserJet Series II  Panasonic KX-P4450
IBM 4019 LaserPrinter E  Panasonic KX-P4450i

IBM 4019 LaserPrinter

A.4.2 HP Paintjet Printers

These printers are supported by the printer driver named SMGXPJET.DRV:

PaintJet  PaintJet XL

A.4.3 IBM Laserprinters

These printers are supported by the printer driver named IBM4019.DRV:

IBM 4019 LaserPrinter E  IBM 4029 LaserPrinter 10L
IBM 4019 LaserPrinter  IBM 4029 LaserPrinter 5E
IBM 4029 LaserPrinter 10  IBM 4029 LaserPrinter 6

A.4.4 IBM Proprinters

These printers are supported by the printer driver named IBM42XX.DRV:

IBM 2380 PPS II  IBM 4202 Proprinter XL
IBM 2381 PPS II  IBM 4207 Proprinter X24
IBM 2390 PPS II  IBM 4207 Proprinter X24E
IBM 2391 PPS II  IBM 4208 Proprinter XL24
IBM 4201 Proprinter(*) II  IBM 4208 Proprinter XL24E
IBM 4201 Proprinter III  IBM 4224 - 01, 02 & E3
IBM 4201 Proprinter  IBM 4224 - C2
IBM 4202 Proprinter II XL  IBM 4226 Model 302

IBM 4202 Proprinter III XL

A.4.5 IBM Quietwriter and Compatible Printers

These printers are supported by the printer driver named IBM52XX.DRV:

IBM 3816 - 01D  IBM 5202 Quietwriter(*) III
IBM 3816 - 01S  IBM 5204 Quickwriter(*)

A.4.6 Plotters

These plotters are supported by the printer driver named PLOTTERS.DRV:

HP 7470A Plotter  HP DraftPro
HP 7475A Plotter  IBM 6180 Plotter
HP 7550A Plotter  IBM 6182 Plotter
HP 7580A Plotter  IBM 6184 Plotter
HP 7580B Plotter  IBM 6186-1 Plotter
HP 7585A Plotter  IBM 6186-2 Plotter
HP 7585B Plotter  IBM 7371 Plotter
HP 7586B Plotter  IBM 7372 Plotter
HP ColorPro  IBM 7374 Plotter
HP DraftMaster I  IBM 7375-1 Plotter
HP DraftMaster II  IBM 7375-2 Plotter

A.4.7 Postscript Printers

These printers are supported by the printer driver named PSCRIPT.DRV:

AST TurboLaser  Olivetti LP 5000
Agfa Matrix ChromaScript v51_8  Panasonic KX-P4455 v51_4
Agfa-Compugraphic 9400PS v49_3  QMS ColorScript 100 Mod 10
Agfa/Compugraphic 400PS  QMS ColorScript 100 Mod 30
Apple LaserWriter II NT  QMS ColorScript 100 Mod 30si
Apple LaserWriter II NTX  QMS ColorScript 100
Apple LaserWriter Plus v42_2  QMS IS X320T
Apple LaserWriter Plus  QMS-PS 1500
Apple LaserWriter  QMS-PS 2000
Dataproducts LZR 1260 v47_0  QMS-PS 2200
Dataproducts LZR-2665  QMS-PS 2210
Digital LN03R ScriptPrinter  QMS-PS 2220
Digital LPS PrintServer 40  QMS-PS 410
Epson EPL-7500 v52_3  QMS-PS 800 Plus
Generic PostScript Printer  QMS-PS 800
HP LaserJet IID v52_2  QMS-PS 810 Turbo
HP LaserJet III v52_2  QMS-PS 810
HP LaserJet IIID v52_2  QMS-PS 815 MR
HP LaserJet IIIP PS v52_2  QMS-PS 815
HP LaserJet IIISi PS v52_3  QMS-PS 820 Turbo
HP LaserJet IIP v52_2  QMS-PS 820
IBM 4019 v52_1 (17 Fonts)  QMS-PS 825 MR
IBM 4019 v52_1 (39 Fonts)  QMS-PS 825
IBM 4029 (17 Fonts 300 Dpi)  Qume ScripTEN
IBM 4029 (17 Fonts 600 Dpi)  Seiko ColorPoint PS Model 04
IBM 4029 (39 Fonts 300 Dpi)  Seiko ColorPoint PS Model 14
IBM 4029 (39 Fonts 600 Dpi)  Seiko Personal ColorPoint PS
IBM 4216-031 v51_4 SheetFeed  Silentwriter LC 890XL v50_5
IBM Personal Page Printer II-30  Silentwriter2 290 v52_0
IBM Personal Page Printer II-31  Silentwriter2 Model 90 v52_2
IBM Personal Pageprinter  TI 2115 (13 fonts) v47_0
KYOCERA P-2000  TI OmniLaser 2108
KYOCERA Q-8010  TI Omnilaser 2115
Linotronics 100 v38_0  TI microLaser PS17 v_52_1
Linotronics 100 v42_5  TI microLaser PS35 v_52_1
Linotronics 200 v47_1  Tektronix Phaser Card v1_1
Linotronics 200 v49_3  Tektronix Phaser II PX v2_0 2
Linotronics 300 v47_0  Tektronix Phaser II PXi v2010
Linotronics 300 v47_1  Tektronix Phaser III PXi v2010
Linotronics 300 v49_3  VARITYPER VT-600
Linotronics 500 v49_3  Wang LCS15 FontPlus
NEC Colormate PS v5_9  Wang LCS15

NEC LC-890

A.4.8 Miscellaneous Printers

MODEL  DRIVER
IBM 5201 Quietwriter II  IBM52012.DRV
Generic, TTY printer  IBMNULL.DRV

A.4.9 WIN-OS/2 Printer Drivers

Printer models supported by the OS/2 2.0 operating system for use with Windows programs are named in the two lists below, along with the appropriate drivers. (This information is also included in the OS/2 2.0 online Master Help Index under the topic WIN-OS/2 PRINTER DRIVERS.) These drivers are shipped on the OS/2 2.0 printer driver diskettes.

Printer drivers in the following list are installed during the installation of OS/2 2.0, when you select the associated printers.

MODEL  DRIVER
Epson (24 pins)  EPSON24.DRV
Epson (9 pins)  EPSON9.DRV
Generic - text only  TTY.DRV
IBM Proprinter (9 pins)  PROPRINT.DRV
IBM Proprinter (24 pins)  PROPRIN24.DRV
IBM 3852 Inkjet Printer  IBMCOLOR.DRV
IBM 4019 Laser Printer  IBM4019.DRV
IBM 5152 Graphics Printer  IBMGRX.DRV
PostScript  PSCRIPT.DRV

Printer drivers in the following list need to be installed through the WIN-OS/2 Control Panel after the installation of OS/2 2.0. Detailed instructions are in the online Master Help Index in the topic SETTING UP A WIN-OS/2 PRINTER.

MODEL  DRIVER
Canon LBP-8II  LBP8II.DRV
Canon LBP-8III and LBP-4  CANONIII.DRV
C-ITOH 8510  CITOH.DRV
HP ThinkJet  THINKJET.DRV
IBM Quietwriter III  QWIII.DRV
Olivetti  OLIPRIN2.DRV
Olivetti  OLIPRINT.DRV
Olivetti DM 600  DM600.DRV
Olivetti TH 760  TH760.DRV
TI 850  TI850.DRV
Toshiba  TOSHIBA.DRV
Fujitsu Dot Matrix  FUJIMTRX.DRV
NEC PinWriter  NED24PIN.DRV

Some printer drivers are supplied by printer manufacturers. Instructions for installing those drivers are in the online Master Help Index in the topic ADDING AN UNLISTED PRINTER.

A.5 Graphics Adapters and Displays

OS/2 2.0 supports displays with a wide range of resolutions. However, it is recommended that you use a VGA or higher resolution display to take advantage of the quality of Presentation Manager interface graphics. The list that follows includes recent releases of IBM displays and graphics adapters, including some with multimedia capabilities such as full-motion video. Also included in the list are some supported touch-sensitive screens.

• IBM 8513 - 12-inch screen

• IBM 8514/A - 14-inch screen

• IBM 7554 - 19-inch screen

• IBM 8516 Touch Display - 14-inch color display with an integrated touch-sensitive surface

• IBM PS/2 TouchSelect - ”snap on” touch screens to fit the IBM 8413 or IBM 7554

• IBM PS/2 TV - desktop television with picture in picture or full-screen video plus normal PS/2 display mode

• Image Adapter/A • M-Audio Capture & Playback Adapter and Adapter/A

• Video Capture Adapter/A

• M-Motion Video Adapter/A

• ActionMedia II Adapter

Generally, DOS and WIN-OS/2 programs cannot write to the screen while in the background. For most WIN-OS/2 programs, the program can continue to run in the background and will redraw itself as soon as you select it for focus. DOS programs remain idle while in the background if they must draw to a screen. For more information, consult the topic DISPLAY ADAPTER SUPPORT FOR DOS AND WINDOWS PROGRAMS in the Master Help Index.

OS/2 2.0 enables you to connect high-resolution displays and adapters such as Super VGA and XGA.

A.5.1 SVGA

The following Super VGA boards have been tested and found to work with OS/2 2.0 for DOS applications that make use of SVGA modes:

• Orchid ProDesigner IIs by Orchid Technology (ISA and MCA versions)

• Trident TVGA by Trident Microsystems, Inc. (8900b and c levels)

• STB PowerGraph VGA by STB Systems, Inc.

• Video Seven VRAM II, by Video Seven

• Boca Super VGA by Boca Research Inc.

• VGA Wonder XL Series by ATI Technologies, Inc.

Please contact the manufacturer of your PC or SVGA video adapter to obtain device drivers and installation instructions for running Windows or OS/2 applications in SVGA modes. Information about SVGA support is available on CompuServe, the National Support Center Bulletin Board System, and the OS/2 Bulletin Board System, as well as many videoboard and system manufacturers’ bulletin boards.

A.5.2 SVGA on Utility

If you have one of the video adapters listed in the previous section and want to run DOS or Windows applications that make use of SVGA, you must turn on OS/2 2.0 SVGA support. The OS/2 Installation program detects the type of video chip in the system; it cannot detect the type of adapter or system board on which the video chip has been implemented. You must determine that you have a supported configuration and then explicitly enable SVGA.

To enable SVGA, type the following at an OS/2 command prompt or DOS full-screen command prompt:

   SVGA ON

Then do a shutdown and restart the system.

A.5.3 SCSI Adapters and Disks

The SCSI standard defines a data-transfer bus architecture and protocols enabling interaction between up to eight different types of computing devices without the necessity for separate controllers.

A.5.4 High-Volume Devices

OS/2 2.0 supports compact disc (CD) and read/write optical drives and other devices used for large-capacity storage in multimedia applications.

Appendix B

International Language Support

IBM provides extensive international language support for the OS/2 operating system.

B.1 Translations

OS/2 2.0 is translated into the following languages:

• Chinese – Peoples Republic of China (simplified)

– Taiwan (traditional)

• Danish

• Finnish

• French

• German

• Italian

• Japanese

• Korean

• Dutch

• Norwegian

• Portuguese • Spanish

• Swedish

In the translated versions, information on the screen and in the manuals is presented in the national language (except commands, device names, and file names, which are based on English).

Users who are bilingual, but regard English as their primary language for computer use, should specify the English version when ordering.

B.2 Bidirectional Support

A new language feature, bidirectional support, is provided in OS/2 2.0 for languages such as Arabic and Hebrew, in which text is read from right to left. With OS/2 2.0, users can type, display, and print national-language characters and English characters from right to left or left to right. This support, which is for full-screen sessions only, is provided automatically when users select ARABIC or HEBREW in the Country Information and Keyboard windows during installation of OS/2 2.0. Bidirectional support can be added after OS/2 2.0 is installed by using SELECTIVE INSTALL. See the manual OS/2 2.0 Using Bidirectional Support for detailed instructions.

B.3 Double-Byte Character Set

Another language feature in OS/2 2.0 is the double-byte character set (DBCS). The DBCS version is provided for those countries, such as Japan, whose primary language requires 2 bytes for each character rather than 1 byte as in the single-byte character set (SBCS). See the manual OS/2 2.0 Keyboards and Code Pages for more information.

B.4 Installing National Language Versions

To have successful international language and country support, several interrelated statements, such as CODEPAGE, COUNTRY, and DEVINFO, must be included in the CON-FIG.SYS file. CODEPAGE identifies the character set; COUNTRY specifies money symbols, decimal separators, and date and time format; and DEVINFO identifies the type of device (keyboard, display, or printer) to be used by the computer system.

Users can have the installation program automatically insert these statements in the CONFIG.SYS file during installation, or they can make the CONFIG.SYS changes manually.

If users install OS/2 2.0 using the SELECT FEATURES option, they are shown several default choices in the System Configuration window, including Country and Keyboard. They can accept these defaults, or they can change them in the window. After the initial installation, they can use the Selective Install object to change or add country support.

B.4.1 Country Choice

The Country choice specifies to the computer the country code, the associated nationallanguage and multilingual code pages, and the appropriate money symbols, decimal separator, and date and time formats.

Users should use their default national-language choices except when they work with files that were created using other national languages or plan to send files to other countries. In those instances, they can use the multilingual code page.

The OS/2 2.0 installation defaults for country information and code pages are listed in Table 8.

When users select a country, both the primary and secondary code pages are loaded into memory at system startup. The primary code page is active by default. Users can switch to the secondary code page during a session by using the Country object in the System Setup folder, or by using the Change Code Page (CHCP) command at a command prompt.

If a country is not listed, the user or planner should review the code-page tables to determine which code page can provide the characters that are most similar to ones used in the country in question. Then the user or planner should select a country code that supports that code page.

B.4.2 Keyboard Choice

The Keyboard choice specifies the layout of the keyboard. Table 9 lists the available keyboard layouts. Refer to OS/2 2.0 Keyboards and Code Pages for illustrations of the keyboards.

B.5 Changing National Language Options

If OS/2 2.0 has been installed, users can quickly check to see which keyboard layout, country code, and code page are being used by entering the command KEYB at an OS/2 or DOS command prompt. Changes can be made at any time.

COUNTRY  COUNTRY CODE PRIMARY  SECONDARY
CODE PAGE CODE PAGE
Arabic-speaking  785  864  850
Asia (English)  99  437  850
Australia (English)  61  437  850
Belgium  32  850  437
Canada (French)  2  863  850
Czechoslovakia  42  852  850
Denmark  45  850  n/a
Finland  358  850  437
France  33  437  850
Germany  49  850  437
Hebrew-speaking  972  862  850
Hungary  36  852  850
Iceland  354  850  861
Italy  39  437  850
Japan  81  932  437, 850
Korea  82  934  437, 850
Latin America  3  437  850
Netherlands  31  850  437
Norway  47  850  n/a
Peoples Republic of  88  938  437, 850

China

Poland  48  852  850
Portugal  351  850  860
Spain  34  850  437
Sweden  46  850  437
Switzerland (French) 41  850  437
Switzerland (German) 41  850  437
Taiwan  88  437  850
Turkey  90  857  850
United Kingdom  44  437  850
United States  1  437  850
Yugoslavia  38  852  850

Table B.1: Country and Code Page Defaults

LANGUAGE  COUNTRY CODE LAYOUT ID
Arabic  AR  238
Belgian  BE  120
Canadian French CF  058
Czech/Czech  CS243  243
Czech/Slovak  CS245  245
Danish  DK  159
Dutch  NL  143
Finnish  SU  153
French  FR120  120
French  FR189  189
German  GR  129
Hebrew  HE  212
Hungarian  HU  208
Icelandic  IS  197
Italian  IT141  141
Italian  IT142  142
Latin American LA  171
Norwegian  NO  155
Polish  PL  214
Portuguese  PO  163
Spanish  SP  172
Swedish  SV  153
Swiss (French)  SF  150F
Swiss (German) SG  150G
Turkish TR 179
United Kingdom UK166  166
United States  US  103P
Yugoslavian  YU  234

Table B.2: Keyboard Layouts

B.5.1 Temporary Changes

After the initial installation of OS/2 2.0, users can change the country and keyboard choices in several ways.

To make changes that will be in effect only until the computer is restarted, users can open the Country object in the System Setup folder. They can then change the country and individual settings for measurement; list and decimal separators; and time, date, and currency formats.

To switch to the alternate code page until the computer is restarted, users can use the Change Code Page (CHCP) command at a command prompt.

B.5.2 Permanent Changes

To make permanent changes in country or keyboard selections, users can either use the Selective Install object in the System Setup folder or make the changes manually in the CONFIG.SYS file. For detailed instructions on changing the CONFIG.SYS file manually, refer to the online OS/2 2.0 Command Reference. The printed version is also available for purchase.

B.6 Understanding Code Pages

A code page is a table that maps a set of characters to a corresponding set of values called code points. Characters are letters, digits, or symbols that the user sees on the keys of a keyboard, on a display, or printed on paper. Code points or character codes are what a computer system uses internally to represent characters when processing, reading, or writing character data.

A code-page table has a number identifier such as code page 437 or code page 850. A code-page table includes language characters, numbers, punctuation, control characters, and special characters. Code page 437 is predominant in the United States. Code page 850 is a multilingual code page; it includes English characters a well as most characters commonly used by many Western European languages.

Processing, displaying, or printing character data in the wrong code page can result in incorrectly presented characters. A word processing file written in Danish or Portuguese using code page 850 in Europe, sent to the United States, and printed using code page 437 might contain errors because code page 437 does not include all the characters and accents of all Western European languages. Code pages 437 and 850 are examples of SBCS code pages. Code pages 932, 934, and 938 are DBCS code pages.

When working with a file that was created in another code page, users can switch to that code page or to the multilingual code page. The multilingual code page (850) is recommended for use wherever possible because it supports many languages and is appropriate in many situations. For example, suppose a user creates a file using code page 850 and sends it to someone in another country. When that file is viewed or printed using code page 850, it is identical to the original. If, however, the file was not created using the multilingual code page, the receiver must switch to the code page that it was created with. Once code pages are defined on a computer system, the user can switch back and forth between the prepared code pages.

In the OS/2 operating system, a program or user can change the active code page. Code pages for the keyboard, display, and printer can be set independently; however, code-page switching can take place only in printers and displays that support code-page switching, including the following products:

• IBM Enhanced Color Display

• IBM Personal System/2 Displays

• IBM Enhanced Graphics Adapter

• IBM Personal System/2 Video Graphics Array

• IBM Personal System/2 Display Adapter

• IBM Personal System/2 8514/A

• IBM 4201 Proprinters (except Model 001)

• IBM 4202 Proprinter XL

• IBM 5202 Quietwriter III

• IBM 4019 LaserPrinters

• IBM 4029 LaserPrinters

If you use non-IBM computer equipment or IBM equipment not listed here, refer to the information that is shipped with your displays and printers to determine if they support code-page switching.

B.7 Understanding Devinfo Statements

The device (DEVINFO) statements in the CONFIG.SYS file prepare a device (such as a keyboard, display, and printer) for code-page switching. Separate DEVINFO statements are required for each device to be used for code-page switching.

There are three different DEVINFO statements:

KBD Prepares a keyboard for code-page switching. The keyboard statement specifies the keyboard layout ID (keyboard country and subcountry codes) and a file named KEY-BOARD.DCP that contains a keyboard layout table for translating keystrokes into the characters of each code page supported by the OS/2 operating system.

SCR Prepares a display screen for code-page switching. The display statement specifies the display name and a file named VIOTBL.DCP that contains a video font table for displaying characters in each of the code pages supported by the OS/2 operating system.

LPT# Prepares a printer for code-page switching. The printer statement specifies the printer name and a file with a .DCP extension that contains a printer font table for each code page supported by the OS/2 operating system.

NOTE: The display and printers each have a default character set. The keyboard and country information default to the national language code page supported by the country code specified in the COUNTRY statement.

For more information on OS/2-supported languages, countries, and code pages, consult the OS/2 2.0 Command Reference (online or printed) and online Master Help Index.

Appendix C

Documentation

OS2/2 2.0 offers hardcopy and online information that describes how to use the operating system to perform many tasks, including the developing of applications.

C.1 Operating System Information

The following describes the hardcopy and online information provided with OS/2 2.0.

C.1.1 Hardcopy Information

OS/2 2.0 Quick Reference This card provides a very brief set of instructions on how to start the installation of the OS/2 operating system. It is intended primarily for those who want to accept most or all of the preselected choices during installation. Note that the card provides only limited instructions to get you started. If you want more detailed information about installing the operating system, use the OS/2 2.0 Installation Guide.

This card also describes how to use the Master Help Index and provides an illustration of the OS/2 Desktop folder. Brief descriptions of commonly performed tasks also are included.

OS/2 2.0 Installation Guide This book describes how to prepare for and install the operating system. It also provides information about installing more than one operating system on a computer.

OS/2 2.0 Getting Started This book describes the graphical appearance of OS/2 2.0 and explains how to perform common tasks using a mouse. It also explains how to use the online information and provides information about some of the features of OS/2 2.0.

OS/2 2.0 Using the Operating System This book describes the features of OS/2 2.0.

OS/2 2.0 Migrating to the Workplace Shell This book provides information about locating and using the features of the Workplace Shell, if you used a previous operating system.

OS/2 2.0 Compatibility Information This book provides product considerations for installing and using OS/2 2.0. It also lists available information about tested hardware and software.

OS/2 2.0 Service and Support Information This card provides information about how to get service and support for OS/2 2.0.

OS/2 2.0 Publications Order Form This order form is provided to enable you to order the following:

• IBM Operating System/2 Keyboards and Code Pages, 10G6312

• OS/2 2.0 Command Reference, 10G6313

• Moving to the OS/2 Workplace Shell videotape, 41G5097

For more information about these items, see ”Related Information.”

C.1.2 Online Information

Start Here This alphabetic list contains an overview of common tasks. It provides a quick path to information about some common tasks you might do on a daily basis.

OS/2 Tutorial This interactive program shows you the basics of the operating system. The tutorial starts automatically after you install the operating system.

Master Help Index This alphabetic list contains all of the information you need to use OS/2 2.0.

Glossary This alphabetic list contains computer and operating-system terms and definitions.

OS/2 Command Reference This information describes how to use OS/2 commands.

REXX Information This information describes how to use the Restructured Extended Executor (REXX) procedures language.

C.2 Toolkit Information

The IBM Developer’s Toolkit for OS/2 2.0 (Toolkit) consists of 3.5-inch diskettes (10G3355) or 5.25-inch diskettes (10G4335). The Toolkit contains:

• The tools you need to write Presentation Manager programs that will run under OS/2 2.0

• Online documentation

• Sample programs

• Getting Started, which explains how to install and use the Toolkit

C.2.1 Online Documents

The Toolkit includes six online documents:

Control Program Reference Provides the C-language syntax for each of the base operatingsystem application programming interfaces (APIs), including input and output parameters, data structures, data types, return codes, and example codes.

Information Presentation Facility Reference Provides guidance and reference information for the design and development of online documents and for the help facility that users of your application will access.

Presentation Manager Reference Provides the C-language syntax for all the API functions for the Presentation Manager, including input and output parameters, data structures, data types, messages, return codes, and example codes.

REXX Reference Provides details of REXX functions, including function syntax, parameters, return values, error messages, and example codes.

System Object Model Reference Provides a complete reference for each of the classes and methods used for the object-oriented programming environment, including SOM C-language bindings, the Object Interface Definition Language syntax, and the SOM compiler command syntax.

Tools Reference Describes the tools that are available with the Toolkit and how to use them.

C.3 OS/2 2.0 Technical Library

The entire library can be ordered with a single part number (10G3356). You also can order each book separately.

Application Design Guide (10G6260) This book provides an overview of OS/2 programming concepts, including guidance on using the SOM to develop applications and create workplace objects. Use this book when building executable files or dynamic link libraries, when writing code for an object-oriented environment, or when migrating from DOS or OS/2 16-bit applications.

Programming Guide A three-volume guide:

• Volume I (10G6261) describes the Control Program for programming functions that are internal to applications, including file system, memory management, exception management, and multitasking functions.

• Volume II (10G6494) describes the Presentation Manager windowed user interface, including messages and message queues, window classes, frame windows, control windows, and window controls. This book also describes how to write a Presentation Manager application so that it conforms to CUA guidelines.

• Volume III (10G6495) describes the graphics programming interface, including graphic primitives, and graphics segments, bit maps, and transformation functions. This book also describes printing and device support.

Information Presentation Facility Guide and Reference (10G6262) Intended for both application developers and information developers (writers), this book provides guidance in using the IPF tagging language and the IPF compiler and serves as a reference for window functions, dynamic data functions, and help manager messages.

System Object Model Guide and Reference (10G6309) Aimed at the programmer experienced in developing object-oriented programs, this hardcopy book repeats the contents of the online reference.

Control Program Programming Reference (10G6263) This book is a hardcopy version of the online Control Program Reference.

Presentation Manager Programming Reference A three-volume hardcopy version of the online Presentation Manager Reference:

• Volume I (10G6264) has an alphabetic listing of the Ddf (dynamic data format), Dev (device), Drg (dragdrop), Gpi (graphics), Prf (profile), and Spl (spooler) API functions.

• Volume II (10G6265) has an alphabetic listing of the Win (window) API functions and the new WP (workplace) methods.

• Volume III (10G6272) contains related information such as graphics-orders, data types, application hooks and procedures, and Presentation Manager messages.

REXX Information • The Procedures Language 2/REXX User’s Guide (10G6269) has two parts: ”Basics” includes frequently used features; ”Advanced Topics” describes special features and includes examples. The book is for the user who wants to learn how to program in REXX.

• Procedures Language 2/REXX Programming Reference (10G6268) describes the REXX function supported by OS/2 2.0.

Device-driver references Three manuals, written for device driver program developers, specify information about the three types of device drivers:

• Physical Device Driver Reference (10G6266) provides category, function code, and calling conventions for I/O control (IOCtl) functions, including those needed for DevHlp routines.

• Virtual Device Driver Reference (10G6310) provides information on virtual DevHlp routines and describes virtual device driver architecture, operations, and inter-device driver communication. It also includes a detailed description of each of the virtual device drivers available with the OS/2 operating system.

• Presentation Driver Reference (10G6267) describes the internal interface between the Presentation Manager interface and the driver, and between the driver and the I/O subsystem. This book also contains information about queue drivers and port drivers. Detailed descriptions of control structures, data structures, and I/O formats also are included.

Common User Access (CUA) Interface Design guides • Systems Application Architecture: Common User Access Guide to User Interface Design (SC34-4289) for software and user-interface designers, describes the principles, components, and techniques of user-interface design in general, and the process of designing a product with a Common User Access (CUA) interface.

• Systems Application Architecture: Common User Access Advanced Interface Design Reference (SC34-4290) lists all of the fundamental and recommended guidelines for designing and developing a product with a CUA interface.

C.4 Related Information

CUA Interface Design Guides • Systems Application Architecture: Common User Access Guide to User Interface Design (SC34-4289) for software and user-interface designers, describes the principles, components, and techniques of user-interface design in general, and the process of designing a product with a CUA interface.

• Systems Application Architecture: Common User Access Advanced Interface Design Reference (SC34-4290) lists all of the fundamental and recommended guidelines for designing and developing a product with a CUA interface.

The following will be available for OS/2 2.0 and can be ordered separately:

Moving to the OS/2 Workplace Shell videotape (41G5097) This videotape provides information for users migrating from DOS, Windows, or OS/2 1.3. Some of the topics included in the videotape are using folders and objects, migrating, customizing, associating, and creating shadows and templates.

OS/2 2.0 Keyboards and Code Pages (10G6312) This reference supplies information for those who use code-page switching to provide support for files that are received from or sent to other countries.

OS/2 2.0 Command Reference (10G6313) The online version of this book, located in the Information folder, is shipped with the operating system. This version is made available for persons who prefer a hardcopy book. As in the online version, this book describes how to use OS/2 commands and has information about the syntax and purpose of each command.

OS/2 2.0 Using Bidirectional Support (41G8688) This book contains a description of bidirectional support, instructions and considerations for using bidirectional functions, and key assignments for and summaries of bidirectional functions.

OS/2 2.0 Remote Installation and Maintenance (GG24-3780) This book provides instructions for installing OS/2 2.0 from a LAN.

IBM Extended Services for OS/2 Information and Planning Guide (G3260161-00) This book provides information for persons planning for the installation and use of OS/2 2.0 Extended Services, including Communications Manager, Database Manager, and Query Manager.

IBM LAN Server Version 2.0 Information and Planning Guide (G3260162-00) This book provides product and planning information about OS/2 Local Area Network (LAN) Server Version 2.0. LAN Server 2.0 includes OS/2 LAN Server, OS/2 LAN Requester, DOS LAN Requester, LAN Adapter and Protocol Support, LAN Support Program, and various utility programs. The comprehensive overview of the main features of LAN Server 2.0 assists in planning for a network running LAN Server 2.0 and is not intended as an in-depth instructional manual.

OS/2 Version 2.0 Volume 1: Control Program (GG24-3730) This book provides detailed information about the Control Program component of OS/2 2.0. It describes memory and task management, debugging support, and enhanced application programming interfaces.

The book also describes installation and national language considerations, and discusses enhanced hardware support.

OS/2 Version 2.0 Volume 2: DOS and Windows Environment (GG24-3731) This book provides detailed information about the Multiple Virtual DOS Machines feature, and support for Microsoft Windows programs. It describes 8086 emulation, device drivers, extended memory support, DOS settings, using specific versions of DOS, and the architecture of Multiple Virtual DOS Machines.

This book also provides technical information about using Microsoft Windows programs and DOS Protect Mode Interface (DPMI).

OS/2 Version 2.0 Volume 3: Presentation Manager (GG24-3732) This book gives an overview on the Presentation Manager component of OS/2 2.0. It introduces the Presentation Manager, describes the enhanced graphical appearance of the operating system, and the enhanced help facilities. The book also discusses programming considerations for 32-bit or a mix of 16- and 32-bit code application development. It describes how to migrate existing 16-bit applications, and describes the support for national languages and double-byte character sets.

OS/2 Version 2.0 Volume 4: Application Development (GG24-3774) This book provides a general introduction to object-orientation, modularization, naming conventions, and other structural considerations for programs designed to run in the OS/2 environment. It also discusses programming and migration considerations for 32-bit, 16-bit, and mixed applications.

OS/2 Version 2.0 Volume 5: Print Subsystem (GG24-3775) This book describes the internal workings of the print subsystem, including the spooler.

IBM Personal Systems Developer (G362-0001) Published quarterly, this publication for OS/2 application developers features programming tips and techniques, software tools, and other useful information.

Appendix D

Training and Customer Support

Various training programs supporting OS/2 2.0 are available from IBM.

D.1 Training

D.1.1 IBM OS/2 2.0 User Workshop

COURSE DESCRIPTION: This hands-on course focuses on basic use of OS/2 2.0. The student is introduced to the concepts of the Workplace Shell, the desktop, and objects, and learns how to use these features

COURSE FORMAT: This is a hands-on course where students will use OS/2 2.0 during interactive demonstrations and in practice sessions. Approximately 95% of course time will be spent using OS/2 2.0.

WHO SHOULD TAKE THIS COURSE: This course is intended for anyone who wants

to know how to use OS/2 2.0. COURSE OBJECTIVES: Upon completion of this course, the student will be able to:

• Identify the standard Workplace Shell desktop objects

• Use the online help information supplied with OS/2 2.0

• Manipulate objects

• Create new objects

• Run DOS, Windows, and OS/2 applications from the desktop

• Transfer data between applications

• Create and configure new printer objects • Print documents

• Customize the system

PREREQUISITES: Students are expected to have a basic knowledge of the personal computer. Previous operating system experience is not required.

COURSE DELIVERY: This course will be offered at IBM Licensed Education Centers. To enroll, call 1-800-PS2-2227 for information on the location of the nearest IBM Licensed Education Centers (LEC).

COURSE LENGTH: One day.

D.1.2 Technical Support Education

D.1.2.1 OS/2 for Technical Support Personnel

COURSE DESCRIPTION: This course focuses on the OS/2 2.0 product. Emphasis is on installation over pre-existing DOS, Windows or OS/2 1.x environments and customization of the desktop to enhance user productivity.

COURSE FORMAT: This is a hands-on course.

WHO SHOULD TAKE THIS COURSE: This course is intended for technical personnel responsible for assisting customers in installation, configuration, and customization of OS/2 workstations.

COURSE OBJECTIVES: Given a customer situation, the student will be able to:

• Discuss and demonstrate key features of OS/2 2.0

• Plan for installation of the product in various end-user environments

• Install and configure OS/2 2.0 over an existing DOS, Windows or OS/2 1.X system, retaining all application function, such that frequently performed functions are readily available on the desktop

• Answer questions about installation and operation of OS/2 2.0

• Assist the customer with program setup: installation, configuration, customization, and application enablement

• Obtain support from IBM

PREREQUISITES: Before taking this course, the student should have installed OS/2 1.x SE or EE without assistance. The student should be able to use the mouse, manipulate windows, and execute programs.

COURSE DELIVERY: This course will be offered in IBM Licensed Education Centers.

COURSE LENGTH: 2 days

D.1.3 Application Developer Education

D.1.3.1 Developer Assistant Workshops

IBM offers a group of Developer Assistant Workshops as part of its OS/2 32-Bit Expedite Program. These workshops have a fee. For information, contact:

OS/2 32-Bit Expedite Program 1000 NW 51st Street International Zip 2230 Boca Raton, Florida 33431 USA Telephone (407)-982-6408

or read the IBM Personal Systems Developer magazine.

IBM OS/2 TECHNICAL SEMINARS: The seminar fee includes class sessions, meals, a workbook, OS/2 2.0 code, sample programs, tools, and documentation. For information about location and registration, call 1-800-548-2464 in the US, or 1-800-465-1234 in Canada.

Summary Of Courses Offered by IBM Customer Education

P1044–Introduction to OS/2 Version 2 Programming P1042–Introduction to DOS for OS/2 P1049–ENFIN/2 Object-Oriented Development for OS/2 P1045–Advanced Programming Techniques for OS/2 Version 2 P1041–OS/2 Version 1 to Version 2 Programming Migration P1043–OS/2 Version 2.0 Facilities and Installation Workshop

The remaining pages of this appendix give a detailed description of each applicationdeveloper course listed above.

D.1.3.2 Introduction to OS/2 Version 2 Programming (P1044)

COURSE DESCRIPTION: This course provides programmers and application developers with the fundamental concepts needed to program simple OS/2 2.0 applications. Lectures and hands-on labs, with sample programs written in C, teach you how to build programs that use many OS/2 2.0 supplied facilities. These facilities include 32-bit memory allocation, multitasking, semaphores, interprocess communications, exception handling, Presentation Manager windows, dialog boxes, controls, and dynamic linking.

COURSE FORMAT: This is a hands-on course.

WHO SHOULD TAKE THIS COURSE: Programmers and application developers. This course is not recommended for nonprogrammers.

COURSE OBJECTIVES: After completing this course, the student will be able to:

• Use the IBM Developer’s WorkFrame/2 programming environment to build simple OS/2 Presentation Manager applications

• Understand the Presentation Manager architecture–windows and their components

• Understand OS/2 terminology–processes, threads, and sessions

• Build OS/2 programs that:

– Use 32-bit memory allocations

– Use PM API function calls to create standard windows, menus, dialog boxes, and controls

– Use standard dialogs for file and font operations

– Use multi-thread and semaphore functions

• Understand dynamic linking and create a dynamic link library

• Understand the importance of messages in Presentation Manager programming and code the Presentation Manager API functions to send and receive messages

PREREQUISITES: Before taking this course, the student must be able to:

• Write C language programs. A working knowledge of C language is required to gain the most benefits from the lab exercises. These skills can be developed by taking various programming language courses offered by IBM or by having equivalent job experience.

• Understand the basic functions of the OS/2 operating system. These skills can be developed by taking OS/2 Installation Workshop (P1019) or OS/2 Version 2 Facilities and Installation Workshop (P1043), or by having equivalent job experience.

COURSE LENGTH: 5 days

D.1.3.3 Introduction to DOS for OS/2 2.0 (P1042)

COURSE DESCRIPTION: This course introduces technical personnel to DOS. This course teaches you DOS file naming conventions and hierarchy, and common DOS commands.

COURSE FORMAT: This is a hands-on course.

WHO SHOULD TAKE THIS COURSE: Technical personnel unfamiliar with DOS who are responsible for installing OS/2 2.0 and for assisting users in their installation and use of OS/2 2.0. This course is offered only as a prerequisite for OS/2 2.0 Facilities and Installation Workshop (P1043).

COURSE OBJECTIVES: After completing this course, the student will be able to:

• View directories, subdirectories, and files

• Identify file types by file extensions

• View and modify CONFIG.SYS and AUTOEXEC.BAT

• Copy, rename, and erase files

• Format diskettes and copy files between diskettes and the hard disk

• Start and stop application programs

PREREQUISITES: None COURSE LENGTH: 1/2 day

D.1.3.4 ENFIN/2 Object-Oriented Development for OS/2 2.0 (P1049)

COURSE DESCRIPTION: This course introduces the features and functions of EN-FIN/2 and covers all aspects of developing object-oriented applications on the OS/2 platform using ENFIN/2. A series of classroom presentations and extensive lab exercises teach application developers and programmers how to build a sample workplace application that conforms to the CUA workplace extension. The sample application includes an interface to the OS/2 Database Manager and an example of the drag and drop interaction technique.

COURSE FORMAT: This is a hands-on course. WHO SHOULD TAKE THIS COURSE: Programmers and application developers who

wish to develop object-oriented OS/2 applications. COURSE OBJECTIVES: After completing this course, the student will be able to:

• Apply object-oriented principles, concepts, and techniques to the application development process

• Use ENFIN/2 features:

– System Transcript Window

– Class Browser

– Designer

– SQL Query Builder

– SmallTalk Language Elements

• Build a simple CUA interface

• Build a workplace application

• Use debugging and programming profiles to fix errors in an application • Use the Database Utility programs and Report Generator to integrate databases

• Work with models

• Identify advanced features

• Identify the issues when migrating to other ENFIN/2 platforms

PREREQUISITES: Before taking this course, the student must be able to:

• Code OS/2 application programs. These skills can be developed by taking various programming language courses offered by IBM or by having equivalent job experience. An understanding of object-oriented programming would also be helpful but is not required.

• Comprehend the basics of the IBM SAA CUA application user interface for the programmable workstation (PWS). These skills can be developed by taking one of the following courses or by having equivalent job experience.

– Designing SAA/CUA Conforming Applications for the PWS (P1033)

– Designing and Implementing SAA/CUA Conforming Applications for the PWS (P1034).

COURSE LENGTH: 4 days

D.1.3.5 Advanced Programming Techniques for OS/2 Version 2 (P1045)

COURSE DESCRIPTION: This course provides programmers and application developers with the information needed to build complex OS/2 2.0 applications. Lectures and hands-on labs, with sample programs written in C language, teach you how to build applications that use advanced OS/2 2.0 functions and techniques.

COURSE FORMAT: This is a hands-on course.

WHO SHOULD TAKE THIS COURSE: Programmers and application developers. This course is not recommended for nonprogrammers.

COURSE OBJECTIVES: After completing this course, the student will be able to:

• Use the IBM Developer’s WorkFrame/2 programming environment to build complex OS/2 Presentation Manager applications including dynamic link libraries

• Understand how messages are used to communicate between windows, processes, and threads

• Build OS/2 Version 2 applications that:

– Use 32-bit flat memory allocations

– Use multiple child windows

– Use window words to allocate window data areas – Use new multi-thread and semaphore functions

– Make full use of the IPF help functions

• Call GPI functions to build complex graphics

PREREQUISITES: Before taking this course, the student must be able to:

• Write C language programs. A working knowledge of C language is required to gain the most benefits from the lab exercises. These skills can be developed by taking various programming language courses offered by IBM or by having equivalent job experience.

• Code, compile, link, and execute simple OS/2 Presentation Manager programs that use standard windows and dialog boxes. These skills can be developed by taking Introduction to OS/2 2.0 Programming (P1044).

COURSE LENGTH: 5 days

D.1.3.6 OS/2 Version 1 to Version 2 Programming Migration (P1041)

COURSE DESCRIPTION: This course teaches programmers and application developers how to convert a Version 1 16 bit OS/2 Presentation Manager application to a OS/2 2.0 32 bit OS/2 PM application. Lectures and hands-on labs with sample programs teach you how to use the new OS/2 2.0 features and explain the steps needed to migrate a 16 bit OS/2 application to a 32 bit OS/2 application. Some of the new OS/2 2.0 features include 32 bit flat memory, multitasking, semaphores, exception handling, new Presentation Manager controls and dialogs, and the workplace shell.

COURSE FORMAT: This is a hands-on course.

WHO SHOULD TAKE THIS COURSE: Programmers and application developers. This course is not recommended for nonprogrammers.

COURSE OBJECTIVES: After completing this course, the student will be able to:

• Use the new workbench programming environment to build complex OS/2 Presentation Manager applications

• Use the new workplace user interface

• Build OS/2 applications that:

– Use 32-bit flat memory allocations

– Call new control window classes

– Use standard dialogs for file and font operations

– Perform direct manipulations with the Workplace Shell

– Use new multi-thread and semaphore functions

– Make full use of the IPF help functions

– Call GPI functions to build complex graphics

PREREQUISITES: Before taking this course, the student must be able to:

• Write C-language programs. A working knowledge of C-language is required to gain the most benefits from the lab exercises. These skills can be developed by taking various programming language courses offered by IBM or by having equivalent job experience.

• Code, compile, link, and execute simple OS/2 Presentation Manager programs that use standard windows and dialog boxes. These skills can be developed by taking one of the following courses or by having equivalent job experience.

– Introduction to OS/2 Presentation Manager Programming (P1013)

– Application Programming for the OS/2 Presentation Manager (P1014)

COURSE LENGTH: 4 days

D.1.3.7 OS/2 Version 2 Facilities and Installation (P1043)

COURSE DESCRIPTION: This course introduces technical personnel to OS/2 Version 2 Standard Edition and Extended Services/2. This course gives you an in-depth view of the facilities and functions required to install and configure the Standard Edition and an overview of the Extended Services components – the Database Manager, the Query Manager, and the Communications Manager.

COURSE FORMAT: This is a hands-on course.

WHO SHOULD TAKE THIS COURSE: Programmers and application developers as a prerequisite for Introduction to OS/2 Version 2 Programming (P1044). Technical people who are responsible for installing OS/2 and to assist users in their installation and use of OS/2.

COURSE OBJECTIVES: After completing this course, the student will be able to:

• Use the OS/2 Workplace Shell graphical user interface to:

– Move and resize windows

– Control currently running tasks with the Window List

– Create and manipulate folder, data, program and device objects

– Launch application programs

– Personalize your desktop

– Change object settings

• Access online information

• Install a printer driver

• Use the OS/2 System Editor or the Enhanced Editor to modify OS/2 system files • Understand what system security and problem determination tools are available

• Use and install the OS/2 operating system incorporating the Boot Manager and Dual Boot capability to run DOS programs

• Understand the use and contents of the OS/2 system configuration file (CON-FIG.SYS)

• Run DOS and Windows programs using the MVDM feature

• Write and execute a simple REXX program

• Create and use an HPFS disk partition

• Create and use a basic configuration diskette for installing Extended Services

• Understand the basics of Database Manager, Query Manager, and Communications Manager

• Use the Query Manager to access information in a database

PREREQUISITES: Before taking this course, the student must understand the basics of personal computers and DOS. These skills can be developed by taking Introduction to DOS for OS/2 (P1042) or by having equivalent job experience.

COURSE LENGTH: 3 days

D.2 OS/2 2.0 Service and Support

D.2.1 Program Defect Support

Program service support for OS/2 2.0 consists of IBM Central Service, including the IBM Support Center. Program services will be available until March 31, 1994.

Program services from IBM are provided through any of the following channels:

• IBM Authorized Dealer

• Technical Coordinator, if one has been identified for you

• Mail in Defect Report Form attached to the Service/Support Information card included with the program documentation

IBM Central Service will respond to a defect in the unaltered portion of the licensed program if the problem can be recreated in the specified operating environment or on other computers not included in the specified operating environment, which have an Intel (or compatible) 80386SX (or higher) microprocessor. IBM Central Service will respond by issuing:

• Corrective service information, such as correction documentation

• Notice of availability of corrected code

• Restriction, or

• Bypass

as determined by IBM.

During the first three months of your license, if IBM cannot provide the defect support described above, you can terminate your license by returning all copies of the program and your money will be refunded.

D.2.2 Enhanced Support Offerings

In addition to the entitled defect support described in the program service section above, the following enhanced support offerings are available.

D.2.2.1 Overview and Positioning of Enhanced Offerings

The following enhanced offerings are targeted to meet different customer requirements. The OS/2 Bulletin Board System (BBS) is targeted for all end users with the appropriate electronic communications equipment. CompuServe will be available as an additional electronic channel for all end users. OS/2 Support Line provides support for OS/2 2.X, as a low cost offering intended for individual users and small businesses. SystemXtra(*) is targeted for customers with multiple systems installed and designated. SystemXtra provides support for OS/2 2.0 Licensed Program Products (such as OS/2 2.0, Extended Services, LAN Server 2.0). SystemXtra also provides Single Point of Contact support for software and hardware, defect and nondefect problems, with premium response within one hour. In addition, End User Support (EUS), a currently available service offering, provides assistance with problems and answers to questions about a variety of IBM and non-IBM hardware and software products, including both operating systems and application programs. This offering is targeted for the PC end user.

D.2.2.2 OS/2 Bulletin Board System (BBS)

This BBS enables the user to electronically access OS/2 technical information, exchange messages with other OS/2 users, submit program defects to IBM and receive information regarding the availability of fixes. For information on registration and access to the OS/2 BBS call 1-800-547-1283.

D.2.2.3 CompuServe

IBM will maintain a forum (IBMOS2) on CompuServe which offers services similar to the OS/2 BBS described above. For membership information call 1-800-848-8199.

D.2.2.4 OS/2 Support Line

The OS/2 Support Line enhances IBM’s entitled Program Services by providing assistance with customer problems including installation, setup, usage and ”how to” questions. This offering provides assistance for currently supported versions of IBM’s OS/2 Version 2.X Operating System only. This offering entitles the registered user to voice support via the toll-free 1-800-237-5511 telephone number from Monday through Friday, excluding national holidays, between 8 AM and 5 PM in the customer’s time zone, in the continental United States.

Licensed OS/2 2.0 customers considering the OS/2 Support Line offering can register for 60 days of the toll-free voice support at no charge. To register for this voice support trial period, mail the registration card portion of the Service/Support Information Card contained in the OS/2 2.0 program package to the preprinted address on the card. Customers can also register for the trial period by calling 1-800-237-5511. All registrants of the 60 day trial period will be mailed a welcome letter describing the terms and conditions of the offering and information regarding the expiration date of the trial period. The OS/2 Support Line is available for an annual subscription fee of $129. To purchase OS/2 Support Line, the customer can simply call 1-800-237-5511 and provide a credit card number. If paying by check or money order an invoice will be mailed to the customer. After purchasing OS/2 Support Line, IBM will notify the registrant of the effective date of the agreement and provide instructions on how to access a number of mini-applications. The OS/2 Support Line offering will be available concurrently with the general availability of OS/2 2.0.

D.2.2.5 SystemXtra for Personal Systems

SystemXtra for Personal Systems is IBM’s premier level of software service for currently supported versions of IBM’s OS/2 Licensed Program Products and other selected IBM licensed program products running on an IBM Personal System/2 or other eligible platform in a Personal Systems environment.

SystemXtra for Personal Systems provides direct access to IBM’s support structure via a toll-free telephone number (1-800-IBM-XTRA) or electronic facility (for customers with IBMLINK authorization) for submission of problems or questions related to eligible Personal Systems products, including currently supported versions of the IBM OS/2 operating system. IBM will provide premium response to SystemXtra customers, responding to all submissions within an hour of receipt by IBM SystemXtra personnel during normal business hours. Emergency support will be provided after hours on a callout basis, within one hour.

IBM specialists will answer questions, provide problem analysis and resolution assistance, and when applicable, coordinate hardware service for machines that are warranted or covered by IBM Maintenance Services. IBM will take ownership of problems and manage them through resolution. Refer to the SystemXtra for Personal Systems Announcement Letter 391-173 for more detail.

(*) Trademark of the IBM Corporation

(**) Trademark of the Microsoft Corporation