\documentstyle[12pt,fullpage,boxedminipage]{report}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\clubpenalty=10000
\widowpenalty=10000

\setlength\parskip{6pt}
\newcommand{\doline}{\rule{4in}{.01in}}
\newcommand{\bslash}{$\backslash$}

\begin{document}

\pagenumbering{roman}
\begin{titlepage}
\begin{centering}
{\large
                               OS/2 2.0

                      INFORMATION AND PLANNING GUIDE
}
 
                     Document Number G326-0160-00


\vspace{3in}
\begin{boxedminipage}{5in}

\hspace{2in}NOTE

 Before using this information and the product it supports, be sure
 to read the general information under "Notices".
\end{boxedminipage}
\end{centering}

\end{titlepage}
FIRST EDITION (APRIL 1992)
 
THE FOLLOWING PARAGRAPH DOES NOT APPLY TO THE UNITED KINGDOM 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 EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 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.
 
 
\section{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.
 
 
\section {TRADEMARKS AND SERVICE MARKS}

\rule{4in}{.01in}

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:

\begin{tabular}{|r|r|}
\hline
AIX & Common User Access \\ \hline
CUA&                              IBM\\ \hline
IBMLINK&                          Micro Channel\\ \hline
OS/2 &                            Personal System/2\\ \hline
Power Platform&                   Presentation Manager\\ \hline
Proprinter&                       Quickwriter\\ \hline
Quietwriter&                      SAA\\ \hline
Systems Application Architecture & SystemXtra\\ \hline
The Integrating Platform         &  Ultimedia\\ \hline
WIN-OS/2                         & Workplace Shell\\ \hline
XGA    &\\ \hline
\end{tabular}
 
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, INCLUDING
WITHOUT LIMITATION, WARRANTIES OF FITNESS AND MERCHANTABILITY WITH
RESPECT TO THE INFORMATION IN THIS DOCUMENT.  BY FURNISHING THIS
DOCUMENT, IBM GRANTS NO LICENSES TO ANY RELATED PATENTS OR COPYRIGHTS.
 
Copyright IBM Corporation, 1992, all rights reserved.
 
\tableofcontents
\listoftables
 

\section{About this Book}

\pagenumbering{arabic}
 
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.
 
 
\subsection{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.
 
 
\subsection{How This Book Is Structured}
 
This book is organized as follows:

\begin{itemize}
\item Chapter 1, ``Highlights of OS/2 2.0'' provides a summary of the
    highlights of OS/2 2.0.
 
\item Chapter 2, ``Managing OS/2 2.0'' discusses memory, file, task, and
    device management.
 
\item Chapter 3, ``Developing OS/2 2.0 Applications'' summarizes aspects
    of application development in the OS/2 2.0 environment.
 
\item Chapter 4, ``Planning for Installation'' provides an overview of the
    hardware requirements for and installation of OS/2 2.0.
 
\item Chapter 5, ``Optimizing Performance'' discusses application and
    performance considerations.
 
\item Appendix A, ``Supported Hardware'' lists the hardware that is
    supported by OS/2 2.0.
 
\item  Appendix B, ``International Language Support'' discusses the
    extensive international language support for OS/2 2.0.
 
\item  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.
 
\item  Appendix D, ``Training and Customer Support'' provides information
    on the training programs and service support for OS/2 2.0
    available from IBM.
 
\end{itemize}


\part{Information}
 
 
\chapter{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.
 
 
\section{Workplace Shell}
\doline
 
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.
 
 
\section{The Intergrating Platform}
\doline

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.
 
 
\subsection{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:

\begin{itemize}
\item Support is no longer required for processes running in real mode,
    such as the DOS box in previous OS/2 versions.

\item DOS and Windows applications are supported in DOS sessions that
    run in protect-mode.

\item Support is provided for applications that use OS/2 and Windows
    multimedia extensions, enabling users to integrate multimedia
    applications.
\end{itemize}

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.
 
 
\subsection{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.)
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{File Systems}
 
OS/2 2.0 comes with a choice of two file systems, High Performance
File System (HPFS) and File Allocation Table (FAT).
 
 
\subsubsection{HPFS File System}
 
HPFS under OS/2 2.0 supports the following:

\begin{itemize}
\item 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).

\item 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.

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

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

\end{itemize}
 
\subsubsection{FAT File System}
 
FAT contains the following enhancements that provide improved
performance and enhanced support for disk hardware devices:

\begin{itemize}
\item 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.

\item 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.

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

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

\item Fast allocation of free space, using a bit map to track free
    clusters on the disk
 
\end{itemize}

\subsection{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.
 
 
\section {Application Compatibility}
\doline

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."
 
 
\subsection{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."
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\section{Installation}
\doline
 
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.
 
 
\section{Migration}
\doline

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.
 
 
\section{Online Help and Information}
\doline

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.
 
 
\section{Productivity Aids and Games}
\doline

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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\section{OS/2 2.0 Tools for Application Development}
\doline

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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
\subsection{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.
 
 
 
\chapter{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.
 
 
\section{Memory Management}
\doline
 
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:

\begin{itemize}
\item 32-bit register set
 
\item 32-bit instructions and addressing
 
\item Large memory objects (greater than 64KB)
 
\item Paging
\end{itemize}

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:

\begin{itemize}
\item The region below 512MB is known as the process address space and
    is available to applications for storage of executable code,
    resources, and data.
 
\item The region above 512MB is reserved for operating system use.

\end{itemize}

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.

\begin{description}
\item[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.
\end{description}
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\paragraph{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.
 
 
\paragraph{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:

\begin{itemize}
\item Upper memory blocks between 640KB and 1MB that DOS can use as
    conventional memory
 
\item 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

\item  An extended memory block
\end{itemize}
 
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:

\begin{itemize}

\item 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.
 
\item Ensure that the CONFIG.SYS file contains the following statement:
 
\centerline{\tt DEVICE=VXMS.SYS}
 
\item 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.
 
\item Ensure that the CONFIG.SYS file and the AUTOEXEC.BAT file do not
    start unnecessary applications that use extended memory.
\end{itemize}
 
\paragraph{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.
 
 
\subsubsection{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).

\begin{description}
\item[NOTE:]  When necessary, the operating system increases the swap file
       size beyond the initial allocation.
\end{description}

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\bslash SYSTEM\bslash 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
\ref{swapper},
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.
 
\begin{table}[htb]
\begin{tabular}{|c|c|c|}\hline
MEMORY (MB) & MINFREE (KB)   & INITIAL SIZE (KB) \\ \hline \hline
4              & 4096       &6144         \\ \hline
5              & 4096       &5120         \\ \hline
6              & 4096       &5120         \\ \hline
7              & 2048       &4096         \\ \hline
8              & 2048       &4096         \\ \hline
9              & 2048       &3072         \\ \hline
10             & 2048       &3072         \\ \hline
11 through 32  & 2048       &2048         \\ \hline
\end{tabular}
\caption{Default SWAPPER.DAT Settings at Installation Time}
\label{swapper}
\end{table}
 
\section{File Systems Management}
\doline

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:

\begin{itemize}
\item 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.
 
\item 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.
 
\item Disk caching in the IFS driver, rather than in the device driver.
 
\item Recognition of devices that have onboard caches (nonsystem
    memory), incorporating them into the total caching scheme.
\end{itemize}
 
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:

\begin{itemize}

\item 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.
 
\item 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.
 
\item Disk caching within the FAT file system, rather than in the device
    driver.
 
\item Recognition of devices that have onboard caches (nonsystem
    memory), incorporating them into the total caching scheme.
 
\item Faster allocation of free space on the logical drive, using a bit
    map to track free clusters on the disk.

\end{itemize}

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.
 
 
\subsection{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.

\begin{itemize}
\item 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.
 
\item 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.
 
\item 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."
\end{itemize}
 
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.
 
 
\subsection{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 \ref{cache}.  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.
 

\begin{table}
\begin{tabular}{|c|c|c|}\hline
MEMORY SIZE IN MB    &TWO FILE SYSTEM     &ONE FILE SYSTEM\\ \hline \hline
4            &128/64         &128 \\ \hline
5            &128/64         &128 \\ \hline
6            &256/64         &256 \\ \hline
7            &256/128        &256 \\ \hline
8            &256/256        &384 \\ \hline
9            &256/256        &384 \\ \hline
10 through 16      &512/512         &1024 \\ \hline
17 through 32      &1024/1024        &2048 \\ \hline
\end{tabular}
\caption{Cache Sizes}
\label{cache}
\end{table}
 
\section{Task Management}
\doline
 
The management of processes and threads running in the system is
simplified and enhanced under OS/2 2.0 in the following areas:

\begin{itemize}
\item Support for processes running in real mode (such as the DOS box in
    previous OS/2 versions) is no longer required.
 
\item Support for DOS applications in DOS sessions that run in a protect
    mode process.
 
\item Protection exception management.
\end{itemize}
 
OS/2 2.0 supports the following types of applications on the desktop:

\begin{itemize}
\item 32-bit applications developed for OS/2 2.0
 
\item 16-bit OS/2 applications developed for previous OS/2 versions
 
\item DOS applications in full-screen mode or in a window on the OS/2
    desktop
 
\item Windows applications running in a WIN-OS/2 full-screen session or
    in a WIN-OS/2 window session on the OS/2 desktop
\end{itemize}
 
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.
 
 
\section{DOS and WIN-OS/2 Support}
\doline
 
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.
 
 
\subsection{Multiple DOS Sessions}
 
DOS supports multiple, concurrent DOS applications, where each runs as
a single-threaded, protect-mode OS/2 application.  This support
provides:

\begin{itemize}
\item Protection of system memory and other applications
 
\item Isolation from illegal memory accesses by applications that do not
    function properly
 
\item The ability to end sessions where applications are suspended
 
\item The ability to start a specific DOS version
\end{itemize}
 
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."
 
 
\subsection{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.
 
 
\subsection{DOS Compativility}
 
OS/2 2.0 provides a redesigned DOS compatibility environment known as
Enhanced DOS Sessions.  Features of Enhanced DOS Sessions include:

\begin{itemize}
\item 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.
 
\item The ability to start many concurrent DOS sessions, each operating
    in its own independent 1MB linear address space.
 
\item The ability to customize the operation of DOS sessions through DOS
    settings.
 
\item The ability to run DOS applications in windows in the PM
    environment.
 
\item Increased available base memory over previous versions of the
    operating system.
 
\item 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.
\end{itemize}
 
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.
 
 
\section{Device Management}
\doline
 
\begin{description}
\item[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.
 
\item[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.
 
\item[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."
 
\item[DOS]
\begin{description}
          \item [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.
\begin{description}
          \item[NOTE:]  Because the device drivers are supplied by DOS and
                 not by the OS/2 operating system, they will not
                 accommodate multiple session activity.
\end{description}

          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.
 
 \item[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.
\end{description}

\item[WIN-OS/2 Sessions]
\begin{description}
          \item[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.
 
          \item[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.
 
\end{description}
\end{description}

\subsection{Multimedia Systems and Devices}
 
 
The following list shows some of the multimedia systems and devices
supported by OS/2 2.0:

\begin{itemize}

\item IBM PS/2 Ultimedia(*) M57 SLC including:
\begin{itemize}
    \item CD-ROM drive, plus compact disc with OS/2 2.0 and other
        software

    \item Headphone and microphone jacks
    \item XGA video adapter
    \item 16-bit audio adapter
    \item Enhanced speaker
\end{itemize}

\item Other supported devices include:
\begin{itemize}
    \item IBM M-Motion Control Program/2 Version 2.0-- authoring tool
        with device drivers
    \item IBM ActionMedia II--all-digital adapter
    \item IBM PS/2 TV
    \item Compression and decompression of digitized photographic images
    \item Videodisc players--two-sided
    \item High resolution and motion displays--touch display, VGA, XGA
        and cable TV
    \item Coupling of LAN for cable TV--combines data and video
    \item Teleconferencing and computer conferencing devices--in
        real-time video windows with "chalkboard" for illustrations
        and markup
    \item Audio and video capture and playback devices--adapter package
        includes new APIs for audio device drivers
\end{itemize}
\end{itemize}
 
\subsection{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:

\begin{description}
\item[Physical Device Drivers]  Communicate directly with hardware devices.
                          They operate in protect mode and are
                          accessed by protect-mode processes and by
                          VDDs.
 
\item[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.
\end{description}

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:

\begin{itemize}
\item 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).
 
\item Disk caching for FAT disk partitions is performed only for devices
    where caching is not provided by the hardware.
 
\item An additional set of request control functions is supported to
    allow direct communication by the HPFS File System Driver (FSD).
\end{itemize}
 
\subsubsection{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:

\begin{verbatim}
  DEVICE=C:\OS2\COM.SYS
  DEVICE=C:\OS2\COMDMA.SYS
\end{verbatim}
 
\subsubsection{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:
\begin{itemize}

\item Enable each DOS or WIN-OS/2 session to act as if it has sole
    control over shared devices
 
\item Prevent any one DOS or WIN-OS/2 session from affecting any other
    session
 
\item Support fast screen I/O
 
\item Support fast communications I/O

\end{itemize}

The following VDDs are provided with the OS/2 2.0 operating system:

\begin{tabular}{ll}
VDD&        DESCRIPTION\\ \hline
 
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\\
\end{tabular}

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:

\begin{verbatim}
  DEVICE=C:\OS2\MDOS\VCOM.SYS
\end{verbatim}

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

\chapter{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.
 
 
\section{Applications Running Under OS/2 2.0}
\doline
 
OS/2 2.0 supports four types of applications: full-screen, window, PM,
and DOS/Windows.

\begin{itemize}
\item 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.
 
\item A window application is a full-screen application that also can
    run in a window, or PM session.
 
\item 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.
 
\item 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 full-screen or windowed, and it can
    be run concurrently with other applications.

\end{itemize}

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

\begin{itemize}
\item 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.
 
\item 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.
 
\item 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.
 
\item 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.
\end{itemize}
 
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.
 
 
 
\section{Application Programming Interface}
\doline
 
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 \ref{function}.

\begin{table}
\begin{tabular}{|c|p{5.25in}|}\hline
GROUP    &USAGE\\ \hline \hline
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. \\ \hline
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.\\ \hline
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.\\ \hline
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.\\ \hline
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.\\ \hline
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.\\ \hline
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.\\ \hline
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.\\ \hline
\end{tabular}
\caption{OS/2 Function Groups}
\label{function}
\end{table}
 
\section{Comparison of 16-BIT and 32-BIT OS/2 Functions}
\doline

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:

\begin{itemize}
\item Memory management functions
\item   Thread and Process functions
\item   Semaphore functions
\item   Pipe, queue, and timer functions
\item   Dynamic linking functions
\item   Device I/O functions
\item   File system functions
\item   Message retrieval functions
\item Code-page management functions
\item Session management functions
\item Error management functions
\item Signal functions
\item Exception management functions
\item VDD services functions
\end{itemize}
 
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:
 
\begin{itemize}
\item   Heap management
\item   Installed program list
\item   Initialization file
\item   Window locking
\end{itemize}

New functions are available for:

\begin{itemize}
\item Printing
\item   Workplace
\item   Customizing help information
\item   32-bit migration
\item   Standard dialogs
\item   Pop-up menus
\item   Desktop background
\item   Paths, regions, and bit maps
\item   Fonts and characters
\item   Polylines
\item   Transformations
\end{itemize}
 
In addition, new window controls, hook capabilities, and helper macros
are provided.
 
 
\section{Object-Oriented Programming using SOM}
\doline
 
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
object-oriented 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.
 
 
\section{OS/2 2.0 Workplace Programming Interface}
\doline
 
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 object-oriented 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.
 
 
\section{Application Development Tools}
\doline
 
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.
 
 
\subsection{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 performance-enhancing features include:

\begin{itemize}
\item Register-linkage convention for passing parameters
\item Improved memory management
\item Inlining of selected library functions
\item Memory file I/O support
\item Fast floating-point optimization
\end{itemize}

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:

\begin{itemize}
\item   Debug-memory-management functions
\item   Source-code listings with assembler listings
\item   Expanded macros and the layout of structures
\item   Precise diagnostic messages
\end{itemize}

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).
 
 
\subsection{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).
 
 
\subsubsection{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 C-language 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:

\begin{itemize}
\item   Develop a user-help interface or online documents
\item   Add resources to applications, such as message strings, menus, and
    dialog boxes
\item   Create dialog boxes or change controls in existing dialog boxes
\item   Modify raster fonts to construct images, such as lines, circles,
    or other geometric shapes
\item   Create icons, pointers, and bit maps
\item   Implement workplace objects
\item   Create workplace object classes and instances of workplace object
    classes
\end{itemize}
 
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:

\begin{itemize}
\item   Control Program and Presentation Manager API functions
\item   The Information Presentation Facility (IPF) tag language,
    compiler, and help facility
\item   REXX functions
\item   Classes and Methods used for object-oriented programming
\item   The tools available with the Toolkit
\end{itemize}
 
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).
 
 
\subsubsection{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).
 
 
\subsection{C Developer's Workset/2}
 
A complete set of tools is packaged in the C Developer's WorkSet/2,
which contains the following:

\begin{itemize}
\item   C Set/2: a 32-bit C compiler and PM debugger
 
\item    Developer's Workbench for OS/2 2.0: a package containing the
    Toolkit and WorkFrame/2

\end{itemize}

The C Developer's WorkSet/2 is available in 3.5-inch diskettes
(10G2995) or 5.25-inch diskettes (10G3663).
 
 
\subsection{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{Planning}

 
 
 
\chapter{Planning for Installation}
 
 
This chapter presents an overview of hardware requirements and
installation procedures for OS/2 2.0.
 
 
\section{Hardware Requirements}
\doline

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.
 
 
\subsection{Minimum Configuaration}
 
OS/2 2.0 is designed for personal computers with the following minimum
requirements:

\begin{itemize}
\item   Intel (or compatible) 80386SX microprocessor
\item   4MB of memory
\item    60MB hard disk with 15-30MB of free disk space
\item    2-button mouse or other pointing device
\end{itemize}
 
\subsubsection{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.
 
 
\subsubsection{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."
 
 
\subsection{Storage Capacities}

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

\begin{tabular}{p{2in}p{4in}}
Memory & \\ \hline
 
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 SESSION SIZE&   64MB\\
 & \\
 
Hard Disk & \\ \hline
 
USING HPFS&    2GB file, 64GB partition\\
 
USING FAT&     2GB file, 2GB partition\\
\end{tabular}

\subsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.

\begin{tabular}{ll}
HPFS          &Uses approximately 5\% of available disk space.\\
 
FAT           &Uses up to 64KB for each partition.\\
 
CD-ROM        &Uses 0.1MB.\\
\end{tabular}
 
For large file systems, add more memory to accommodate a larger cache
size.
 
 
\subsubsection{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."
 
 
\subsubsection{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.
 
 
\section{Worksheets}
\doline

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.
 
\begin{table}[htb]
\begin{tabular}{|p{4in}|p{1in}|p{1in}|}\hline
COMPONENT                       &REQUIRED MEMORY    &USER CONFIG.\\ \hline
Base Operating System           &3.0MB & \\ \hline
High Performance File System (HPFS) & 0.3MB & \\ \hline
DOS Session(1)                &      & \\
& & \\
DOS Full Screen                  &0.3MB & \\
\hspace{.10in}Additional Session &0.2MB & \\
 & & \\
\hspace{.10in}DOS Window         &0.3MB & \\
\hspace{.10in}Additional Session &0.3MB & \\ \hline
WIN-OS/2 Session                &       & \\
 & & \\
\hspace{.10in}First Session     & 2.0MB & \\
\hspace{.10in}Additional Session & 1.0MB & \\ \hline
Active Spooling                & 0.5MB & \\ \hline
Dynamic Data Exchange (DDE)    & 0.2 - 0.5MB & \\ \hline
Clipboard                      & 0.2MB & \\ \hline
System Performance Buffer(2)   & 0.5MB & \\ \hline
Applications by Category(3)    &       & \\
& & \\
\hspace{.10in}Communications   & 0.5MB & \\
\hspace{.10in}Compilers        & 0.8MB & \\
\hspace{.10in}Database         & 1.0MB & \\
\hspace{.10in}Engineering/Scientific     & 1.0MB & \\
\hspace{.10in}Games                      & 0.2MB & \\
\hspace{.10in}Graphics                   & 1.0MB & \\
\hspace{.10in}Spreadsheets               & 1.0MB & \\
\hspace{.10in}Tools                      & 0.5MB & \\
\hspace{.10in}Utilities                  & 0.3MB & \\
\hspace{.10in}Word Processors            & 0.5MB & \\ \hline
Totals & & \\ \hline
\end{tabular}
\begin{description}

\item[(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.
 
\item[(2)] This additional system memory allows better performance in
    conditions such as application loading, termination, and print
    spooling.
 
\item[(3)] Memory requirements for specific applications are provided by the
    suppliers.  The numbers given here are only guidelines to help
    determine total memory size.
\end{description}

\caption{Memory-Estimating Worksheet}
\end{table}




\begin{table}
\begin{tabular}{|p{4in}|p{1in}|p{1in}|}\hline
COMPONENT                      & REQUIRED MEMORY   & USER
CONFIG.\\ \hline \hline
Operating System(4)	&           & 15MB - 30MB  \\ \hline
File System Structures         & &\\
& & \\
\hspace{.10in}HPFS(5)          & 3MB - 5MB & \\
\hspace{.10in}FAT              & 64KB & \\ \hline
Printer Device Drivers(6)      & 250KB - 1MB & \\ \hline
Print Spool File Space(7)      & 1MB - 5MB & \\ \hline
Swap File(8)                   & 6MB - $>$8MB & \\ \hline
Application Development(9)     & & \\
& & \\
\hspace{.10in}Toolkit          & 9MB & \\
\hspace{.10in}Online Reference & 8MB & \\
\hspace{.10in}Development Tools & 8MB & \\
\hspace{.10in}Debug Kernel \& Symbols     & 4MB & \\
\hspace{.10in}Compiler \& Libraries       & 9MB & \\
\hspace{.10in}IBM WorkFrame/2            & 2MB & \\ \hline
Other Applications \& Tools(10) & & \\
Totals & & \\ \hline
\end{tabular}


\begin{description}

\small

\item[(4)] See Table 7 for a detailed breakdown of space requirements for
    optional features.
 
\item[(5)] The HPFS space requirement is approximately 5\% of the disk
    partition size.
 
\item[(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.
 
\item[(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.
 
\item[(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.
 
\item[(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.
 
\item[(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.

\end{description}
\caption{Hard Disk-Estimating Worksheet}
\end{table}
 
\section{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:

\begin{itemize}
\item {\bf System Configuration}
 
    The installation program checks the configuration of the hardware
    and installs support for the devices it finds.
 
\item {\bf 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.
 
\item  {\bf 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.
 
\item   {\bf 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.
 
\item   {\bf 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.
 
\item   {\bf 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.
\end{itemize}
\begin{description}
\item[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.
\end{description}
 
\subsection{Selecting Installation Media}
 
OS/2 2.0 can be installed in the following ways:

\begin{itemize}
\item   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.
 
\item  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.
 
\item 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).
 
\end{itemize}

\subsection{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:

\begin{itemize}
\item Dual Boot
 
\item Boot Manager
\end{itemize}
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsection{Installing Over Existing Operating Systems}
 
The following sections discuss considerations for installing OS/2 2.0
over existing operating systems.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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:

\begin{itemize}
\item 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.
 
\item 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.)
\end{itemize}
 
\section{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.



\begin{table}[htb]
\begin{tabular}{|p{1in}|p{1in}|p{4in}|}\hline
CONTENTS   &SIZE     &HARD DISK CONSIDERATIONS\\ \hline
DOS 3.3   & 2MB    & Must be in a primary partition within the first
                     32MB on the first hard disk.\\ \hline
DOS 4.0  & 3MB    & Must be in a primary partition on the first hard
                     disk. \\ \hline
DOS 5.0    & 4MB    & Must be in a primary partition on the first hard
                         disk. \\ \hline
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. \\ \hline
OS/2 1.X EE    & 30MB    & Must be in a primary partition on the first hard
                        disk.  Uses less than 30MB with reduced
                        function.\\ \hline
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.\\ \hline
\end{tabular}
\caption{Planning Table for Partition Sizes}
\end{table}
 
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:

\begin{itemize}
\item If you prefer, you can leave existing partitions until you have
    completely transferred data-processing operations to the new OS/2
    version.
 
\item If multiple types of file systems are needed, determine if you
    want them in a separate partition, or placed on a logical drive.
 
\item If users have applications that require other operating systems,
    such as AIX(*), check the amount of storage space recommended by
    the supplier.
\end{itemize}

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.
 
 
\subsection{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).
 
 
\subsection{Choosing Features}
 
You will have the opportunity to tailor the size and features of the
operating system by selecting one of the following:
 
\begin{itemize}
\item {\bf Install Preselected Features}

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

\begin{itemize}
    \item CD-ROM Device Support
    \item The following online information:
\begin{itemize}
        \item Command Reference
        \item REXX Information
\end{itemize}
    \item Fonts other than System Proportional, Helvetica , Monospace,
        and Courier Outline
    \item The following utility programs:
\begin{itemize}
        \item Display directory tree
        \item Label diskettes
        \item Link object modules
        \item PMREXX
        \item Recover files
\end{itemize}
    \item The following productivity aids and games:
\begin{itemize}
        \item Enhanced Editor
        \item Terminal Emulator
        \item PM Chart
        \item Solitaire-Klondike
        \item Reversi
        \item Scramble
        \item Cat and Mouse
        \item Pulse
        \item Jigsaw
        \item Chess
\end{itemize}
    \item HPFS support (if you formatted your OS/2 partition for the
        file allocation table and your system has 6MB or less of
        memory)
    \item Optional bit maps
\end{itemize}
    You or users can, however, add these features later using the
    Selective Install utility program.
 
\item {\bf 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.
 
\item {\bf 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.

\end{itemize}

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


\begin{table}
\scriptsize
\begin{tabular}{|p{3in}|p{.8in}|p{.8in}|p{.8in}|}\hline
OS/2 Feature                  &Overall Feature Size (In MB)
& Individual Feature Sizes (In KB)    & User Config. \ \\hline
CD-ROM Device Support         & 0.1 & & \\
\hspace{.10in}CD-ROM IFS      &     &  51 & \\
\hspace{.10in}IBM CD-ROM Device Drivers &      & 33 & \\ \hline
Documentation                 & 0.8 & & \\
\hspace{.10in}OS/2 Tutorial   &     & 168 & \\
\hspace{.10in}OS/2 Command Reference    & & 387 & \\
\hspace{.10in}REXX Information          & & 195 & \\ \hline
Fonts                         & 1.1     &       & \\
\hspace{.10in}Courier         &         &       75      &\\
\hspace{.10in}Helvetica       &         &       201     &\\
\hspace{.10in}System Monospaced         & & 34 & \\
\hspace{.10in}Times Roman     &         &       193 & \\
\hspace{.10in}Courier (Outline)         & & 200 & \\
\hspace{.10in}Helvetica (Outline)       & & 160 & \\
Times New Roman (Outline) &     &       172 & \\ \hline
Optional System Utility       & 1.2 & &\\
Programs & & & \\
                                &       & 81 & \\
\hspace{.10in}Back up the hard disk     & & 35 & \\
\hspace{.10in}Change file attributes    & & 33 & \\
\hspace{.10in}Display the directory tree      &       & 217 & \\
\hspace{.10in}Manage partitions               &       & 33 & \\
\hspace{.10in}Label diskettes                 &       & 282 & \\
\hspace{.10in}Link object modules             &       & 83 & \\
\hspace{.10in}Use PMREXX                      &       & 47 & \\
\hspace{.10in}Recover files                   &       & 29 & \\
\hspace{.10in}Restore backed-up files         &       & 30 & \\
\hspace{.10in}Sort files                      &       & 265 & \\
Use the Installation Aid  & & & \\ \hline
Tools and Games                 & 5.7   &       &\\
\hspace{.10in}Enhanced Editor                 &       &       857 &\\
\hspace{.10in}Search and Scan Tool            &       &       69 &\\
\hspace{.10in}Terminal Emulator               &       &       1501 &\\
\hspace{.10in}PM Chart                        &       &       1159 &\\
\hspace{.10in}Personal Productivity           &       &       1333 &\\
\hspace{.10in}Solitaire-Klondike              &       &       375 &\\
\hspace{.10in}Reversi                         &       &       33 &\\
\hspace{.10in}Scramble                        &       &       59 &\\
\hspace{.10in}Cat and Mouse                   &       &       51 &\\
\hspace{.10in}Pulse                           &        &29 &\\
\hspace{.10in}Jigsaw                          &       & 68 &\\
\hspace{.10in}OS/2 Chess                      &       & 250 &\\ \hline
OS/2 DOS and WIN-OS/2 Support   &       4.3     &       &\\
\hspace{.10in}DOS Protect Mode Interfac & & & \\
\hspace{.10in}Virtual Expanded Memory         &       & 20 &\\
\hspace{.10in}Management                      &       &       19 &\\
\hspace{.10in}Virtual Extended Memory         &       &       &\\
\hspace{.10in}Support                         &       &       9&\\
OS/2 DOS Environment                    &       &       &\\
\hspace{.10in}Only(11)                  &       &       1.1MB &\\
\hspace{.10in}OS/2 DOS + WIN-OS/2 & & &\\
\hspace{.10in}Environment(11)           &       &       4.1MB &\\ \hline
High Performance File System    & 0.4   &       & \\ \hline
REXX                            & 0.4   &       & \\ \hline
Serial Device Support           & 0.1   &       & \\ \hline
Serviceability and Diagnostic   & 0.6   &       & \\
Aids    &       &       &\\ \hline
Optional Bit Maps               & 0.2   &       &\\ \hline
Totals  &       &       &\\ \hline
\end{tabular}
\begin{description}
\item[(11)] Select either DOS Environment Only or DOS + WIN-OS/2 Environment.
\end{description}
\caption{Disk Space Requirements for Optional Features}
\end{table}
 
 
\chapter{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.
 
 

\section{Application Considerations}
\doline
 
When using applications with the Workplace Shell, consider the
following:

\begin{itemize}
\item If an application is always used, place the application in the
    Startup folder.  The application will start at system startup.
 
\item   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.
 
\item   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.
 
\item   To conserve OS/2 system resources and reduce memory requirements:

\begin{itemize}
    \item Close applications when they are not going to be used again.
 
    \item Close folders if they are not needed.
 
    \item Move commonly used functions out of folders and to the
        desktop, and close the folder that contained the object.
\end{itemize}
\end{itemize}

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:

\begin{itemize}
\item   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.
 
\item 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:

\begin{itemize}
    \item 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.
 
    \item If a user initiates a three-dimensional rendering in a
        graphics application, it can continue to draw while the user
        focuses on another task.
\end{itemize}

    In these cases, adding memory can improve overall processing
    performance.
 
\item   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.
 
\item    Depending on how they are written, applications have different
    levels of efficiency when using memory.
\end{itemize}
 

\section{OS/2 2.0 CONFIG.SYS Statements}
\doline
 
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.

\begin{description}
\item[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.
\begin{itemize}
\item 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.
 
\item 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.
\end{itemize}

\item[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.
 
\item[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.
 
\item[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.
 
\item[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.
 
\item[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.
 
\item[PROTECTONLY=]
     Selects one or two operating environments.  The OS/2 operating
     system requires this statement in the CONFIG.SYS file.

\begin{itemize}
\item 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.
 
\item 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.
\end{itemize}

\item[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.
 
\item[SWAPPATH=]
     Specifies the size and location of the swap file.  The swap file
     (SWAPPER.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=\bslash OS2\bslash 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\bslash SYSTEM\bslash 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.
 
\item[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.
 
\end{description}
\section{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:

\begin{itemize}
\item   Settings that can be set only at the time the session is created
    must be changed prior to starting the DOS session.
 
\item 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.
\end{itemize}
 
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:

\begin{description}
\item[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).

\begin{itemize}
     \item 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.
 
     \item The default value is 0.1, which represents the interval
         between window updates.
\end{itemize}
 
\item[DOS\_BACKGROUND\_EXECUTION]
     Allows DOS applications to run in the background.

\begin{itemize}
     \item When the setting is set to ON a DOS application runs when it
         is in the background.
 
     \item 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.
 
     \item The default is ON.
\end{itemize}

\item[VIDEO\_8514A\_XGA\_IOTRAP]
     This setting is used to directly access the Model 8514/A or XGA
     video.

\begin{itemize}
     \item 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.
 
     \item Set this to OFF for all WIN-OS/2 sessions that run in 8514 or
         XGA video modes.
 
     \item The default is ON to ensure that the screen image is restored
         when the screen is switched.
\end{itemize}
 
\item[VIDEO\_SWITCH\_NOTIFICATION]
     Notifies a DOS application about a switch between background and
     foreground.

\begin{itemize}
     \item 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.
 
      \item The default is OFF, because most standard video modes do not
         use screen switch notification.
\end{itemize}
\end{description}
 
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:

\begin{description}
\item[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.

\begin{itemize}
     \item Select ON if there is difficulty maintaining communication
         between a DOS application and a bulletin board.
 
     \item The default is OFF.
\end{itemize}
 
\item[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.
\end{description}
 
The following is a list of some settings that affect the hardware
environment provided by a DOS session:

\begin{description}
\item[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.
 
\begin{itemize}
     \item Applications run more slowly when this setting is set to ON.
 
     \item The default is OFF.
\end{itemize}
 
\item[HW\_ROM\_TO\_RAM]
     Copies the Basic Input/Output System (BIOS) from ROM to RAM.

\begin{itemize}
     \item When this setting is set to ON, applications might run
         faster.
 
     \item The default is OFF.
\end{itemize}
 
\item[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.

\begin{itemize}
     \item 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.
 
     \item The default is OFF.
\end{itemize}
 
\item[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.

\begin{itemize}
     \item The default is NONE.
 
     \item Enables switching between tasks in WIN-OS/2 sessions.
\end{itemize}
 
\item[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.
 
\begin{itemize}
     \item 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.
 
     \item The default value is 0.
\end{itemize}

\item[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.

\begin{itemize}
     \item 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.
 
     \item The default value is 75.
\end{itemize}

\item[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.

\begin{itemize}
     \item Set this to ON to increase the character speed of Cut and
         Paste transfers.
 
     \item The default is OFF.
\end{itemize}

\item[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.
 
\begin{itemize}
     \item A few DOS applications run more slowly with this setting set
         to ON.
 
     \item Changing this setting to OFF increases performance, but
         screen switching is not as reliable.
 
     \item The default is ON.
\end{itemize}
 
\item[VIDEO\_ROM\_EMULATION]
     Controls the emulation of WriteChar, WriteTTY, and full-screen
     scroll video functions.
 
\begin{itemize}
     \item Select OFF if video read-only memory (ROM) provides
         enhancements to these video functions.
 
     \item The default is ON, because the emulated functions enhance
         performance over most manufacturers' ROM versions of the same
         functions.
\end{itemize}

\item[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.
 
\begin{itemize}
     \item 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.
 
     \item The default value is 15.
\end{itemize}
\end{description}
 
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:
 
\begin{description}

\item[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.

\begin{itemize}
     \item The value should be 0 if a DOS application does not need EMS.
         This might improve performance.
 
     \item 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.
 
     \item The default value is 2MB.
\end{itemize}

\item[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.
 
\begin{itemize}
     \item Specifying a large number for either the global or the per
         session extended-memory limit can slow performance.
 
     \item   The default value is 2MB.
\end{itemize}
 
\item[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.
 
\begin{itemize}
        \item The value should be 0 if a DOS application does not need
         DPMI.
 
     \item Increase this setting to 6MB for WIN-OS/2 sessions that run
         more than one application.
 
     \item The default value is 2MB.
\end{itemize}

\item[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.
 
\begin{itemize}
\item 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.
 
     \item   If a network-specific Windows application does not run
         correctly under OS/2 2.0, increase this setting, then restart
         the session.
 
     \item  The default value is 8KB.
\end{itemize}

\item[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.

\begin{itemize}
     \item   Including regions can improve the performance of applications
         that use EMS or XMS memory.
 
     \item   By default, this field is empty.
\end{itemize}
\end{description}
 

\section{Maximizing Memory in a DOS Session}
\doline
 
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 AUTOEXEC.BAT files to maximize
memory in a DOS session.

\begin{description}
\item[NOTE:]  Do not remove statements that are required for any DOS session.
\end{description}
 
\subsection{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:

\begin{description}
\item[DEVICEHIGH=]
               Loads a specified DOS device driver into an available
               upper memory block (UMB) for a DOS session.
\begin{description}
               \item[NOTE:]  DOS device drivers normally are loaded into low
                      memory (below 640KB) in DOS sessions.
\end{description}
               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.
 
\item[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.

\begin{description}
               \item[NOTE:]  Upper memory blocks are provided by the XMS
                      device driver.
\end{description}

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

\begin{itemize}
               \item   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.
 
               \item   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.
\end{itemize}
\end{description}
 
Eliminate DEVICE= statements for DOS device drivers from the
CONFIG.SYS file unless the device driver is required for any DOS
session.
 
 
\subsection{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.

\begin{description}
\item[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.
\end{description}
 
\part{Appendixes}

\appendix
 
\chapter{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.
 

\section{Microprocessors}
\doline
 
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:

\begin{itemize}
\item  IBM Personal System/1 (2121)
\item  IBM Personal System/2(*) Model 35 SX (8535)
\item  IBM Personal System/2 Model 40 SX (8540)
\item  IBM Personal System/2 Model L40 SX (8543)
\item  IBM Personal System/2 Model CL57 SX (8554)
\item  IBM Personal System/2 Model N51 SLC (8551)
\item  IBM Personal System/2 Model N51 SX (8551)
\item  IBM Personal System/2 Model 55 SX (8555)
\item  IBM Personal System/2 Model 56 SX (8556)
\item  IBM Personal System/2 Model 57 SX (8557)
\item  IBM Personal System/2 Model 57 SLC(8557)
\item  IBM Personal System/2 Model 65 SX (8565)
\item  IBM Personal System/2 Model 70 386 (8570)
\item  IBM Personal System/2 Model 70 386 (8570) with the IBM Personal
    System/2 Power Platform(*)
\item  IBM Personal System/2 Model 70 486 (8570)
\item  IBM Personal System/2 Model P70 386 (8573)
\item  IBM Personal System/2 Model P75 486 (8575)
\item  IBM Personal System/2 Model 80 386 (8580)
\item  IBM Personal System/2 Model 90 XP 486 (8590)
\item  IBM Personal System/2 Model 95 XP 486 (8595)
\item  IBM Ultimedia M57 SLC (8557-259)
\end{itemize}
 
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.
 
 
\section{Storage Interfaces}
\doline
 
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:

\begin{itemize}
\item  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
\item  Up to seven external devices connected to one port
\item  Second internal hard drive to expand high-volume read-write disk
    storage
\item  High-speed performance
\item  Automatic error correction
\end{itemize}

 

\section{Printers and Plotters}
\doline
 
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 all-inclusive because:

\begin{itemize}
\item  Computer dealers can supply 32-bit OS/2 2.0-compatible printer
    drivers for devices that are not listed here.
\item  Drivers might be added to the operating system package after the
    date of this publication.
\end{itemize}

The operating system distribution media contain printer drivers that
can interpret print jobs for the following devices:
 
 
\section{Matrix Printers}
 
These printers are supported by the printer driver named EPSON.DRV:

\begin{tabular}{p{3in}p{3in}}
    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&\\
\end{tabular}
 
\subsection{HP Laserjet and Compatible Printers}
 
These printers are supported by the printer driver named LASERJET.DRV:

\begin{tabular}{p{3in}p{3in}}
    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&\\
\end{tabular}
 
\subsection{HP Paintjet Printers}

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

\begin{tabular}{p{3in}p{3in}}
    PaintJet                              &PaintJet XL\\
\end{tabular}

\subsection{IBM Laserprinters}
 
These printers are supported by the printer driver named IBM4019.DRV:

\begin{tabular}{p{3in}p{3in}}
    IBM 4019 LaserPrinter E               &IBM 4029 LaserPrinter 10L\\
    IBM 4019 LaserPrinter                 &IBM 4029 LaserPrinter 5E\\
    IBM 4029 LaserPrinter 10              &IBM 4029 LaserPrinter 6\\
\end{tabular}
 
\subsection{IBM Proprinters}
 
These printers are supported by the printer driver named IBM42XX.DRV:

\begin{tabular}{p{3in}p{3in}}
    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 & \\
\end{tabular}
 
\subsection{IBM Quietwriter and Compatible Printers}
 
These printers are supported by the printer driver named IBM52XX.DRV:

\begin{tabular}{p{3in}p{3in}}
    IBM 3816 - 01D                        &IBM 5202 Quietwriter(*) III\\
    IBM 3816 - 01S                        &IBM 5204 Quickwriter(*)\\
\end{tabular}
 
\subsection{Plotters}

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

\begin{tabular}{p{3in}p{3in}}
    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\\
\end{tabular}

\subsection{Postscript Printers}
 
These printers are supported by the printer driver named PSCRIPT.DRV:

\begin{tabular}{p{3in}p{3in}}
    AST TurboLaser                        &Olivetti LP 5000\\
    Agfa Matrix ChromaScript v51\verb|_|8        &Panasonic KX-P4455 v51\verb|_|4\\
    Agfa-Compugraphic 9400PS v49\verb|_|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\verb|_|2          &QMS IS X320T\\
    Apple LaserWriter Plus                &QMS-PS 1500\\
    Apple LaserWriter                     &QMS-PS 2000\\
    Dataproducts LZR 1260 v47\verb|_|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\verb|_|3                  &QMS-PS 800 Plus\\
    Generic PostScript Printer            &QMS-PS 800\\
    HP LaserJet IID v52\verb|_|2                 &QMS-PS 810 Turbo\\
    HP LaserJet III v52\verb|_|2                 &QMS-PS 810\\
    HP LaserJet IIID v52\verb|_|2                &QMS-PS 815 MR\\
    HP LaserJet IIIP PS v52\verb|_|2             &QMS-PS 815\\
    HP LaserJet IIISi PS v52\verb|_|3            &QMS-PS 820 Turbo\\
    HP LaserJet IIP v52\verb|_|2                 &QMS-PS 820\\
    IBM 4019 v52\verb|_|1 (17 Fonts)             &QMS-PS 825 MR\\
    IBM 4019 v52\verb|_|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\verb|_|4 SheetFeed          &Silentwriter LC 890XL v50\verb|_|5\\
    IBM Personal Page Printer II-30       &Silentwriter2 290 v52\verb|_|0\\
    IBM Personal Page Printer II-31       &Silentwriter2 Model 90 v52\verb|_|2\\
    IBM Personal Pageprinter              &TI 2115 (13 fonts) v47\verb|_|0\\
    KYOCERA P-2000                        &TI OmniLaser 2108\\
    KYOCERA Q-8010                        &TI Omnilaser 2115\\
    Linotronics 100 v38\verb|_|0                 &TI microLaser PS17 v\verb|_|52\verb|_|1\\
    Linotronics 100 v42\verb|_|5                 &TI microLaser PS35 v\verb|_|52\verb|_|1\\
    Linotronics 200 v47\verb|_|1                 &Tektronix Phaser Card v1\verb|_|1\\
    Linotronics 200 v49\verb|_|3                 &Tektronix Phaser II PX v2\verb|_|0  2\\
    Linotronics 300 v47\verb|_|0                 &Tektronix Phaser II PXi v2010\\
    Linotronics 300 v47\verb|_|1                 &Tektronix Phaser III PXi v2010\\
    Linotronics 300 v49\verb|_|3                 &VARITYPER VT-600\\
    Linotronics 500 v49\verb|_|3                 &Wang LCS15 FontPlus\\
    NEC Colormate PS v5\verb|_|9                &Wang LCS15\\
    NEC LC-890&\\
\end{tabular}
 
\subsection{Miscellaneous Printers}

\begin{tabular}{p{3in}p{3in}}
MODEL                     &DRIVER\\
 & \\
IBM 5201 Quietwriter II   &IBM52012.DRV\\
Generic, TTY printer      &IBMNULL.DRV\\
\end{tabular}

\subsection{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.

\begin{tabular}{p{3in}p{3in}}
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\\
\end{tabular}

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.
 
\begin{tabular}{p{3in}p{3in}}
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\\
\end{tabular}

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.
 
 
\section{Graphics Adapters and Displays}
\doline

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.

\begin{itemize}
\item  IBM 8513 - 12-inch screen
\item  IBM 8514/A - 14-inch screen
\item  IBM 7554 - 19-inch screen
\item  IBM 8516 Touch Display - 14-inch color display with an integrated
    touch-sensitive surface
\item  IBM PS/2 TouchSelect - "snap on" touch screens to fit the IBM 8413
    or IBM 7554
\item  IBM PS/2 TV - desktop television with picture in picture or
    full-screen video plus normal PS/2 display mode
\item  Image Adapter/A
\item  M-Audio Capture \& Playback Adapter and Adapter/A
\item  Video Capture Adapter/A
\item  M-Motion Video Adapter/A
\item  ActionMedia II Adapter
\end{itemize}
 
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.
 
 
\subsection{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:

\begin{itemize}
\item  Orchid ProDesigner IIs by Orchid Technology (ISA and MCA versions)
\item  Trident TVGA by Trident Microsystems, Inc. (8900b and c levels)
\item  STB PowerGraph VGA by STB Systems, Inc.
\item  Video Seven VRAM II, by Video Seven
\item  Boca Super VGA by Boca Research Inc.
\item  VGA Wonder XL Series by ATI Technologies, Inc.
\end{itemize}
 
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 video-board and system manufacturers' bulletin boards.
 
 
\subsection{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:

\begin{verbatim}
   SVGA ON
\end{verbatim}

Then do a shutdown and restart the system.
 
 
\subsection{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.
 
 
\subsection{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.
 
\chapter{International Language Support}
 
IBM provides extensive international language support for the OS/2
operating system.
 
\section{Translations}
\doline

OS/2 2.0 is translated into the following languages:
 
\begin{itemize}
    \item Chinese
\begin{itemize}
        \item Peoples Republic of China (simplified)
        \item Taiwan (traditional)
\end{itemize}
\item    Danish
\item    Finnish
\item    French
\item    German
\item    Italian
\item    Japanese
\item    Korean
\item    Dutch
\item    Norwegian
\item    Portuguese
\item    Spanish
\item    Swedish
\end{itemize}
 
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.
 
 

\section{Bidirectional Support}
\doline
 
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.
 
 

\section{Double-Byte Character Set}
\doline
 
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.
 

\section{Installing National Language Versions}
\doline
 
To have successful international language and country support, several
interrelated statements, such as CODEPAGE, COUNTRY, and DEVINFO, must
be included in the CONFIG.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.
 
 
\subsection{Country Choice}
 
The Country choice specifies to the computer the country code, the
associated national-language 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.



\begin{table}
\begin{tabular}{|l|l|l|l|}\hline
COUNTRY                &COUNTRY CODE  &PRIMARY    &SECONDARY  \\
                       &              &CODE PAGE  &CODE PAGE  \\ \hline
Arabic-speaking        &785           &864        &850        \\ \hline
Asia (English)         &99            &437        &850        \\ \hline
Australia (English)    &61            &437        &850        \\ \hline
Belgium                &32            &850        &437        \\ \hline
Canada (French)        &2             &863        &850        \\ \hline
Czechoslovakia         &42            &852        &850        \\ \hline
Denmark                &45            &850        &n/a        \\ \hline
Finland                &358           &850        &437          \\ \hline
France                 &33            &437        &850        \\ \hline
Germany                &49            &850        &437        \\ \hline
Hebrew-speaking        &972           &862        &850        \\ \hline
Hungary                &36            &852        &850        \\ \hline
Iceland                &354           &850        &861        \\ \hline
Italy                  &39            &437        &850        \\ \hline
Japan                  &81            &932        &437, 850   \\ \hline
Korea                  &82            &934        &437, 850   \\ \hline
Latin America          &3             &437        &850        \\ \hline
Netherlands            &31            &850        &437        \\ \hline
Norway                 &47            &850        &n/a        \\ \hline
Peoples Republic of    &88            &938        &437, 850   \\ \hline
China                  &                &         &             \\ \hline
Poland                 &48            &852        &850        \\ \hline
Portugal               &351           &850        &860        \\ \hline
Spain                  &34            &850        &437        \\ \hline
Sweden                 &46            &850        &437        \\ \hline
Switzerland (French)   &41            &850        &437        \\ \hline
Switzerland (German)   &41            &850        &437        \\ \hline
Taiwan                 &88            &437        &850        \\ \hline
Turkey                 &90            &857        &850        \\ \hline
United Kingdom         &44            &437        &850        \\ \hline
United States          &1             &437        &850        \\ \hline
Yugoslavia             &38            &852        &850        \\ \hline
\end{tabular}
\caption{Country and Code Page Defaults}
\end{table}


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.
 
 
\subsection{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.


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

\section{Changing National Language Options}
\doline
 
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.
 
 
\subsection{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.
 
 
\subsection{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.
 
\section{Understanding Code Pages}
\doline
 
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:

\begin{itemize}
\item IBM Enhanced Color Display
\item  IBM Personal System/2 Displays
\item  IBM Enhanced Graphics Adapter
\item  IBM Personal System/2 Video Graphics Array
\item  IBM Personal System/2 Display Adapter
\item  IBM Personal System/2 8514/A
\item  IBM 4201 Proprinters (except Model 001)
\item  IBM 4202 Proprinter XL
\item  IBM 5202 Quietwriter III
\item  IBM 4019 LaserPrinters
\item  IBM 4029 LaserPrinters
\end{itemize}
 
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.
 
 
 
\section{Understanding Devinfo Statements}
\doline

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:

\begin{description}
 
\item[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 KEYBOARD.DCP that contains a keyboard layout
                  table for translating keystrokes into the characters
                  of each code page supported by the OS/2 operating
                  system.
 
\item[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.
 
\item[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.

\begin{description}
\item[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.
\end{description}
\end{description}

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.
 
 
 
\chapter{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.
 

\section{Operating System Information}

The following describes the hardcopy and online information provided
with OS/2 2.0.
 
\subsection{Hardcopy Information}

\begin{description}
\item[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.
 
\item[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.
 
\item[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.
 
\item[OS/2 2.0 Using the Operating System]
          This book describes the features of OS/2 2.0.
 
\item[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.
 
\item[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.
 
\item[OS/2 2.0 Service and Support Information]
          This card provides information about how to get service and
          support for OS/2 2.0.
 
\item[OS/2 2.0 Publications Order Form]
          This order form is provided to enable you to order the
          following:

\begin{itemize}
          \item  IBM Operating System/2 Keyboards and Code Pages, 10G6312
          \item  OS/2 2.0 Command Reference, 10G6313
          \item  Moving to the OS/2 Workplace Shell videotape, 41G5097
\end{itemize}
          For more information about these items, see "Related
          Information."
 
\end{description}

\subsection{Online Information}

\begin{description}
\item[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.
 
\item[OS/2 Tutorial]
          This interactive program shows you the basics of the
          operating system.  The tutorial starts automatically after
          you install the operating system.
 
\item[Master Help Index]
          This alphabetic list contains all of the information you
          need to use OS/2 2.0.
 
\item[Glossary]
          This alphabetic list contains computer and operating-system
          terms and definitions.
 
\item[OS/2 Command Reference]
          This information describes how to use OS/2 commands.
 
\item[REXX Information]
          This information describes how to use the Restructured
          Extended Executor (REXX) procedures language.
\end{description}
 

\section{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:

\begin{itemize}
\item  The tools you need to write Presentation Manager programs that
    will run under OS/2 2.0
\item  Online documentation
\item  Sample programs
\item  Getting Started, which explains how to install and use the Toolkit
\end{itemize}

\subsection{Online Documents}
 
The Toolkit includes six online documents:

\begin{description}
\item[Control Program Reference]
          Provides the C-language syntax for each of the base
          operating-system application programming interfaces (APIs),
          including input and output parameters, data structures, data
          types, return codes, and example codes.
 
\item[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.
 
\item[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.
 
\item[REXX Reference]
          Provides details of REXX functions, including function
          syntax, parameters, return values, error messages, and
          example codes.
 
\item[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.
 
\item[Tools Reference]
          Describes the tools that are available with the Toolkit and
          how to use them.
\end{description}

\section{OS/2 2.0 Technical Library}
\doline
 
The entire library can be ordered with a single part number (10G3356).
You also can order each book separately.
 
\begin{description}
\item[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.
 
\item[Programming Guide]
          A three-volume guide:
\begin{itemize}
          \item  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.
          \item  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.
          \item  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.
\end{itemize}

\item[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.
 
\item[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.
 
\item[Control Program Programming Reference (10G6263)]
          This book is a hardcopy version of the online Control
          Program Reference.
 
\item[Presentation Manager Programming Reference]
          A three-volume hardcopy version of the online Presentation
          Manager Reference:

\begin{itemize}
          \item  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.
          \item  Volume II (10G6265) has an alphabetic listing of the Win
              (window) API functions and the new WP (workplace)
              methods.
          \item  Volume III (10G6272) contains related information such
              as graphics-orders, data types, application hooks and
              procedures, and Presentation Manager messages.
\end{itemize}
 
\item[REXX Information]

\begin{itemize}
          \item  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.
          \item  Procedures Language 2/REXX Programming Reference
              (10G6268) describes the REXX function supported by OS/2
              2.0.
\end{itemize}
 
\item[Device-driver references]
          Three manuals, written for device driver program developers,
          specify information about the three types of device drivers:

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

          \item  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.

          \item  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.
\end{itemize}

 
\item[Common User Access (CUA) Interface Design guides]


\begin{itemize}
          \item   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.

          \item  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.
 \end{itemize}

\end{description}

\section{Related Information}
\doline

\begin{description}
\item[CUA Interface Design Guides]


\begin{itemize}
          \item  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.

          \item  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.

\end{itemize}

\end{description}

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

\begin{description}

\item[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.
 
\item[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.
 
\item[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.
 
\item[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.
 
\item[OS/2 2.0 Remote Installation and Maintenance (GG24-3780)]
          This book provides instructions for installing OS/2 2.0 from
          a LAN.
 
\item[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.
 
\item[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.
 
\item[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.
 
\item[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).
 
\item[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.
 
\item[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.
 
\item[OS/2 Version 2.0 Volume 5: Print Subsystem (GG24-3775)]
          This book describes the internal workings of the print
          subsystem, including the spooler.
 
\item[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.
\end{description}
 
 
\chapter{Training and Customer Support}
 
Various training programs supporting OS/2 2.0 are available from IBM.

\section{Training}
\doline
 
\subsection{IBM OS/2 2.0 User Workshop}
 
\begin{description}
\item[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
 
\item[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.
 
\item[WHO SHOULD TAKE THIS COURSE:]  This course is intended for anyone who
wants to know how to use OS/2 2.0.
 
\item[COURSE OBJECTIVES:]  Upon completion of this course, the student will
be able to:

\begin{itemize}
\item  Identify the standard Workplace Shell desktop objects
\item  Use the online help information supplied with OS/2 2.0
\item  Manipulate objects
\item  Create new objects
\item  Run DOS, Windows, and OS/2 applications from the desktop
\item  Transfer data between applications
\item  Create and configure new printer objects
\item  Print documents
\item  Customize the system
\end{itemize}

\item[PREREQUISITES:]  Students are expected to have a basic knowledge of the
personal computer.  Previous operating system experience is not
required.
 
\item[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).
 
\item[COURSE LENGTH:] One day.

\end{description}
\subsection{Technical Support Education}

\subsubsection{OS/2 for Technical Support Personnel}

\begin{description}
\item[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.
 
\item[COURSE FORMAT:] This is a hands-on course.
 
\item[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.
 
\item[COURSE OBJECTIVES:] Given a customer situation, the student will be
able to:

\begin{itemize}
\item  Discuss and demonstrate key features of OS/2 2.0
\item  Plan for installation of the product in various end-user
    environments
\item  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
\item  Answer questions about installation and operation of OS/2 2.0
\item  Assist the customer with program setup: installation,
    configuration, customization, and application enablement
\item  Obtain support from IBM
\end{itemize}

 
\item[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.
 
\item[COURSE DELIVERY:] This course will be offered in IBM Licensed Education
Centers.
 
\item[COURSE LENGTH:]  2 days
\end{description}
 
\subsection{Application Developer Education}

\subsubsection{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.

\begin{description}
\item[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.
\end{description}

{\large Summary Of Courses Offered by IBM Customer Education}

\begin{quotation}
     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\\
\end{quotation}
 
The remaining pages of this appendix give a detailed description of
each application-developer course listed above.
 
 
\subsubsection{Introduction to OS/2 Version 2 Programming (P1044)}

\begin{description}
\item[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.
 
\item[COURSE FORMAT:] This is a hands-on course.
 
\item[WHO SHOULD TAKE THIS COURSE:] Programmers and application developers.
This course is not recommended for nonprogrammers.
 
\item[COURSE OBJECTIVES:] After completing this course, the student will be
able to:

\begin{itemize}
\item  Use the IBM Developer's WorkFrame/2 programming environment to
    build simple OS/2 Presentation Manager applications
\item  Understand the Presentation Manager architecture--windows and
    their components
\item  Understand OS/2 terminology--processes, threads, and sessions
\item  Build OS/2 programs that:
\begin{itemize}
    \item   Use 32-bit memory allocations
    \item   Use PM API function calls to create standard windows, menus,
        dialog boxes, and controls
    \item   Use standard dialogs for file and font operations
    \item   Use multi-thread and semaphore functions
\end{itemize}
\item  Understand dynamic linking and create a dynamic link library
\item  Understand the importance of messages in Presentation Manager
    programming and code the Presentation Manager API functions to
    send and receive messages
\end{itemize}
 
\item[PREREQUISITES:] Before taking this course, the student must be able to:

\begin{itemize}
\item  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.

\item  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.
\end{itemize}

\item[COURSE LENGTH:]  5 days
\end{description}
 
\subsubsection{Introduction to DOS for OS/2 2.0 (P1042)}

\begin{description}
\item[COURSE DESCRIPTION:] This course introduces technical personnel to DOS.
This course teaches you DOS file naming conventions and hierarchy, and
common DOS commands.
 
\item[COURSE FORMAT:] This is a hands-on course.
 
\item[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).
 
\item[COURSE OBJECTIVES:] After completing this course, the student will be
able to:

\begin{itemize}
\item  View directories, subdirectories, and files
\item  Identify file types by file extensions
\item  View and modify CONFIG.SYS and AUTOEXEC.BAT
\item  Copy, rename, and erase files
\item  Format diskettes and copy files between diskettes and the hard
    disk
\item  Start and stop application programs
\end{itemize}
 
\item[PREREQUISITES:] None
 
\item[COURSE LENGTH:]  1/2 day
 
\end{description}

\subsubsection{ENFIN/2 Object-Oriented Development for OS/2 2.0 (P1049)}

\begin{description}
\item[COURSE DESCRIPTION:] This course introduces the features and functions
of ENFIN/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.
 
\item[COURSE FORMAT:] This is a hands-on course.
 
\item[WHO SHOULD TAKE THIS COURSE:] Programmers and application developers
who wish to develop object-oriented OS/2 applications.
 
\item[COURSE OBJECTIVES:] After completing this course, the student will be
able to:

\begin{itemize}
\item  Apply object-oriented principles, concepts, and techniques to the
    application development process
\item  Use ENFIN/2 features:
\begin{itemize}
    \item   System Transcript Window
    \item   Class Browser
    \item   Designer
    \item   SQL Query Builder
    \item   SmallTalk Language Elements
\end{itemize}
\item  Build a simple CUA interface
\item  Build a workplace application
\item  Use debugging and programming profiles to fix errors in an
    application
\item  Use the Database Utility programs and Report Generator to
    integrate databases
\item  Work with models
\item  Identify advanced features
\item  Identify the issues when migrating to other ENFIN/2 platforms
\end{itemize}
 
\item[PREREQUISITES:] Before taking this course, the student must be able to:

\begin{itemize}
\item  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.

\item  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.
\begin{itemize}
    \item   Designing SAA/CUA Conforming Applications for the PWS (P1033)
    \item   Designing and Implementing SAA/CUA Conforming Applications for
        the PWS (P1034).
\end{itemize}
\end{itemize}
 
\item[COURSE LENGTH:]  4 days
\end{description}
 
\subsubsection{Advanced Programming Techniques for OS/2 Version 2
(P1045)}

\begin{description}
\item[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.
 
\item[COURSE FORMAT:] This is a hands-on course.
 
\item[WHO SHOULD TAKE THIS COURSE:] Programmers and application developers.
This course is not recommended for nonprogrammers.
 
\item[COURSE OBJECTIVES:] After completing this course, the student will be
able to:

\begin{itemize}
 
\item  Use the IBM Developer's WorkFrame/2 programming environment to
    build complex OS/2 Presentation Manager applications including
    dynamic link libraries
\item  Understand how messages are used to communicate between windows,
    processes, and threads
\item  Build OS/2 Version 2 applications that:
\begin{itemize}
    \item   Use 32-bit flat memory allocations
    \item   Use multiple child windows
    \item   Use window words to allocate window data areas
    \item   Use new multi-thread and semaphore functions
    \item   Make full use of the IPF help functions
\end{itemize}
\item  Call GPI functions to build complex graphics
\end{itemize}
 
\item[PREREQUISITES:] Before taking this course, the student must be able to:

\begin{itemize}
\item  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.

\item  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).
\end{itemize}
 
\item[COURSE LENGTH:]  5 days
\end{description}
 
\subsubsection{OS/2 Version 1 to Version 2 Programming Migration
(P1041)}

\begin{description}
\item[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.
 
\item[COURSE FORMAT:]  This is a hands-on course.
 
\item[WHO SHOULD TAKE THIS COURSE:] Programmers and application developers.
This course is not recommended for nonprogrammers.
 
\item[COURSE OBJECTIVES:] After completing this course, the student will be
able to:

\begin{itemize}
\item  Use the new workbench programming environment to build complex
    OS/2 Presentation Manager applications
\item  Use the new workplace user interface
\item  Build OS/2 applications that:
\begin{itemize}
    \item   Use 32-bit flat memory allocations
    \item   Call new control window classes
    \item   Use standard dialogs for file and font operations
    \item   Perform direct manipulations with the Workplace Shell
    \item   Use new multi-thread and semaphore functions
    \item   Make full use of the IPF help functions
    \item   Call GPI functions to build complex graphics
\end{itemize}
\end{itemize}
 
\item[PREREQUISITES:] Before taking this course, the student must be able to:

\begin{itemize}
\item  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.
\item  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.
\begin{itemize}
    \item   Introduction to OS/2 Presentation Manager Programming (P1013)
    \item   Application Programming for the OS/2 Presentation Manager
        (P1014)
\end{itemize}
\end{itemize}

\item[COURSE LENGTH:]  4 days
 
\end{description}

\subsubsection{OS/2 Version 2 Facilities and Installation (P1043)}

\begin{description}

\item[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.
 
\item[COURSE FORMAT:]  This is a hands-on course.
 
\item[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.
 
\item[COURSE OBJECTIVES:] After completing this course, the student will be
able to:
\begin{itemize}
\item  Use the OS/2 Workplace Shell graphical user interface to:
\begin{itemize}
    \item   Move and resize windows
    \item   Control currently running tasks with the Window List
    \item   Create and manipulate folder, data, program and device objects
    \item   Launch application programs
    \item   Personalize your desktop
    \item   Change object settings
\end{itemize}
\item  Access online information
\item  Install a printer driver
\item  Use the OS/2 System Editor or the Enhanced Editor to modify OS/2
    system files
\item  Understand what system security and problem determination tools
    are available
\item  Use and install the OS/2 operating system incorporating the Boot
    Manager and Dual Boot capability to run DOS programs
\item  Understand the use and contents of the OS/2 system configuration
    file (CONFIG.SYS)
\item  Run DOS and Windows programs using the MVDM feature
\item  Write and execute a simple REXX program
\item  Create and use an HPFS disk partition
\item  Create and use a basic configuration diskette for installing
    Extended Services
\item  Understand the basics of Database Manager, Query Manager, and
    Communications Manager
\item  Use the Query Manager to access information in a database
\end{itemize}

\item[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.
 
\item[COURSE LENGTH:]  3 days
\end{description}

\section{OS/2 2.0 Service and Support}
\doline

\subsection{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:

\begin{itemize}
\item  IBM Authorized Dealer
\item  Technical Coordinator, if one has been identified for you
\item  Mail in Defect Report Form attached to the Service/Support
    Information card included with the program documentation
\end{itemize}
 
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:

\begin{itemize}
\item  Corrective service information, such as correction documentation
\item  Notice of availability of corrected code
\item  Restriction, or
\item  Bypass
\end{itemize}
 
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.
 
\subsection{Enhanced Support Offerings}
 
In addition to the entitled defect support described in the program
service section above, the following enhanced support offerings are
available.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\subsubsection{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.
 
 
\doline

(*) Trademark of the IBM Corporation
 
(**) Trademark of the Microsoft Corporation
\end{document}

