What Price High-Performance I/O?
October 1st, 1997 by Phil Hughes in
If you have been around the PC industry for a while, you most likely remember that the ISA architecture (AT bus as it was initially called) was recognized as not the best answer for high performance I/O, because of speed limitations and rather poor interrupt structure. Enter IBM with its MicroChannel architecture. All you had to do was pay IBM money, and you could use the design. Some manufacturers bought in, but it soon flopped because what the industry really wanted was an open standard. In fact, AT bus became ISA (Industry Standard Architecture) because of IBM's proprietary approach.
However, ISA still wasn't the answer. The first issue, bus speed, was addressed with the PCI bus which, being wider and faster, has satisfied the bandwidth requirements of I/O hungry systems. But, as the speed of everything has increased, so has the number of interrupts that must be dealt with.
The best solution is to have intelligent peripherals that don't have to interrupt the CPU as often in order to carry out their tasks. The most common example today is the buffered serial card UARTs (universal asynchronous receiver/transmitter). Another is intelligent serial cards that enable the transfer hundreds or thousands of characters in a single DMA (direct memory access) transfer and the take care of the character-by-character transfer themselves.
Each intelligent I/O card requires a driver for system communications. More accurately, a driver is needed for each operating system that wishes to talk to the card; thus, manufacturers must invest in support of each system. This investment means that most vendors tend to support only the most popular operating systems.
It was recently (meaning a few hours ago) called to my attention that there is an organization called the I2O Special Interest Group that is addressing this problem. Here are a few quotes from their web page:
The objective is to provide an open, standards-based approach ... and provide a framework for the rapid development of a new generation of portable, intelligent I/O solutions.
The I2O model provides an ideal environment for creating drivers that are portable across multiple operating systems and host platforms.
The I2O model is intended to provide a unifying approach to device driver design...
They also pose the question, “Do you see the Unix vendors supporting I2O in their future releases?” and answer it by stating, “SCO is a SIG member and has indicated it will support I2O in future releases of its OS. The SIG welcomes all other Unix vendors to join as well.”
All of this rhetoric sounds like we are all friends, and we will all interoperate happily ever after. However, there does seem to be a catch.
In one of those nice answers about compatibility, we see our first clue that there is a potential problem: “The SIG is set up so that only members and their licensees can design with the specification,....” Even more to the point: “The I2O Specification...is an agreement about the intellectual content and the terms and conditions for how the Specification can be used. Therefore, to make the Specification available to non-members a non-disclosure agreement must be executed.”
I have attempted to contact them for clarification but, so far, they have not returned either my phone call or e-mail.
I'm sure all Linux folks are familiar with the non-disclosure problem. Non-disclosure is why Diamond video boards weren't supported until Diamond changed their mind, and why Linux for the Mac didn't exist for years. To put it another way, you can't comply with both the GPL and a non-disclosure agreement.
Fight—not let someone who claims they are making an open standard get away with an “open to anyone except free software” standard. The first organization to take action is Software in the Public Interest, the same folks who bring us Debian Linux. I have just received a draft of a proposal for an Open Hardware Certification Program. In this program, vendors will make a set of promises about the availability of documentation for programming the device-driver interface of the specific hardware device.
The idea here is that while the program will not guarantee a device driver is available for a specific device and operating system, it does guarantee that anyone who wants to write one can get the information necessary to do so.
I am sure there will be more on this topic on the Usenet newsgroups, on the web and in the press. If you are a vendor, contact SPI (http://www.debian.org/ will point you in the right direction) for more information on their certification program. If you are a potentially unhappy consumer, check out http://www.io2sig.com/ and let the SIG members know what you think about the exclusion of free software from their open standard and about SPI's effort for real open hardware. Finally, watch the LJ web pages for news on what is happening in this important battle.
Phil Hughes
Special Magazine Offer -- Free Gift with Subscription
Receive a free digital copy of Linux Journal's System Administration Special Edition as well as instant online access to current and past issues. CLICK HERE for offer
Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.
Subscribe now!
The Latest
Newsletter
Featured Videos
Set up a secure virtual host in Apache
December 22nd, 2008 by Elliot Isaacson in
Setting up an https server in Apache is easy. This tutorial covers how to create and sign your ssl certificate as well as how to configure the web server.
Recently Popular
From the Magazine
January 2009, #177
It's a battle as old as time: good vs. evil. Fortunately, Linux and FOSS are on our side as we wage the battle against those who try to steal our secrets and invade our systems.
Checking your system's security is best done sooner rather than later. Test the locks with our article on security verification; find out how to use PAM to help secure your systems; use MinorFS and AppArmor to implement discretionary access control; learn more about Samba security in part III of our series; use Darknet to help detect bots and secure your systems; use the Yubikey to increase your site's security; and don't forget to lock the doors, because a cold boot attack could render your security useless if somebody has physical access to your computer.
But, we're not just about sowing the seeds of fear. We also show you how to use memcached in Rails, how to manage multiple servers efficiently, how to deploy applications easily with Capistrano, how to manage your videos with MythVideo, how to mix it up a bit (your audio that is), and even play a few games.
Delicious
Digg
Reddit
Newsvine
Technorati





linux
On October 2nd, 2007 mp3 download Beyond the Invisible (not verified) says:
the advantage user talk What's People space space. vs. each? kernel about of . Bye.
linux
On October 2nd, 2007 mp3 download Beyond the Invisible (not verified) says:
the advantage user talk What's People space space. vs. each? kernel about of . Bye.
Post new comment