Skip to Main Content
The concept of splitting one logical device driver into two or more physical units is presented. The specific case of an Operating System/2® (OS/2®) SCSI (Small Computer System Interface) device driver is used as an example. The primary reason for splitting the device driver is to reduce the development effort required to produce new SCSI device drivers. Common code is isolated in a separate driver in order to prevent its reinvention as each new SCSI device becomes available. Additional benefits are that the overall device driver size is reduced, and the performance of the SCSI subsystem is enhanced. The complete separation of the upper- and lower-level drivers provides the ability to replace one of the device drivers without affecting any of the other components of the system. This is particularly important because it enables backward compatibility for older device drivers, while allowing for the support of emerging technology.
Note: The Institute of Electrical and Electronics Engineers, Incorporated is distributing this Article with permission of the International Business Machines Corporation (IBM) who is the exclusive owner. The recipient of this Article may not assign, sublicense, lease, rent or otherwise transfer, reproduce, prepare derivative works, publicly display or perform, or distribute the Article.