Browse Prior Art Database

Hardware Contention Serialization Algorithm

IP.com Disclosure Number: IPCOM000115239D
Original Publication Date: 1995-Apr-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 6 page(s) / 276K

Publishing Venue

IBM

Related People

Dinallo, CA: AUTHOR [+2]

Abstract

Disclosed is a "serialization algorithm" providing a mechanism for serializing the access of applications to limited hardware resources in a computing system. This algorithm is implemented in an OS/2* Virtual Device Driver (VDD). At initialization, the VDD communicates with physical device drivers to ascertain which hardware assets the VDD should manage and protect. When a DOS application attempts to access a protected resource, the VDD follows the rules of the serialization algorithm to resolve questions of access privilege. Under OS/2, DOS applications are executed using the V86 mode of, for example, an Intel 80386 microprocessor. The operating system support of V86 sessions is provided in the form of Multiple Virtual DOS Machines (MVDM), through which each DOS application appears to be running on a true DOS system.

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

Hardware Contention Serialization Algorithm

      Disclosed is a "serialization algorithm" providing a mechanism
for serializing the access of applications to limited hardware
resources in a computing system.  This algorithm is implemented in an
OS/2* Virtual Device Driver (VDD).  At initialization, the VDD
communicates with physical device drivers to ascertain which hardware
assets the VDD should manage and protect.  When a DOS application
attempts to access a protected resource, the VDD follows the rules of
the serialization algorithm to resolve questions of access privilege.
Under OS/2, DOS applications are executed using the V86 mode of, for
example, an Intel 80386 microprocessor.  The operating system support
of V86 sessions is provided in the form of Multiple Virtual DOS
Machines (MVDM), through which each DOS application appears to be
running on a true DOS system.  Thus, by default, each DOS application
has complete access system resources.  Without further protection,
such access would violate system integrity, undermining the concept
of a protected system.  Therefore, to protect DOS session execution,
OS/2 defines VDDs which can protect selected hardware resources.
Fig. 1 is a block diagram showing the implementation of the presently
disclosed serialization algorithm in OS/2.  The serialization
algorithm resides in an OS/2 VDD, communicating through a defined
protocol to one or more PDDs to coordinate device serialization, so
that only one application may use the hardware at a given moment.
Each application wanting access to a device can do so only with
permission, which is granted to the first application waiting and
relinquished to another application only after the prior application
is finished accessing the hardware.  When hardware contention is
detected, the algorithm can terminate the Virtual DOS Machine (VDM)
session of the application, continue this session without hardware
access, or suspend this session to reschedule immediately upon
hardware availability.

      In the protected multitasking environment provided by OS/2,
many applications contend for limited hardware resources.  The OS/2
operating system supports the concurrent execution of OS/2 native
applications, which are written specifically for OS/2, and of one or
more DOS applications.  All applications execute on the
microprocessor under supervisory control of the operating system,
which maintains system integrity so that no application can interfere
with the execution of other applications.  The operating system
kernel manages most process protection.  The operating system uses
Physical Device Drivers (PDDs) to protect OS/2 native applications
from each other.  These PDDs, which implement hardware adapter
protection, are normally written to the specifications of particular
devices by the companies building the hardware.  Each PDD has a
responsibility for controlling the concurrent use of the adapter by
two or more applications, if such use...