Home

Device drivers in Java?

2009/11/01

The following tweet by @DSpinellis:

#USENIX @AnnualTech M. Renzelmann Decaf: Moving Device Drivers to a Modern Language (Java). He says performance impact is 1%

talks about “Decaf: Moving Device Drivers to a Modern Language” which describes a system where large parts of a driver can be written in a better language than C, the example here being Java.

I was certain that this was not the first time I had read about such an idea. This weekend I was able to go through my archive and find out the reference. Back in January 1997 in the NT Insider (Volume 4, Issue 1) Peter Viscarola, while criticizing the multitude of startups founded by anyone who could code a Java applet (this was a pre-dot-boom era remember) wrote:

It’s obvious that we are missing a real opportunity here to capitalize on the convergence of these trends. We need to immediately fund a start-up company to develop a package for writing Windows NT drivers in Java. THINK of it! We could have processor architecture independent device drivers that don’t even need to be recompiled in order to support X86, PPC, and Alpha machines! Amazing! We could create a visual driver development environment, complete with cute animated assistants. And, the drivers could probably have a visual component to them, so you could actually see your toaster-oven driver doing its work. Cool! THEN we could all be challenged, and have fun, and get rich at the same time. Wow! Why didn’t I think of this before?

It would be nice if we could see Peter’s views on the subject 12 years later.

Advertisements

3 Responses to “Device drivers in Java?”

  1. thanos Says:

    I always love those “better language” arguments.

    Newer != better. A hammer is an ancient tool but it still works great FOR WHAT IT IS DESIGNED TO DO.

  2. adamo Says:

    In my mind, “better language” has to do with what makes it easier for you (personally) to write code. Which is why many times people cannot distinguish between the language, its standard libraries or even highly successful third-party ones.

    In a world where people would actually try to write good drivers, I would argue that they should be written in the same language the operating system is written in. But since companies want code monkeys to “just write some code” in order to start selling the product, using a language that at least prevents buffer overflows, is not a bad idea.


  3. There has indeed been much work in that area in the last decade:

    Sun’s oroginal JavaOS:
    http://en.wikipedia.org/wiki/JavaOS
    JNode:
    http://www.jnode.org/
    JX:
    http://www.jxos.org/

    And the most promising ones:

    Project Guest VM:

    Microsoft Singularity:
    http://research.microsoft.com/en-us/projects/singularity/


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: