コンテンツにスキップ

Advanced SCSI Programming Interface

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Melan (会話 | 投稿記録) による 2008年9月5日 (金) 13:26個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

ASPI (Advanced SCSI Programming Interface) とは、アダプテックが提唱した以下の仕様の総称である。

ホストアダプタのドライバをASPIマネージャといい、ASPI仕様のAPIを提供する。 このAPIを利用してSCSI装置を制御するドライバをASPIドライバという。 また、アプリケーションからもAPIを利用してASPIマネージャ経由でSCSI装置を制御することが可能である。

なお、ATAPIのコマンドはSCSIと似たようなものであるため、ATAPIデバイスが一般的になると、ATAPI用のASPIマネージャ (ATASPI) も提供されるようになり、ATAPIとSCSIを統一的に扱えるようになった。

PC/AT互換機を対象としているが、PC-9800シリーズにも実装された。

類似の仕様に、CAM (Common Access Method) がある。

経緯

もともとASPIはMS-DOSおよびNetWare向けに提唱された。 当時これらのOSではドライバモデルが未成熟で、SCSIアダプタのドライバとSCSI装置のドライバが一体化している(モノリシック)のが一般的であった。 すなわち、SCSIアダプタのメーカーや製品と、SCSI装置のデバイスクラスや製品の組み合わせごとに個別にドライバが必要であり、開発者にとっては開発の負担、利用者にとってはドライバの入手困難を招いていた。また、複数のドライバをインストールして利用する場合に、各ドライバがそれぞれにSCSIアダプタやSCSI装置を制御している点でも好ましくなかった。

そこでアダプテックは、SCSIアダプタのドライバ(ASPIマネージャ)とSCSI装置のドライバ(ASPIドライバ)を分離するデバイスモデル、およびその間を結ぶ共通のAPIの仕様を提唱した。これがASPIである。 これにより、SCSIアダプタのメーカーは自社製品のASPIマネージャだけを、SCSI装置のメーカーは自社製品のASPIドライバだけを開発すればよく、開発の負担が大きく軽減された。 利用者にとっても、自分の利用しているSCSIアダプタとSCSI装置の組み合わせを気にすることなく、ASPIマネージャとASPIドライバをインストールすれば事足りるようになった。 とくに、HDDやCD-ROMドライブのような標準化されたデバイスクラスのASPIドライバは、ASPIマネージャと共にSCSIアダプタに添付されるのが通例であり、そのような装置を使う限りはASPIドライバの存在もほとんど意識する必要がなかった。 PC/AT互換機では、SCSIアダプタのメーカーや製品が多様であったため、ASPIの提唱したデバイスモデルの利点は大きく、広く受け入れられるところとなった。

ただ、当時日本で支配的であったPC-9800シリーズのMS-DOS環境の場合は事情が異なり、SCSIアダプタは純正のPC-9801-55(いわゆる55ボード)とハードウェアレベルで互換性のあるものがほとんどであったため、モノリシックな構造のドライバでも比較的問題が少なかったことから、ASPIはそれほど浸透していなかった。しかし一方で、ASPIを導入することにより、PC/AT互換機向けの各種のASPIドライバがPC-9800シリーズでも利用可能となる(ASPIマネージャが機種依存性を隠蔽する)という側面があったことから、55ボード用のフリーウェアのASPIマネージャも存在し、一部のユーザに使われていた。 後に、PC-9821シリーズのPCI採用機種向けに、アダプテックのSCSIアダプタがNEC純正品として提供されるに至り、同製品用のASPIマネージャも純正品として提供された。

Windows時代のASPI

このように、ASPIの本質はAPIよりもむしろドライバモデルにあるということができる。 しかし、このようなドライバモデルはまともなOSなら本来当然備えているべきものであり、PC用のOSでもOS/2Windows 95Windows NTなどではもともと備えていた。 そのため、これらのOSにもASPIは提供されたものの、その役割は「SCSIアダプタのドライバ」ではなく「DOSのASPIと似たAPIを提供するラッパー」に過ぎないもの、すなわちASPIレイヤーとなり、CD-Rイメージスキャナを制御するアプリケーションなど一部で利用されるにとどまった。

それでも、Windows 95系列ではASPIレイヤーがOS標準で付属していたため、それなりに使われてもいたが、Windows NT系列においては、ASPIレイヤーがOSに標準で付属しておらず、SCSIを制御する標準APIとしてSPTI (SCSI Pass-Through Interface) が新たに定義されたことにより、ASPIの存在意義は限りなく薄いものになってしまった。 にもかかわらず、Windows 95系列での流れから、Windows NT系列でもSPTIに対応せずASPIを必要とするCD-Rライティングソフトなどが多数あり、利用者を悩ませていた。 ただし、一部のCD-Rライティングソフトなどには、Windows NT系列にもインストール可能なASPIレイヤーが付属しているものがあった。 また、アダプテックもWindows NT向けにASPIレイヤーを別途提供していたものの、そのインストールにはアダプテックのSCSIアダプタを装着している必要があり、他社製品の利用者には役に立たないものであった。

近年ではWindows NT系列が主流となったことから、ASPIはほとんど使われなくなってきている。

ASPIが提供されたプラットフォーム