At 05:20 PM 3/29/00 +0400, you wrote:
> So how does a user app do i/o from/to the 1394 bus?
> (I’ve now got a 1394 card installed in my system)
You will need to write a kmode driver talking to the MS 1394 stack - and
your
app will talk to this kmode driver. This is the only way.
Does this strike anybody else as pretty broken? Isn’t the whole idea of
device drivers to make the interface to a unique device have a common
interface to an application. The simple interface to both 1394 and USB
devices seems like an app should be able to just open a correctly named
stream, and do reads and writes. For that matter, the concept of block
devices and stream devices seems like it fits most devices. Block devices
can seek, and there is a set/get “attribute” commands to control options.
My concern is the number of unique API’s is growing at a much faster rate
than us programmers can learn them. One of the purposes of object oriented
design is to limit this API explosion. A “read” verb should work on a wide
variety of object types, with the details of it being a network card,
microphone attached via USB, video capture device, network connection
across the world, or local disk file system all being pretty much transparent.
Many years ago, I realized IBM’s goal was to suck everybody on earth into
their proprietary “knowledge” sphere. It was ok to increase complexity, as
this brought more people into the IBM universe. It seems like Microsoft is
doing exactly the same thing. Pretty soon (or maybe already), there will be
no such thing as a “Windows software developer”, there will be a “1394
kernel API specialist”. To get any real project done will take a sea of
specialists to do their little thing. Personally, I’d much rather be the
god of my systems, where I have control over and can do
everything/anything, instead of a worker ant with no hope of understanding
the “big” picture.
A little while ago, I had to stop and think, am I still an “expert” in
Windows. It seemed like my answer was a lot less clear than I would have
liked. In the last 3 years I have learned “x” amount about Linux. In those
three years Linux has become maybe 30% more complex. In those same 3 years,
Windows (now W2K) has become probably 200%+ more complex. If we assume the
acquisition of knowledge about each OS continues at a constant rate, it’s
clear that at some point I will know a huge percentage more about Linux
than the percentage I know about Windows. So essentially, Microsoft is
making me a Linux “expert” by their out of control API expansion. I agree
than rich functionality is a nice feature in an OS, bit only if that
functionality doesn’t take an army of people to figure out how to use.
Just my $0.02.