Re: [OT] RE: UDI and Free Software

kdg@sco.com
Thu, 8 Oct 1998 00:35:11 -0400 (EDT)


> > it lacks stuff like check_region that is central to the Linux philosophy.
> > UDI on Linux would also be useless for parallel scanners - UDI can't
> > describe talking to the parport management layer
> >
> > Exactly. So you'd have to do an extra memory copy in the Linux<->UDI
> > interface layer. It'll be slow, but you an make it work. See my
> > previous comments about UDI always being a poor second cousin to real
> > native drivers.....
>
> It isnt a case of extra copies. Its fundamentally impossible for a UDI
> driver to access the parallel port under Linux because there is no UDI speak
> for 'parport_*' calls which you _have_ to make. There are numerous other
> examples like that.

This falls into the class of what UDI calls "metalanguages". UDI defines
APIs for the basic execution environment of a driver and the services it
needs, such as memory allocation. It also defines a standard model for
communicating between two drivers or between a driver and another subsystem
(such as a filesystem). Metalanguages define "flavors" for such
communication, tailored to particular device models. As such, the
metalanguage defines a supplementary API set with appropriate semantics
for the particular model.

While the current UDI spec only mentions SCSI, Network, and Pointer, it
is *extensible*, and it's expected that many other metalanguages would
be added in the fullness of time. The parallel port model is a good
example. It would be easy to design a UDI metalanguage for parallel
ports that has the semantics of the Linux 'parport_*' calls. This could
then be added to the spec.

The UDI model also supports creating new metalanguages on the fly, so
you don't have to wait for a long feedback cycle to be able to use
something new. As long as the two modules that are speaking to each
other are based on the same metalanguage, it'll all work.

-----------------------------------------------------------------------
Kurt Gollhardt email: kdg@sco.com voice: +1 908 790 2277
SCO Core OS Architect Murray Hill, NJ fax: +1 908 790 2426
-----------------------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/