|
Glossary This section provides a list of terms that define some basic concepts of the driver class framework described in this paper. ClientA client is any Java class that is using the public services of the JDI. The class may exist within or outside of the JDI class framework. Examples include applications like HotJava and browser applets as well as JDI device drivers layered upon other device drivers. DeviceA device is a abstract representation of a physical or virtual hardware entity. Physical hardware devices are tangible and typically attached to an I/O bus. The JDI relies on the Java System Database and the JBI to obtain the set of physical devices discovered on the platform or assigned to a platform by an administrator. The set of physical devices is published via the JSD as a tree of devices. See the JSD and JBI specifications for more device tree details. Virtual devices on the other hand, are purely software fabrications. Examples include a RAM disk, or a disk partition. Virtual devices are appended to the physical device tree dynamically as discovered. Device DriverA device driver is a Java software component designed to manage one or more instances of a device. A device driver is composed of a group of classes arranged in packages. One or more of these packages must implement JDI-compliant interfaces, including the standard Device interface. A device driver can also be a client of another device driver using JDI services. A device driver fulfills the terms of the contract defined by one or more JavaOS for Business software interfaces. All device drivers are defined as a descendent of the standard device driver class, and are further characterized by the set of specific interfaces implemented. The parent device driver class is defined as follows:
Driver TypesIn general, drivers can be classified as either:
Logical Drivers
Logical drivers are virtual drivers. They talk to other drivers, rather than to hardware, and they do not require a bus manager. Logical drivers open up a layer in the device tree one or more levels above a physical driver. There may be many logical drivers on top of one physical driver. Logical drivers are platform independent. Physical Drivers
Physical drivers talk to devices using the services of a bus manager, which calls into the hardware on behalf of the physical driver. Bus managers encapsulate hardware dependencies, allowing physical drivers to remain at one remove from platform devices. Physical drivers are consequently platform independent. For the same reason, bus managers are platform dependent. Device ManagerA device manager is a Java software package providing clients a common interface to a category of devices. For example, all Small Computer Systems Interface (SCSI) devices belong to the SCSI device category. The SCSI device manager (or SCSI manager for short) provides a unified SCSI interface for all flavors of SCSI bus controller. A device manager also provides device specific services to a set of device drivers. For example, the SCSI manager provides SCSI specific services to the set of active SCSI bus device drivers. Not all device drivers however are paired with a manager. Some devices are easily managed with stand-alone drivers. For those drivers paired to a manager, the manager contains all the functionality common to the category of device.
JavaOS for Business software supplies a default device manager class that is the initial owner of all devices in the system. The default device manager implements the standard device interface for all devices in the system. Through-out the remainder of the document, the term "Device Manager" refers to the default device manager supplied by JavaOS for Business software. As each device is characterized, its ownership and implementation responsibility is transferred to either a stand-alone device driver or another more specialized device manager. Either way, a driver or a manager implements some form of the standard Device interface. Specialized device managers can in turn transfer device ownership to a driver associated with that specific manager. If a driver gives up ownership of a device, the default or specialized manager regains control. If the device is removed from the device tree, all code assigned to manage that device may be unloaded from the system as well. Device FamilyAn device family is the collective term for a device manager and its set of device drivers. For example, the SCSI family is the term used to name the SCSI manager plus the set of active SCSI drivers. A device family is also associated with one or more public I/O interfaces. The generic device family is the collection of stand-alone device drivers and the default device manager. BusA device that allows other devices to connect themselves to the platform. Bus ManagerBus Managers insulate device drivers from platform and bus dependencies by providing low-level system services such as memory allocation and interrupt processing. This allows drivers to be written entirely in Java and remain architecture neutral. It also simplifies the task of driver writing by removing bus management concerns.
Download JavaOS for Business SDK, 2.1 |
Readme |
Technical Summary |
Documentation |
Device Driver White Paper |
Product
and Marketing Information |
Java Point of Sale-Compliant
| |||||
|
| ||||||||||||