An Empirical Solution to a Kmax Device Driver for PCI-VME Adapters

H. Liu, R.B. Piercey, J.E. McKisson, B. Maisler, Yishi Li, John McKisson, and J. Schuck (USA)


Software Engineering Application, Embedded System, Asynchronous Data Acquisition, Direct Memory Access


This paper introduces the KSBSDriver, an empirical solution to a new PCI-bridge device driver. The driver is used to operate a family of PCI-VME communication adapters [6] and provide intersystem data acquisition services to an instrumentation development environment, called Kmax [2]. It provides the first PCI-VME bridge device driver that supports both programmed I/O and DMA for MacOS-X. The native driver for MacOS-X offers ADC (Apple Developer Connection, [8]) community an efficient approach to conduct asynchronous communication between MacOS-X kernel and user space. Subtle technique problems about the virtual memory management of DMA and a novel solution are presented to address a challenging performance issue. Other software engineering issues such as portability, extendibility, and reusability are discussed. The empirical solution presented in this paper provides Unix device-driver developers a practical paradigm to write native libraries of COM (Component Object Model) standard that run under the Java environment.

Important Links:

Go Back