Having examined the methods that must be implemented to support the
IOBlockStorageDevice interface, we can now take a look at how a simple RAM disk device can be implemented in Mac OS X. As with the driver for any disk device in the I/O Kit, we will split our driver into two classes: the transport driver class, which implements the functionality and communicates with the hardware device, and a class that implements the
IOBlockStorageDevice interface, which acts as an interface between the transport driver and the device services layer of the storage driver stack.
As we have seen, the I/O Kit does not require the transport driver for a storage device to be written in any particular way or to subclass from any particular ...