Alta's HowTo's Complement

pageicon Thursday Apr 10, 2008

A Driver for a Sun SPOT

Jonathan Micklos, Sun Campus Ambassador at Purdue University, gave a presentation for the OpenSolaris ACM SIG titled, "Driver Development for OpenSolaris." This presentation does not provide details of how to write a device driver for the Solaris OS - it does something more fun than that.

For instructions on how to develop a driver, see Device Driver Development Resources. What Jon's presentation does instead is give students a reason to want to develop a Solaris driver.

Jon's presentation first gives a brief overview of Solaris drivers and how they are different from Linux drivers. He then discusses a ramdisk driver and its important code features. A third of the way through the presentation, Jon is telling us about Sun SPOTs. Do not think he has abandoned the topic of deivce drivers. Keep up. Two thirds of the way through the presentation is the page, "Next Step Past RAM Disk Driver: Can We Make a Sun SPOT Based Accelerometer Driver?" (The answer is on the next page - no peeking.) Jon talks about making the SPOT driver reusable and extensible. He talks about writing a driver in a layered fashion where much of the driver is written in Java, and there is a base driver with specialization on top.

This sounds like a fun project to get started with Solaris drivers. Maybe we will get to see more of this at JavaOne.

Comments:

I read that presentation... and it basically drained any will to do any Solaris driver development out of me.

Programming a wireless robotic driver for Solaris, what a cool idea!

But in Java? The process of converting a .java file into a final product, .bin is insane. It's complicated, to say the least.

And entertaining an idea to develop device drivers, an inherently low level construct, in a high level, abstract language like Java, appears to be nothing more than an attempt by the Sun's marketing department to fit square pegs into round holes.

"Java for everything, everywhere!"

Distrust any claims of one true way.

Instead of making sure that students are thought to program in as low level language as possible, like assembler, in order to understand internal functioning of a computer, they are thought to "think abstract" and "program", well more like codify, since one can't really *program* in Java.

What will that do? Well, for instance, I can give one real world example, that I have the misfortune to experience every day:

it produces "Java developers", which, when confronted with a multidisciplinary problem, like developing a multi-threaded application which uses a relational database as a back end, develop junk applications which bog both the app and the DB systems down... on a single CPU thread!

Why does this happen? Because they were basically thought to "think high-level", so they are not capable of comprehending what happens "deep below", and how that what they do "up above" functions "down below", and what impact on performance and efficiency their "programming" might have.

They attempt to program a RDBMS like they would "develop" in Java. What a horrible way to develop applications, all because universities produce incompetent computer science and IT graduates!

And every time, every time that Sun's marketing pushes Java, universities crank out one incompetent would-be computer scientist or IT professional that can't program and code properly.

Posted by UX-admin on April 13, 2008 at 04:15 AM PDT #

What about the Device Driver Tutorial (http://docs.sun.com/app/docs/doc/819-3159)? I feel that there is a humongous chasm between the simple drivers described in the Device Driver Tutorial and the complexities explained in Writing Device Drivers (http://docs.sun.com/app/docs/doc/819-3196). If you have ideas about how to teach low-level programming or how to get students interested in it, please start a conversation on the curriculum forum on OpenSolaris.org. I would truly love to hear more from you.

Young people - and older ones - love NetBeans and Java and SPOTs. The presentation I mentioned in my blog was created and given by a student to a group of students. It was reportedly well received, so I latched onto it as a possible way to get students to look at lower level programming.

Please share your ideas for curriculum content and ways to interest students. Thanks a lot for your help.

Posted by Alta on April 13, 2008 at 06:53 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today


OpenSolaris
Device Drivers community
Driver Development Resources

Hardware Compatibility List
Sun Device Detection Tool
Solaris for x86 Device Support
more wireless drivers

The Observatory: A Closer Look at Using OpenSolaris
Solaris Developer blog
Jyothi's blog
James Liu's blog

Glossary


XML