Browse Prior Art Database

OS/2 Virtual Device Driver Support for CD-ROM Disclosure Number: IPCOM000113928D
Original Publication Date: 1994-Oct-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 4 page(s) / 192K

Publishing Venue


Related People

Feriozi, DT: AUTHOR


Disclosed is the use of a Virtual CD-ROM device driver (VCDROM) to provide support for DOS CD-ROM applications under OS/2* version 2.0.

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

OS/2 Virtual Device Driver Support for CD-ROM

      Disclosed is the use of a Virtual CD-ROM device driver (VCDROM)
to provide support for DOS CD-ROM applications under OS/2* version

      The OS/2* 2.0 device driver architecture provides for a new
type of driver, referred to as a Virtual Device Driver (VDD), in
addition to the existing Physical Device Driver (PDD) model.  The
primary purpose of a virtual device driver is to virtualize access to
hardware, so that a number of DOS applications may share a particular
device, even though it appears to each application that it has
exclusive access to the device, as in the single-threaded DOS
environment.  However, since the VDD/PDD architecture was primarily
designed for use with base device drivers, a number of modifications
of the basic virtual device driver are provided in the VCDROM driver,
along with techniques for implementing virtual support for CD-ROM.

      The conventional OS/2 VDD is designed to be half of a split
model, with the other half being a PDD directly accessing the
hardware.  Since these halves communicate directly with each other
through private interfaces, both the VDD and the PDD must be
configured specifically for OS/2 2.0.  That is, a virtual device
driver cannot be used with physical device driver from a prior
version of OS/2.  This tight coupling of VDD and PDD drivers presents
a particular problem when installable devices, such as CD-ROM drive
units, are considered.  A major advantage of OS/2 2.0 has so far been
compatibility with OS/2 version 1.x installable device drivers.

      Fig. 1 shows a block diagram of the Virtual CD-ROM device
driver (VCDROM) configured so that the virtual device driver is
loosely coupled to the physical device driver.  In addition to
providing compatibility with existing PDDs, this loosely coupled
model allows the VCDROM to be simpler and smaller by leveraging
existing OS/2 system services.  Since the loosely-coupled virtual
driver does no interrupt-time processing, it can be fully swappable,
and is less prone to error.

      Instead of using a complicated private interface to the PDD,
the VCDROM communicates with the PDD by invoking OS/2 system
services.  Some of the system services available to OS/2 applications
are also available to virtual device drivers through the Virtual
Device Helper (VDH) routines.  These routines are convertors to
transform a virtual 8086 (V86) processor mode request into a native
processor protect mode request, which is serviced by the system
services used by the protect-mode applications.  The primary VDH
services used are VDHOpen, VDHRead, and VDHDevIoctl, which are
translated into DosOpen, DosRead, and Dos DevIoctl, respectively.
This approach maximizes the use of existing code, both within the
OS/2 kernel and within the PDDs, which do not have to be modified to
support a special VDD/PDD interface.

      While previous virtual device drivers used these services onl...