Content deleted Content added
→Drivers: That's not an exhaustive list. |
|||
(23 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Short description|Computer software for connecting SCSI devices}}
==
The ASPI manager software provides an interface between ASPI modules (device drivers or applications with direct SCSI support), a [[SCSI host adapter]], and SCSI devices connected to the host adapter. The ASPI manager is specific to the host adapter and [[operating system]]; its primary role is to abstract the host adapter specifics and provide a generic software interface to SCSI devices.<ref name=guide />{{rp|56}}
On [[Windows 9x]] and [[Windows NT]], the ASPI manager is generic and relies on the services of SCSI miniport drivers. On those systems, the ASPI interface is designed for applications which require SCSI pass-through functionality (such as [[CD-ROM]] burning software).<ref name=guide />{{rp|57}}
The primary operations supported by ASPI are discovery of host adapters and attached devices, and submitting [[SCSI
== History ==
ASPI was developed by [[Adaptec]] around 1989<ref name=hoovers>{{cite book | editor-last=Spain | editor-first=Patrick J. | editor2=James R. Talbot | date=1995 | url=https://archive.org/details/hoovershandbooko0000unse_j4c4/page/118/ | title=Hoover's Handbook of Emerging Compaies 1995: Profiles of America's Most Exciting Growth Enterprises | publisher=The Reference Press | page=118 | isbn=9781878753755 | via=Google Books}}</ref> and was formally introduced in January 1990. Originally supporting only [[MS-DOS]],<ref name=brownstein>{{cite journal | last=Brownstein | first=Mark | date=January 15, 1990 | url=https://books.google.com/books?id=eTAEAAAAMBAJ&pg=PA409 | title=Adaptec Unveils SCSI Interface Standard | journal=InfoWorld | publisher=IDG Publications | volume=12 | issue=3 | page=23 | via=Google Books}}</ref> support for [[NetWare]] was added in 1991, while support for [[OS/2]] and [[Windows 3.x]] was added in 1992.<ref name=hoovers /><ref name=redefines>{{cite journal | last=Guzman | first=Ed | date=June 1992 | url=https://www.proquest.com/docview/220619290 | title=ASPI Refines SCSI I/O Routing | journal=Computer Technology Review | publisher=West World Publications | volume=12 | issue=7 | page=22 | id={{ProQuest|220619290}} }}</ref> Originally developed only for SCSI devices, support for [[ATAPI]] devices was added later.<ref>{{cite book | last=Mueller | first=Scott | date=2003 | edition=14th | url=https://books.google.com/books?id=eV1_LjW3pTkC | title=Upgrading and Repairing PCs | publisher=Que | pages=563–564, 771–772 | isbn=9780789727459 | via=Google Books}}</ref>{{rp|772}} Most other SCSI host adapter vendors (for example [[BusLogic]], DPT, AMI, [[Future Domain]], DTC) shipped their own ASPI managers with their hardware.<ref>{{cite journal|last=Myers|first=Ben|title=More on ASPI|url=https://www.drdobbs.com/letters/184409247|page=10|volume=19|issue=5|date=May 1994|journal=Dr. Dobb's Journal|publisher=UBM LLC|archiveurl=https://web.archive.org/web/20241125034059/https://www.drdobbs.com/letters/184409247|archivedate=November 25, 2024|url-status=live}}</ref>
Adaptec also developed generic SCSI disk and CD-ROM drivers for DOS ({{mono|ASPICD.SYS}} and {{mono|ASPIDISK.SYS}}).<ref name=bookofscsi>{{cite book | last=Ridge | first=Peter M. | date=1995 | url=https://books.google.com/books?id=etcmAQAAMAAJ&q=%22ASPIDISK.SYS%22+%22ASPICD.SYS%22 | title=The Book of SCSI: A Guide for Adventurers | publisher=No Starch Press | isbn=9781886411029 | via=Google Books}}</ref>{{rp|60–61}}
At least a couple of other programming interfaces for SCSI device drivers competed with ASPI in the early 1990s, including CAM (Common Access Method), developed by Apple; and Layered Device Driver Architecture, developed by [[Microsoft]]. However, ASPI was far and away more common than any of its competitors in this space, with ''PC Magazine'' declaring it a ''de facto'' standard for developing SCSI device drivers only two years after its introduction.<ref>{{cite journal | last=Thomas | first=Susan G. | date=April 28, 1992 | url=https://books.google.com/books?id=HERlo0BgpGYC&pg=PT32 | title=SCSI Protocol Wars: ASPI, CAM, LADDR | journal=PC Magazine | publisher=Ziff-Davis | volume=11 | issue=8 | page=31 | via=Google Books}}</ref>
Starting in 1995, Microsoft licensed the interface for use with their [[Windows 9x]] operating systems. At the same time [[Microsoft]] developed SCSI Pass Through Interface (SPTI), an in-house substitute that worked on the NT platform. Microsoft did not include ASPI in [[Windows 2000]]/[[Windows XP|XP]], in favor of its own SPTI.<ref>{{cite journal | last=Tewell | first=Thomas | date=December 1997 | url=https://www.drdobbs.com/windows/writing-portable-win32-scsi-applications/184410340 | title=Writing Portable Win32 SCSI Applications | journal=Dr. Dobb's Journal | publisher=UBM LLC | volume=22 | issue=12 | pages=56–57 | archiveurl=https://web.archive.org/web/20141218172923/https://www.drdobbs.com/windows/writing-portable-win32-scsi-applications/184410340 | archivedate=December 18, 2014}}</ref>
To support [[Universal Serial Bus|USB]] drives under DOS, [[Panasonic]] developed a universal ASPI driver ({{mono|USBASPI.SYS}}) that bypasses the lack of native USB support by DOS.<ref>{{cite book | date=2006 | url=https://books.google.com/books?id=bf6LjPgbE9QC&dq=%22USBASPI.SYS%22&pg=PA130 | title=软件安装完全手册 | trans-title=Complete Software Installation Manual | lang=Chinese | publisher=Science Press | page=130 | isbn=978-7-03-018123-7 | via=Google Books}}</ref>
== Driver ==▼
Examples of ASPI drivers:
:
{| class="wikitable" border="1"
|-
! Operating
! Driver
! Bundled
|-
| MS-DOS
| {{mono|ASPI4DOS.SYS}} or {{mono|USBASPI.SYS}} (USB drives only)
| {{no}}
|-
| Windows 3.1x
| {{mono|WINASPI.DLL}}
| {{no}}
|-
| [[Windows 95]], [[Windows 98|98]] and [[Windows ME|ME]]
| {{mono|WNASPI32.DLL}}, {{mono|WINASPI.DLL}}, {{mono|APIX.VXD}} and {{mono|ASPIENUM.VXD}}
| {{yes}}
|-
| Windows NT, 2000, XP
| {{mono|WNASPI32.DLL}}, {{mono|ASPI32.SYS}}
| {{no}}
|}
Line 47 ⟶ 49:
== See also ==
* [[SCSI Pass-Through Direct]] (SPTD)
== References ==
{{Reflist}}
[[Category:Application programming interfaces]]
|