47 lines
2.2 KiB
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>
|