/i:-too-oh/ (I2O) A specification which aims to provide an I/O device driver
architecture that is independent of both the specific device being controlled and the host operating system
. The Hardware Device Module (HDM) manages the device and the OS Services Module (OSM) interfaces to the host operating system. The HDM is portable across multiple operating systems, processors and busses. The HDM and OSM communicate via a two layer message passing protocol
. A Message Layer sets up a communications session and runs on top of a Transport Layer which defines how the two parties share information.
I2O is also designed to facilitate intelligent I/O subsystems, with support for message passing
between multiple independent processors. By relieving the host of interrupt
intensive I/O tasks required by the various layers of a driver architecture, the I2O intelligent I/O architecture greatly improves I/O performance. I2O systems will be able to more efficiently deliver the I/O throughput required by a wide range of high bandwidth applications, such as networked video
processing. I2O does not restrict where the layered modules execute, providing support for single processor, multiprocessor
, and clustered
I2O is not intended to replace the driver architectures currently in existence. Rather, the objective is to provide an open, standards-based approach, which is complementary to existing drivers, and provides a framework for the rapid development of a new generation of portable, intelligent I/O.