Hello all I was hoping to solicit some opinions (or relevant links) as to right ways and wrong ways to think about talking to hardware.

For example, I know that /dev/ is full of yellow file-like things(?) that act as intermediaries between hardware and software. I'm not sure where they come from, do drivers create them? If I wanted to use pure java to talk to a device is this a good way to do it? (The driver for the device is written in C and lives in user space, but I want to avoid JNI and SWIG.)

If for some morbid reason I wanted to create a thing like /dev/zero that spat out Lorem Ipsum instead of 0 could I do that?