Abstract
With the vast advances in the computing power of processors, computers are processing data that are more and more time-intensive (e.g., on-line transaction) and voluminous (e.g., multimedia). But, on the other hand, I/O speed of the peripherals could not maintain the same rate of improvement. This thus creates bottlenecks in the computers when processing I/O. Another problem with current I/O device development is that it is often necessary to develop a specific device driver for each different host OS and the drivers are not flexible and extensible in terms of functionality.The new I/O architecture, I2O, was introduced to solve the above problems. I2O splits a traditional driver into two parts. One is host OS dependent (OSM) and the other is hardware device relative (DDM), which is run in the I/O platform (IOP). The IOP contains a processor, memory and real time OS. It can off-load the host processor to eliminate the I/O bottleneck. With I2O, the I/O device driver can be made more portable across different operating systems and allows easy integration of new functionality.In this thesis, we study the internals of I2O and provide a driver implementation guide of DDM. Performance of using I2O in a web server setting is also evaluated. According to our experiment results, the server with I2O can handle more interrupts per second and gain higher data transmission rate. Additionally, the throughput of the server in responding to the requests and the rate of handling requests per second can all be improved with the help of I2O.