Overview of OSDI

Purpose

The purpose of the OSDI pack is to allow DP4 developers access from their applications to any device supported by their system in a consistent and portable manner. When the OSDI is used correctly, it should be possible to completely change the actual devices used by the application (even the type of device), or to port the application to another operating system, without needing to change any application level code.

About Devices

Most computers use input and output devices to provide an interface to their external environments. These devices commonly take the form of a keyboard for input and a display monitor for output. Users of DP4 interact with the system with these devices by default.However, applications frequently need to use devices other than or instead of keyboard and monitor for input and output. Furthermore, output frequently means sending information to control a special piece of hardware. There are many kinds of physical device that may be controlled or utilised by a computer, including printers, cash drawers, displays, scales, bar-code readers, magnetic stripe readers and so on.

An application development environment should therefore provide the means to reference as broad a range of devices as possible, in as flexible a manner as possible. An application designer should be able to specify high-level device commands without knowledge of low-level device implementation. An application should have an abstract view of the devices it is handling. That is, it should be possible to replace the underlying definition and implementation of the devices without making changes to the application.

About the OSDI

Itim Technology Solutions' System Device Integration Pack, known as the OSDI pack, provides the application program interface for device handling in DP4. The OSDI is used to create an System Device Driver Interface (also known as an OSDI! See Apology).

The OSDI pack is a source code product. The details vary from platform to platform, but in all cases there are two main parts:

  1. A part that handles communication between the device interface and the DP4 terminal manager. This part does not require any modification

  2. Skeleton code, which you must modify that contains empty versions of functions called by part 1. You modify this part to implement the interface to the a modifiable interface.

With an OSDI you can have:

Any type of device, input or output, can be accessed using the OSDI, provided that it is possible to integrate code that communicates with the device, either directly or using a separate handler. You are not restricted in your choice of device. Typical output devices handled by DP4 applications include printers, customer displays and cash drawers; typical input devices include keyboards, scanners and magnetic stripe readers.

Knowledge Required

The application programmer only needs to understand how to access devices from the application (described here) the protocol at level 1, whereas an OSDI developer must understand the protocol between the DP4 terminal manager and the OSDI. Of course, some DP4 developers will be concerned at both levels. Overall, there are actually three areas which relate to device handling under DP4: