Thursday, September 16, 2004

Java Device Drivers API


One of growing pains for IHVs- Independent Hardware Vendors and end-consumer (difference between customers and consumers is a topic for a different blog) is device drivers supporting all operating systems. How many times I had to drop my beta OSes on my "bleeding edge" beta PC at home just because I did not have the right device drivers.


I think the time is ripe for a JSR for Java Device Drivers API which will enable developers to write their device drivers once on Java and get it supported on all platforms that supports Java. J2SE is always thought to be the heavy-weight for device drivers and hence J2ME is the right platform to be used for all device drivers since that will enable them to support not only PC, Servers, but also Cellphones, PDAs, etc.


So the question arises, is it really feasible? I think it is... The best proof is USB Specification which makes it easier to support multiple devices through USB by following the USB spec. Similarly once we have a Java Device Driver API, things will be lot easier to make them work not only on Windows, Linux, Solaris but also on J2ME supported Cell Phones, PDAs, etc.



Once again JCP is the right way to bring about this change. (If you are not a member yet, join now .)


Anyone who wants to be the Spec Lead for a "Java Device Driver API Specification JSR" ?


1 comment:

Kristofer Spinka said...

Much of the work in device drivers involves moving data from main memory to peripherals, servicing interrupts, and keeping the instruction count in the code path as small as possible. I wouldn�t say that these are Java�s fort�s.
Could you imagine using a virtual machine to service an interrupt? Isn�t there a law against this?