Browse Prior Art Database

Bimodal Applications Without Family Application Program Interface

IP.com Disclosure Number: IPCOM000121350D
Original Publication Date: 1991-Aug-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 4 page(s) / 183K

Publishing Venue

IBM

Related People

Benefield, KR: AUTHOR [+4]

Abstract

Described is a software facility for OS/2* personal computer systems to provide bimodal applications without the need for a family application program interface (FAPI). The facility enables OS/2 utilities to run in both real and protect mode and allows disk operating systems (DOS) mode applications to access services in protect mode.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 35% of the total text.

Bimodal Applications Without Family Application Program Interface

      Described is a software facility for OS/2* personal
computer systems to provide bimodal applications without the need for
a family application program interface (FAPI).  The facility enables
OS/2 utilities to run in both real and protect mode and allows disk
operating systems (DOS) mode applications to access services in
protect mode.

      The OS/2 facility provides both DOS and OS/2 modes of
operation.  The DOS mode, also known as the compatibility box,
provides an environment for running DOS applications. OS/2 mode,
which runs OS/2 applications, has an expanded set of services and
greater memory than does PCDOS or DOS mode. OS/2 system applications,
such as XCOPY, REPLACE, FORMAT, etc., that run in both OS/2 and DOS
modes are bound with the FAPI library.  This allows them to run in
either mode (bimodal), but limits the operation to a smaller set of
services available in DOS mode.  Although it is possible to implement
code conditional branches depending on the mode, this complicates the
application and precludes the use of protect mode services, such as
multiple threads.  When running in DOS mode, the expanded services or
additional memory are not available to FAPI applications.

      The concept of the software facility described herein enables
OS/2 utilities to run in both real and protect mode without having to
use OS/2 FAPI.  This enables an OS/2 utility to be invoked from real
mode, thereby increasing utility usage and the utilization of many
protect mode services that were unavailable in real mode.  The
concept is designed for OS/2 system applications where core functions
are embodied in a dynamic link library (DLL) which is accessible via
OS/2 from any mode, thereby eliminating the need for and the
restrictions of FAPI.

      The concept provides a full complement of OS/2 services even
when the application is invoked in DOS mode.  Memory is not limited
to the DOS mode ceiling of 640K because the primary function runs in
protect mode.  Therefore, performance is improved by having multiple
threaded and virtual memory available for bimodal applications.  Code
reuse is made possible because the routines and libraries are no
longer statically linked.  Similar functions that appear in more than
one application can be shared when using a DLL.  This decreases code
maintenance and makes the system less vulnerable to change activity.
The concept provides an additional advantage in that an application
running in DOS mode has the ability to handle long file names.  The
server and the DLL could be 32-bit code while the stub remains in
16-bit code so that it can run in DOS mode.  This allows a utility
like SORT in DOS mode to sort files that are greater than 64K bytes
long.  Common functions from the two command processors (CMD.EXE and
COMMAND.COM) can be placed in a DLL. This allows the DOS mode command
processor COMMAND.COM to be reduced to...