More on non-RTOS I2O.
Suppose a particular form of peer-to-peer data passing got popular, say involving compressed multi-media data. I2O on the server, or any network storage device, could handshake with clients, decide on the most expedient format and flow-control mechanism for transferring the data, and begin transferring the data - all without the server's CPU and possibly the client's CPU knowledgeable of the goings-on.
In the case in which both the server and the client utilize an RTOS-based I2O capability, they might decide on the fastest possible means of transfer using deterministic timing to stay synchronized.
But what if the client is a multi-tasking PC that lacks an augmented I2O board? The I2O standard simply cannot afford to insist that the client absolutely must implement an add-on card containing an I2O chip, in order to issue I2O messages to the server and transfer data. This would be in addition to the network interface card already in place.
The solution might well be that I2O gets implemented in software on the client, just like any other communication software program. With this cheap solution, the client can seamlessly utilize most of the I2O-based server functionality, without the need for additional hardware. However, a high-end client might resent both the resulting drain on his/her PC as well as the defaulting to less efficient means of enforcing flow-control. One solution is to upgrade to an I2O-based NIC. In the future, a better solution may be to put an I2O chip on each and every motherboard, because many networked PCs need a plethora of I/O interchanges just like servers.
Another reason for using not only I2O, but IxWorks inside, is maintainability. One of the major benefits of the I2O chip is that communication protocols can be implemented in software and updated in all such devices with easy, centralized administration. This is most important where communications standards are in the formative stage, but still desired by corporations, e.g. ATM. The difficulty of administering software updates, and guaranteeing compatibility, is increased when I2O is implemented in multiple form factors. (This should be mitigated but not eliminated by maintaining backward compatibility between I2O updates.)
Allen |