(C) Copyright IBM Corp. 1992
Cover
Version Notice
Abstract
Acknowledgements
Figures
Concurrent DOS Applications under the Workplace Shell
MVDM Architecture
MVDM System Structure Overview
MVDM System Structure and Control Flow
MVDM Protected Mode processes
VDM Exception Handling
Typical VDM Address Space Map
VDM Initialization
Virtual Display Management
Virtual Keyboard Management
Virtual Mouse Management
VDM Exceptions and Interrupt Handling in a V86 Mode Task
Descriptor Privilege Levels
A20 Line Service (64KB Wraparound)
V86 Memory Map Prior to DOS Emulation Initialization
V86 Memory Map at Initial V86 Mode Entry
V86 Memory Map after Initialization
Default AUTOEXEC.BAT File
Physical and Virtual Device Drivers under OS/2 Version 2.0
Structure of Bi-Modal Device Drivers in OS/2 V1.x
Physical Device Driver Statements in CONFIG.SYS
Virtual Device Driver Statements in CONFIG.SYS
Virtual COM and Physical COM Device Drivers
Virtual Printer Device Driver Operation
Virtual Programmable Interrupt Controller
General Overview of Different Types of Memory for DOS Applications
Expanded Memory Manager Control Flow
Memory Map of Areas Supported by Extended Memory
Extended Memory Manager Control Flow
CONFIG.SYS - Loading Device Drivers into UMBs
LOADHIGH Command - Loading TSRs into UMBs
The Migrate Applications Windows
User Definitions for other Applications
Windows Applications Running under OS/2 Version 2.0
Single Windows Application Running under OS/2 Version 2.0
Single Windows Application(s) Running "Seamless" on the OS/2 Version 2.0 Desktop
Implementation of "Seamless" WIN-OS/2 VDM in OS/2 Version 2.0
Installing Windows Support under OS/2 Version 2.0
Defining a Windows Application to OS/2 Version 2.0
Migrating the Windows Initialization Files
Detailed View of the WIN-OS/2 Data Connections
Low Level View of the WIN-OS/2 Printing Data Flow
File Structure of Adobe Type Manager
OS/2 Version 2.0 Clipboard Environment
DDE Process between Windows Environments
DDE Process between Presentation Manager and Windows
Client/Server Structure for Operating System Extenders
The Program Page of the Settings Notebook
The Session Page of the Settings Notebook
The DOS Settings Dialog of the Settings Notebook
Setting Up a TSR Program
The DOS Settings Dialog of the Settings Notebook
The Program Page of the Settings Notebook for a VMB
DOS Settings - DOS_STARTUP_DRIVE
VMB from an OS/2 V2.0 Program
Personal Communications/3270 for Windows running under OS/2 V2.0
Memory Map of Extended Memory (HMA, UMA, and EMBs)
QENV.BAT Batch File
C Source Code for ENVIRON.EXE
INT19.BAS Source Code
GRAPHIC.BAS Source Code
SOUND.BAS Source Code
Tables
PIC Initialization Control Words
PIC Operation Control Words
List of Supported Video Configurations
Graphical Applications Programs Support under OS/2 Version 2.0
Driver Letter Assignment
Free Base Memory
Location of AUTOEXEC.BAT and CONFIG.SYS
Type of Expanded Memory
Special Notices
Preface
Related Publications
Overview
OS/2 Version 2.0
OS/2 Version 2.0 Overview
Memory and Task Management
User Interface
Multiple Virtual DOS Machines
MVDM Architecture
Virtual Device Drivers
Expanded and Extended Memory Support
DOS Settings
Windows Application Support
Summary
MVDM Architecture
Introduction
Virtual DOS Machine Manager (VDMM)
VDM Address Space Management
VDM Creation
VDM Termination
8086 Emulation
DOS Emulation
Virtual Device Drivers
VDM Page Faults
VDM Window Management
Virtual Display Management
Virtual Keyboard Management
Virtual Mouse Management
VDM Interprocess Communication
About Pipes
Named Pipes
Summary
8086 Emulation
Virtual 8086 Mode
DOS Software Interrupt Handling
Virtualizing Interrupts
Disabling Interrupts
I/O Port Trapping
A20 Line Services (64KB Wraparound)
Summary
MVDM DOS Emulation
DOS Emulation Overview
DOS Emulation Implementation
Initialization and VDM Creation
Requesting System Services
System Service Call Behavior
System Callback Procedures
VDM Termination
Standard Devices
Maximizing VDM Memory
CONFIG.SYS
AUTOEXEC.BAT
Command Compatibility
MEM
FC (File Compare)
DOSKEY
DEBUG
UNDELETE
DIR
ATTRIB
RESTORE
FIND
Summary
Device Drivers
Device Driver Architecture
Physical Device Drivers
Virtual Device Drivers
Loading Virtual Device Drivers
Virtual Device Driver Structure
ROM BIOS Compatibility
Hardware Interrupt Simulation
Protection
Standard Virtual Device Drivers
VBIOS Device Driver
Virtual CMOS Device Driver
Virtual DMA Device Driver
Virtual Disk Device Driver
VFLPY Device Driver
Virtual Keyboard Device Driver
Virtual Printer Device Driver
Virtual Numeric Coprocessor Device Driver
Virtual Programmable Interrupt Controller
Virtual Timer Device Driver
Virtual COM Device Driver
VDPMI Device Driver
VDPX Device Driver
VXMS Device Driver
VEMM Device Driver
VWIN Device Driver
Virtual Mouse Driver
VCDROM Device Driver
Virtual Video Device Driver
Virtual Device Helper Services
Memory Management
Semaphore Services
Freeze/Thaw Services
Timer/Priority Services
Page Fault Services
Other Services
VDH Functions
VDM Termination
Normal Termination
Abnormal Termination
Summary
Memory Extender Support
Expanded Memory Support
Virtual Expanded Memory Manager
EMS Object Mapping
Per-VDM Data Allocation
Problems with Expanded Memory
Expanded Memory (EMS) and Upper Memory (UMB)
Extended Memory Support
Extended Memory Manager
High Memory Area (HMA)
Upper Memory Blocks (UMBs)
Extended Memory Blocks (EMBs)
Allocating/Deallocating Memory
Problems with Extended Memory
Summary
Installing and Migrating Applications
Installing DOS Programs
General Installation Procedure for DOS Programs
Installation Programs with Special Requirements
Planning Hard Disk Partitions
Installing Windows Programs
AUTOEXEC.BAT and CONFIG.SYS
Migrating Programs
Creating a Customized Migration Database
PARSEDB
Summary
Windows Applications
Windows 3.0 Execution Modes
Real Mode
Standard Mode
386 Enhanced Mode
Windows Applications under OS/2 Version 2.0
Supported Components
Methods of Execution
Installing WIN-OS/2 Support Under OS/2 Version 2.0
Migrating to OS/2 Version 2.0
Defining Windows Applications
Defining a Single Application VDM (SAVDM)
Defining a Multiple Application VDM (MAVDM)
Defining a "Seamless" WIN-OS/2 VDM
Starting Windows Applications
SAVDM
MAVDM
"Seamless" WIN-OS/2 VDM
Windows Environment Settings
WIN.INI
PROGMAN.INI
CONTROL.INI
SYSTEM.INI
DOS and WIN-OS/2 Settings
Windows Device Drivers
Print Support for Windows Applications
Print Subsystem Architecture
Font Support
Adobe Type Manager Overview
ATM File Formats
ATM for WIN-OS/2
Installing ATM for WIN-OS/2
Installing Additional Fonts for WIN-OS/2 ATM
Deleting Fonts for WIN-OS/2 ATM
Clipboard Support
WIN-OS/2 Clipboard Support
Using Cut and Paste
Dynamic Data Exchange
DDE Concepts
Windows Application to Windows Application
Windows Application to Presentation Manager Application
Object Linking and Embedding
OLE Concepts
Linking versus Embedding
Summary
DOS Protected Mode Interface
DPMI Introduction
Virtual Control Program Interface
The DPMI Specification
DPMI Hosts and Clients
DPMI Services
DOS Extenders
Loading DPMI Clients and Extended Applications
Processing in DOS Extenders
Session Termination
DPMI Implementation in OS/2 Version 2.0
DPMI Services
Kernel Support
Ring 0 Exceptions
DPMI API Layer Communication with the Kernel
Installation of DPMI
DPMI and Microsoft Windows
Summary
Running DOS Applications
Defining a DOS Application
Creating a Representative Object
Adding TSRs to the Workplace Shell
Customizing the VDM Environment
Using the Migrating Applications Facility
Starting a DOS Application
Starting From the Workplace Shell
Starting From the Command Line
Applications With Special Requirements
Summary
DOS Settings
Registration
Changing Settings Prior to Execution
Changing Settings During Execution
Starting a VDM From Another Application
Standard DOS Settings
Communications
DOS Environment
DPMI
EMS
Hardware Environment
Idle Detection
Keyboard
Memory Extenders (EMS and XMS)
Mouse
Printer
Video
XMS
WIN-OS/2
Summary
Virtual Machine Boot
VMB Environment
Configuring Virtual Machine Boot
Preparing AUTOEXEC.BAT and CONFIG.SYS
Mouse, EMS and XMS Support
Booting from Diskette
Booting from Diskette Image
Booting from a DOS Partition
Putting the Virtual Machine Boot Session in the Workplace Shell
Managing the VMB Session
VMB Limitations
Summary
Running Personal Communications/3270 Version 2 for Windows
Installing PC/3270 under WIN-OS/2
Installing the Corrective Service Diskettes
Creating a PC/3270 Batch File for OS/2 V2.0
Checking the WIN-OS/2 Initialization File
Creating the PC/3270-OS/2 Batch File
Communications Manager Mouse Support (CMMOUSE)
Setting up PC/3270 as a WIN-OS/2 Application
Create a New Object on the Desktop
Setting the Attributes of the PC/3270 WIN-OS/2 Object
Additional Setup for LAN Connections
Installing LAN Support Program and RESETOKN.SYS
Updating the PC/3270 Object for LAN Device Drivers
Operating PC/3270 for Windows under OS/2 V2.0
A Couple of Warnings and Suggestions
Limitations
Running DOS PC Support/400 in OS/2 V2.0
Installation Preparation
Installation
Restrictions
Running Lotus 1-2-3 in a VDM
Lotus 1-2-3 Release 2.3
Lotus 1-2-3 Release 3.1+
Memory Extender Architectures
Expanded Memory Specification (EMS)
EMS Overview
EMS Functions
Extended Memory Specification (XMS)
XMS Overview
XMS Functions
Multiple Virtual DOS Machines Lab Sessions
Requirements
Lab Session 1: VDM Configuration
Steps
Expected Results
Optional
Lab Session 2: Reboot Virtual DOS Machine
Steps
Expected Results
Lab Session 3 - The Clipboard Viewer
Steps
Expected Results
Lab Session 4: VDM Use of the Speaker
Steps
Expected Results
Lab Session 5: VDM Interprocess Communications
Steps
Expected Results
Source Code PIPEDOS.BAS
Source Code PIPEOS2.C
Lab Session 6: VDM Boot
Steps
Expected Results
Lab Session 7: Windows Clipboard
Steps
Expected Results
Glossary
aliased page
ANSI
API
A20 address line
BIOS
bit
block device driver
Boot Manager
byte
CD-ROM
DDE
debugging
device driver
DLL
DMA
DOS
DOSEM
DOS Emulation
DOS partition
DOS Protected Mode Interface
DOS Settings
DPMI
dynamic data exchange
EMM
EMS
EMS handle
EMS logical page
EMS page
EMS physical page
EMS physical segment
EMS register set
enhanced mode
expanded memory
Expanded Memory Manager
extended memory
extended memory block (EMB)
Extended Memory Manager
FAT
flat memory model
FSACCESS
FSFILTER
GB
high memory area
HIMEM.SYS
HMA
HPFS
Interrupt
I/O
IOPL
KB
LIM
LIMA
mappable window
MAVDM
MB
Multiple Application VDM
Multiple Virtual DOS Machines
MVDM
NPX
NULL
Object Linking and Embedding
OLE
OS mappable window
page
physical device driver
PIC
POST
privilege level
protected mode
RAM
real mode
ROM
SAVDM
Seamless Windows
segment
segment selector
service layer
signal
Single Application VDM
standard mode
stub device driver
stub virtual DOS kernel
task state segment
TSR
TSS
UMB
upper memory block
VDDM
VDM
virtual device driver
Virtual Device Driver Manager
Virtual Device Helper
virtual DOS machine
Virtual DOS Machine Manager
VEMM
Virtual Expanded Memory Manager
virtual machine
VMB
VMB session
virtual machine monitor
Virtual Programmable Interrupt Controller
virtual 8086 mode
VMDISK
watchdog timer
windows
WIN-OS/2 kernel
Workplace Shell
Workplace Shell object
XMM
386 enhanced mode
80386
80486
8086 Emulation