old-www/HOWTO/archived/SCSI-Programming-HOWTO/SCSI-Programming-HOWTO-3.html

47 lines
2.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>The Linux SCSI programming HOWTO: What Is The Generic SCSI Interface?</TITLE>
<LINK HREF="SCSI-Programming-HOWTO-4.html" REL=next>
<LINK HREF="SCSI-Programming-HOWTO-2.html" REL=previous>
<LINK HREF="SCSI-Programming-HOWTO.html#toc3" REL=contents>
</HEAD>
<BODY>
<A HREF="SCSI-Programming-HOWTO-4.html">Next</A>
<A HREF="SCSI-Programming-HOWTO-2.html">Previous</A>
<A HREF="SCSI-Programming-HOWTO.html#toc3">Contents</A>
<HR>
<H2><A NAME="s3">3. What Is The Generic SCSI Interface?</A></H2>
<P>The generic SCSI interface has been implemented to provide general
SCSI access to (possibly exotic) pieces of SCSI hardware. It was
developed by Lawrence Foard (<CODE> entropy@world.std.com</CODE>) and
sponsored by Killy Corporation (see the comments in <CODE>scsi/sg.h</CODE>).
<P>The interface makes special device handling possible from user level
applications (i.e. outside the kernel). Thus, kernel driver
development, which is more risky and difficult to debug, is not
necessary.
<P>However, if you don't program the driver properly it is possible to
hang the SCSI bus, the driver, or the kernel. Therefore, it is
important to properly program the generic driver and to first back up
all files to avoid losing data. Another useful thing to do before
running your programs is to issue a <CODE>sync</CODE> command to ensure that
any buffers are flushed to disk, minimizing data loss if the system
hangs.
<P>Another advantage of the generic driver is that as long as the
interface itself does not change, all applications are independent of
new kernel development. In comparison, other low-level kernel drivers
have to be synchronized with other internal kernel changes.
<P>Typically, the generic driver is used to communicate with new SCSI
hardware devices that require special user applications to be written
to take advantage of their features (e.g. scanners, printers, CD-ROM
jukeboxes). The generic interface allows these to be written quickly.
<P>
<HR>
<A HREF="SCSI-Programming-HOWTO-4.html">Next</A>
<A HREF="SCSI-Programming-HOWTO-2.html">Previous</A>
<A HREF="SCSI-Programming-HOWTO.html#toc3">Contents</A>
</BODY>
</HTML>