JPH05508038A - ユニックス周辺装置インターフェース - Google Patents

ユニックス周辺装置インターフェース

Info

Publication number
JPH05508038A
JPH05508038A JP91511242A JP51124291A JPH05508038A JP H05508038 A JPH05508038 A JP H05508038A JP 91511242 A JP91511242 A JP 91511242A JP 51124291 A JP51124291 A JP 51124291A JP H05508038 A JPH05508038 A JP H05508038A
Authority
JP
Japan
Prior art keywords
disk
block
oriented
unix
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP91511242A
Other languages
English (en)
Inventor
リマー,トッド・エム
ジョーダン,ウィリアム・ピー
Original Assignee
ユニシス・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ユニシス・コーポレイション filed Critical ユニシス・コーポレイション
Publication of JPH05508038A publication Critical patent/JPH05508038A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 ユエックス周辺装置インターフェース 2つのマイクロフィッシュを含む本明細書において、マイクロフィッシュ付記が 含まれている。マイクロフィッシュナンバー1は97フレームおよび1つのテス トターゲットフレームの合計98フレームを含む。マイクロフィッシュナンバー 2は54フレームおよび1つのテストターゲットフレームの合計55フレームを 含む。
本特許書類の一部は、著作権保護を受ける資料を含んでいる。所有者は、特許商 標庁の特許出願または記録に表わされるように、特許書類または特許開示がだれ かによってファクシミリによって再生されることに対しては異議を唱えないが、 ほかの点ではすべての権利を保有する。
発明の分野 本発明はコンピユーテイングシステムの分野にあり、特定的にコンピュータシス テムにおける装置ドライバに向けられる。特に、ユニツクスジステムにおける動 作のための改良された装置ドライバスキーマが開示される。
発明の背景 従来のコンピュータシステムにおいて、オペレーティングシステムと特定の周辺 装置との間のインターフェースのために、ソフトウェアルーチンが存在する。こ のようなソフトウェアルーチンは装置ドライバと呼ばれる。典型的には、周辺装 置が入力および出力(Ilo)機能を行なうことを命令することによって、装置 ドライバは動作する。装置ドライバは、オペレーティングシステムから受取られ た命令に基づいて入力および出力動作を行なう。ユニット環境において、コンピ ュータシステムの各周辺装置は装置ドライバと関連付けられる。
ユニツクスジステムの開発において、コンピュータシステムに接続されるかもし れない多数の周辺装置のために種々の装置ドライバを作成することはしばしば必 要である。
これらの周辺装置はディスクドライブユニットおよびテープドライブユニットを 含む。さらに、このような周辺装置は現行のユニックスオペレーティングシステ ムと統合される。典型的には、このような装置ドライバの作成は、既存装置ドラ イバを複写して、これを新しい周辺装置または周辺装置コントローラの特殊性に 従って変更することによって行なわれる。このアプローチの1つの欠点は、オペ レーティングシステムおよびアプリケーションインターフェースをサポートする ために、重複したコードが各装置ドライバに入れられることである。したがって 、新しい機能が後でコンピュータシステムに導入されると、各装置ドライバを個 々に変更して、現行の装置ドライバと変更されたオペレーティングシステム環境 との間の正しいインターフェースを確実にしなければならない。このアプローチ のさらなる欠点は、コード重複による過度のメモリ使用である。
テープドライブ装置ドライバに存在する別の問題は、これら装置ドライバおよび ユニックスオペレーティングシステム(すなわちカーネル)の間にバッファリン グかないことである。したがって、ユーザアプリケーションソフトウェアは、所 与のテープ装置の特性と互換性を有することを確実にするために、特別のプログ ラミングが必要である。
これはテープドライブ性能を向上させるために、既存ソフトウェアの修正を必要 とするかもしれない。多くのプログラマ−はバッファされた環境を与えるために 、ユニツクスジステムバッファ機構を用いる。しかし、この機構はもともとはラ ンダムアクセス装置との使用のために設計されたものである。したがってテープ フォーマットの種々の種類に課する制限によって、それはテープドライブ使用の ためには完全には適さない。
付加的システム統合問題は、多様なディスクコントローラをサポートするために 必要であるた(さんのディスク装置ドライバ構成によって引起こされる。典型的 なユニツクスジステムにおいて、カーネルをカストマイズして(すなわち再リン クしてシステム再ブートを行なう)、ルートファイルシステム(すなわちファイ ルシステムのすべてほかのファイルの成長ポイント)およびスワップファイルシ ステム(すなわちメモリから一時的にスワップアウトされたプログラムのメモリ イメージがストアされている場所)として用いるべき特定のディスク装置ドライ バおよびディスクユニットを選択する。ブートディスクドライバをカストマイズ するこの処理は、完全に設置されたシステムに対して行なわなければならず、か つシステムが使用される前に完了していなければならない。
典型的には、ユニックスオペレーティングシステムの開発のとき、別のオペレー ションシステムカーネルが周辺装置の各可能な構成に対して作成される。これら のカーネルは予め作られ、多様なサポートしているディスクコントローラを適用 するために、潜在的に多数のカーネルとなる。
ベンダによってはたくさんのユニツクスジステムを提供し、ユーザが設置時にお いて自分のシステム構成に適するものを選択することを可能にする。ほかのベン ダは単に、ブートディスクのためのコントローラとして、所与の種類のコントロ ーラが存在することを必要とする。
発明のサマリ一 本発明において、多くの種類の周辺装置ドライバをサポートするのに十分柔軟で ある共通周辺装置インターフニー。
スモジュールが開示さ−れ−る。インターフェースモジュールは、各装置ドライ バによって以前に行なわれたすべてのアプリケーションおよびオペレーティング システムインターフェースを扱うことができる。ディスク装置に対して、これは 以下の利点をもたらす。
1、新しいアプリケーションインターフェース機能が、共通ディスクモジュール のみを変えることによってすべてのドライバに加えることができる。
2、ユエックスオペレーティングシステムインターフエ−スにおける変更は、共 通ディスクモジュールのみを変えることによってすべてのドライバに対して行な うことができる。
3、すべてのインターフェース機能を共通ディスクモジュールに与えることによ って、完全なアプリケーションの互換性がすべてのディスク装置ドライバに対し て得られる。
4、新しいディスク装置ドライバの実施およびデバッグは大いに簡易化される。
5、重複コードを避けることができるので全体のカーネルサイズを減らす。
6、共通ディスクモジュールルーチンは、全体のディスクサブシステム性能を向 上させるために高度に最適化することができる。
テープドライブ装置に対して、補足的な高性能バッファリングスキーマが与えら れる。さらに、順次アクセステープ装置のための状態マシンに基づく設計が用い られる。この設計によって、共通テープドライブインターフェースモジュールは 、テープドライブ装置ドライバがテープドライブの現行状態に対して無効である 命令を発行することを防ぐ。これは、命令が発行される前に、テープドライブの 現行状態に基づいてすべてのユーザリクエストテープ動作を確認することによっ て達成される。テープ装置に対して、これは以下の利点をもたらす。
1、テープ性能は、個々のアプリケーションプログラムを特に調整することなし に著しく向上される。
2、新しいアプリケーションインターフェース機能は、共通テープモジュールの みを変えることによってすべてのドライバに加えることができる。
3、ユニックスオペレーティングシステムインターフェースの変更は、共通テー プモジュールのみを変えることによってすべてのドライバに対して行なうことが できる。
4、共通テープモジュールのインターフェース機能をすべて与えることにより、 完全なアプリケーション互換性がすべてのテープ装置ドライバに保証される。
5、新しいテープ装置ドライバの実施は大いに簡易化される。
6、重複コードが避けられるので全体のカーネルサイズを減らす。
7、共通テープモジュールルーチンは、全体のテープサブシステム性能を向上さ せるために高度に最適化されることができる。
8、テープバッファリングは、システムの再ブートまたはカーネルカストマイゼ ーションなしに、実行時に調整されることができる。これは、新しい種類のテー プドライブを入れるためにバッファリングスキーマを調整する処理を非常に速め る。
可能なルートディスク装置ドライバがたくさんあるので、ルートディスク装置ド ライバはユニックスオペレーテイングシステムに対して動的に選択されることが できる。これは、多様なサポートされたディスクコントローラ構成でブートする 単一のユニックスカーネルがリリースされることを可能にする。したがって以下 の利点が実現される。
1、ルートディスク装置ドライバを指定するためには、カーネル力ストマイゼー ションは必要ない。
2、異なる種類のルートディスクコントローラを有するシステムで使うために、 1つのユニックスカーネルがリリースされることができる。
3、カーネルソースコードの他の部分を変えることなく、新しいブート可能なデ ィスクドライバを容易に加えることができる。
本発明の開示された実施例において、共通周辺装置インターフェースモジュール はユエックス状オペレーティングシステムとの使用において説明される。このイ ンターフェースは多くの種類の周辺装置ドライバをサポートするのに十分柔軟で ある。共通ディスクモジュール(CDM)が含まれる。このCDMはハイレベル のディス、り動作ルーチンを含み、これはシステムの各ディスクドライブに対す る共通リファレンスとして使用されることができる。CDM内のルーチンは、特 定の装置ドライバまたは複数の装置ドライバによってアクセスされる。このCD Mルーチンは次にユニックスオペレーティングシステムの予め存在するディスク ドライブシステムのルーチンをコールする。さらに、CDMルーチンは、各ディ スク装置ドライバに組込まれたローレベルのルーチンのグループをコールする。
これらのルーチンは特定のディスクドライブのためのコントローラと直接通信す る。
ディスクドライブシステムにおけるように、共通テープモジュール(CTM)が テープI10システムの性能および柔軟性を向上させるために用いられる。CT Mはハイレベルのテープ動作ルーチンを含み、これはシステムの各テープドライ バの共通リファレンスとして用いられることができる。CTM内のルーチンは特 定の装置ドライバまたは複数の装置ドライバによって直接アクセスされる。C7 Mルーチンは次に装置ドライバに組込まれたローレベルルーチンのグループをコ ールする。これらのルーチンは特定のテープドライブのコントローラと直接通信 する。
可能なルートディスク装置ドライバ(すなわち主ディス −クコントローラ)が たくさんあるので、ルートディスク装置ドライバはユニックスオペレーティング システムに対して動的に選択されることができる。システム内に存在するコント ローラを有する各ディスク装置ドライバは、存在していることをブート装置ドラ イバに知らせる。ブート装置ドライバと最初にチェックインするドライバが、シ ステムのルートおよびスワップ装置に用いられる。このスキーマは、複数コント ローラを有するシステムにおいてどのコントローラが使われるべきかを考慮する ために、使用されるベきコントローラの優先度順位付けを可能にする。
図面の簡単な説明 図IAはディスクドライブ装置ドライバのための先行技術のユニックスオペレー ティングシステムのソフトウェア構成を示すブロック図である。
図IBはディスクドライブ装置ドライバを使用するために、開示発明のソフトウ ェア構成を示すブロック図である。
図2はディスクから読出す間の開示発明の動作を示すフローチャート図である。
図3はディスク装置ドライバをオープンする間の開示発明の動作を示すフローチ ャート図である。
図4は、ディスク装置ドライバをクローズする間の開示発明の動作を示すフロー チャート図である。
図5はルートドライブ選択に用いられるルーチンDISK FOUNDの動作を 示すフローチャート図である。
図6はルートドライブ選択とインターフェースするための特定ディスク装置ドラ イバの初期化処理を示すフローチャート図である。
図7はルートドライブ選択に用いられる例示的ディスク装置ドライバのための初 期化ルーチンの動作を示すフローチャート図である。
図8Aはテープドライブ装置ドライバのための先行技術のユニックスオペレーテ ィングシステムのソフトウェア構成を示すブロック図である。
図8Bはテープドライブ装置ドライバを用いるための開示発明のソフトウェア構 成を示すブロック図である。
図9はSQテテードライバのためのユニックス続出システムコールの動作を示す フローチャート図である。
図10Aは続出状態におけるルーチンSQ lNTRの動作を示すフローチャー ト図である。
図10Bは読出−再試行状態におけるルーチンSQ lNTRの動作を示すフロ ーチャート図である。
図11はSQテテードライバのためのユニックスWRITEシステムコールの動 作を示すフローチャート図である。
図12は書出し状態におけるルーチンSQ lNTRの動作を示すフローチャー ト図である。
図13はSQテテードライバのためのユニックスl0CTLシステムコールの動 作を示すフローチャート図である。
図14は共通テープモジュールルーチンのためのルーチンTAPE BOTの動 作を示すフローチャート図である。
図15はSQテテードライバのためのユニックス0PENシステムコールの動作 を示すフローチャート図である。
図16はSQテテードライバのためのユニックスCLO3Eシステムコールの動 作を示すフローチャート図である。
詳細な説明 図IAはユニックスオペレーティングシステムのためのディスク装置ドライバに 対する先行技術を示す。ユニツクスジステムコールインターフェース101はカ ーネル動作をリクエストするユーザ使用命令を与える。動作によってユーザプロ グラムがディスク装置をアクセスすることを可能にする。ディスク装置へのアク セスのために必要なオペレーティングシステムに関するタスクを行なうためのア ルゴリズムを含む下位ルーチンのグループが、ユニックスオペレーティングシス テムディスクI10サブシステム102にある。これらのルーチンは、特定のデ ィスク装置ドライバ103とインターフェースし、かつ用いられる。装置ドライ バ103は直接ディスクコントローラ104と通信する。図IAに示されるユニ ックスオペレーティングシステムの動作は、引用により援用される、題名が「ユ エックスインターナルズJ (Unix InHtnal )である、タブブッ クス(Tab Books ) 、1987のシq −(Shav)らによる本 においてより完全に記載される。
図1Bは本発明の例示的実施例を示す。この図は、共通のディスクインターフェ ースモジュールとユニックスのオペレーティングシステムとの間の関係を示す。
ユニックスのディスク動作(入力および出力を含む)は、ユニツクスジステムコ ールインターフェース101によって開始される。ユニツクスジステムコールイ ンターフェースは前の図のように、オペレーティングシステムのサービスをリク エストするために使われる。システムコールが開始されると、ユニツクスジステ ムコールインターフェースマツプI10は適当なディスク装置ドライバにリクエ ストする。別々のオペレーティングシステムインターフェースポイント120お よび130は、システムにおいて各種類のディスクコントローラのために用いら れる。正しいインターフェースポイントは、装置名を装置番号に変換することに よって選択される(すなわち/ d e vディレクトリにおいて見つけられる 装置ノード入力による)。適当なオペレーティングシステムのインターフェース ポイントが選択されると、これらのインターフェースポイントは共通ディスクモ ジュール内の正しいルーチンをコールする。プログラムコードの大部分は共通デ ィスクモジュール140内にある(ディスク装置ドライバのオペレーティングシ ステムインターフェースポイントに組入れるべき比較的少量のコーディングを残 す)。
共通のディスクモジュール140は、実際の装置ドライバおよびユエックスディ スクエ/○サブシステム102と直接相互作用するルーチンのグループを与える 。例示的実施例では、2つのディスクドライバが示され、SDディスクドライバ はSDハイレベルインターフェース120と、SDコロ−ベルインターフェース 160と、SDローレベルI10ルーチン180とを含み、DCディスクドライ バはDCハイレベルインターフェース130と、DCローレベルインターフェー ス170と、DCローレベルI10ルーチン190とを含む。システムにおける 各種類のディスクコントローラに対して別々のディスク装置ドライバが用いられ る。
ローレベルインターフェースポイント160および170のそれぞれは、コント ローラのI10完了および状態インターラブドを扱うためのインターラブドルー チン(INTR)と、Iloを開始するためにオペレーティングシステムによっ てコールされる戦略ルーチン(STRATEGY)と、診断エラーメツセージの ために用いられるプリントルーチン(PRINT)とを含む。これらのルーチン は、ディスクI10サブシステム102および共通ディスクモジュール140に よってコールされる。機能を行なうために、共通ディスクモジュール内において ルーチンが用いられる。これらのルーチンはそれぞれの物理的ディスクコントロ ーラ104および105と直接通信する。
開示された発明のソースコードの実施は、以下に提示されるディスクI10シス テムの説明によって、ユニックスオペレーティングシステム設計の当該分野にお いて通常の技量を有するものにとって容易に明らかである。部分的には擬似コー ドの形にあるソースコードのコピーは、この開示された発明の好ましい実施例に 対応し、本明細書の付記において含まれる。
共通ディスクモジュールの動作の理解を深めるため、典型的なディスク読出動作 が図IBを参照して記載される。
まず、ユーザプログラムは続出システムコールを発行し、これはシステムコール インターフェース101によって取扱われる。システムコールインターフェース 101は、このリクエストを適当なオペレーティングシステムインターフェース ルーチンSD READにマツプする。SD READは引続いてCDM140 内のルーチンDISK READを用いてI10検証を行ない(すなわちI10 サイズおよびオフセットを確認)、I10100セットする。
ローレベルシステムインターフェース160内におけるSD 5TRATEGY は次にコールされて、装置ドライバがI10100スケジュールするようリクエ ストするが、これはその種類のディスクのシーク最適化アルゴリズムに基ツイテ イル。ルーチンSD 5TRATEGYは、CD間140において、ルーチンD ISK 5TRATEGYを呼出して、スケシュリングの大部分を行なう。こう して、I10100スケジュールされる(待ち行列に置かれる)。
物理的コントローラがインターラブドを発生すると、ディスクI10サブシステ ム102は、ローレベルインターフェースルーチン160の1つであるルーチン SD lNTRをコールする。このルーチンは先行のI10100完了を示し、 待ち行列から次のI10100開始させる。SDローレベルI10ルーチン18 0および共通ディスクモジュール140からのルーチンDISK 5ETUP  IOは呼出されて次の■/○動作を開始させる。I10100完了すると、物理 的コントローラ104はインターラブドをかけて、ディスクI10サブシステム 102はルーチンSD lNTRをコールする。SD lNTRは次に共通ディ スクモジュール140のルーチンDISK DONEを呼出し、I10100完 了を示す。ルーチンDISKDONEは、ディスクI10サブシステム102お よびシステムコールインターフェース101によって、I10100完了したこ とをオペレーティングシステムおよびユーザプログラムに知らせる。
図2のフローチャート図は、ディスクからの続出の際の開示される発明の動作を 示す。ステップ210において、オペレーティングシステムインターフェースポ イント5DREADは共通ディスクモジュール140内におけるルーチンDIS K READをコールする。ステップ212において、ルーチンDISK RE ADが実行される。このルーチンはI10100サイズおよびオフセットを検証 するステップを行なう。このルーチンはルーチンPHYSCKおよびPHYSI Oも呼出す(各々はユニックスオペレーティングシステムディスクI10サブシ ステム102内にある)。
PHYSCKは有効な仮想アドレスがユーザのデータ転送リクエストのために用 いられることを検証する標準ユニツクスルーチンである。PHYSIOはユーザ アドレス空間およびディスク間のデータ転送で起こるページング(すなわち仮想 メモリ)問題を取扱う標準ユニツクスルーチンである。ステップ214において 制御は(ローレベルインターフェースルーチン160内の)ルーチンSD 5T RATEGYに渡され、(CDMI40内の)ルーチンDISK 5TRATE GYをコールする。このルーチンは、I10位置(すなわちターゲット区分内に おけるターゲットアドレス)を検証する、このI10位置を物理的ブロック番号 にマツプする、ディスクのシリンダを決定する、アクセスされるセクタの数を計 算する、ディスクの不良スポットをチェックする、および種々の性能統計を更新 するステップを行なう。ステップ218において、SD 5TRATEGYを使 って、ディスクアクセスを行なうリクエストがディスクI10待ち行列に加えら れる。ステップ222において、コントローラが活性状態にあるかどうか(すな わちI10100進行しているか)を決定するためにコントローラが検査される 。もしそうなら、ステップ220において、SD 5TRATEGYルーチンは 制御をPHYSIOに戻し、それによってつぎのインターラブドが待ち行列から のI10100開始させる。さもなければ、ステップ224において、コントロ ーラは活性であるとマークされ、ルーチンD I SK 5ETUP Ilo  (CDM内)が開始される。ステップ226において、DISKSETUP I loは性能統計を更新し、データ転送のために物理的メモリアドレスをセットす る。コントローラの転送サイズ制限は、DMAアドレス/サイズ制限に加えて、 DISK 5ETUP Iloによって取扱われる。DISK 5ETUP I loは不良スポット再マツプも行なう。ステップ228において、制御はルーチ ンSD 5TARTに戻る。このステップにおいて、物理的I10動作はリクエ ストされたアクセスの物理的位置を特定の装置に転送することによって開始され る。物理的位置は、ヘッド、シリンダおよびセクタで表わされることができる。
最後に、ステップ230において、SD 5TARTは制御をオペレーティング システムに戻し、次のインターラブドにおいてI10100完了したことを知ら せることを可能にする。
ステップ232では、コントローラインタラブドの効果が示される。コントロー ラインタラブドはI10100完了時に起こる。コントローラインタラブドの検 出の最初の結果は開始されるべきルーチンSD lNTR(SD装置ドライバの ローレベルインターフニースルーチン160内で)のためのものである。これは コントローラおよび物理的ディスクドライブの状態をチェックするステップを含 む。
ステップ236において、コントローラ状態が評価されエラー状態があるかどう かを決定する。もしエラー状態が検出されると、それからステップ238におい て、コントローラ状態およびディスクドライバ状態がチェックされ物理的I10 動作が再試行されるべきかどうかを決定する。
もし動作が再試行されると、それからステップ240において、プログラム制御 はステップ228に切替わり、ここで物理的I10動作が前に説明されたように 再び開始される。さもなければ、制御はステップ244に切換えられ、ここでル ーチンDISK DONE(CDM140内で)が開始される。もしユーザーの リクエストがステップ242で示されるように成功裡に完了されると、DISK  DONEルーチンもまた開始される。もしユーザーのリクエストが完了しなけ れば、それから前に説明されたようにプログラム制御がステップ226に切換わ るということに注目されたい。ステップ246はルーチンDISK DONEの 呼出を表わす。このルーチンは起こったかもしれないいずれのエラーも報告する ステップと、可能な不完全なI10100扱うステップと、DMA制限を扱うス テップと性能統計を更新するステップとを行なう。最後に、標準ユニツクスルー チンIODONEはディスクI10サブシステム102内から開始され、I10 100完了を報告する。
次に、ステップ248において、ルーチンSD DONEは呼出され待ち行列を チェックしさらなるI10100待機完了であるかどうかを決定する。もしさら なる動作が待機完了であれば、制御が前に説明されたステップ224に切換わる 。さもなければ、ステップ250において、コントローラは不活性状態としてマ ークされかつ制御はステップ232でインタラブドされたプログラムに戻される 。
図IBに示されるように、オペレーティングシステムインターフェースはルーチ ンSD 0PENおよびSD CLOSEを行なうことが可能である。SD 0 PENは図3において詳細に示される。SD CLOSEは図4において詳細に 示される。
図3において示されるようにディスク装置ドライバをオープンする最初のステッ プとして、ルーチンSD 0PENがステップ310でシステムコールインター フェース101から開始される。このルーチンは装置ナンバーを確認しかつ共通 のディスクモジュール140内でルーチンDISK 0PENをコールする機能 を行なう。ステップ320で示されるDISK 0PENルーチンはI10ユニ ットをそれがアクセス可能であるかどうかを決定するためにチェックするステッ プと、DMA取扱いをセットするステップとディスクドライブがユーザーによっ てオープンされた回数の数のカウントをし続けるステップとを含む。
ステップ330において、ルーチンDISK GETINFOがコールされる。
このルーチンは一群のローレベルのルーチンを含み、それはREAD FDIS K TABLE (DO3とUN(Xとの間を区分するディスクのために使用さ れる)、READ PD INFO(予め定められたディスクセクタからさまざ まな物理的ディスクツくラメータを得る) 、READ VTOC(複数区分を 有するディスクのための内容のテーブルを得る)とREAD ALTERNAT ES TABLE (不良スポットの再マ・νピングのために)を含む。
ディスク装置ドライブがもはやユーザープログラムによって必要とされないとき 、ルーチンSD CLOSEは図4のステップ410に示されるようにユニツク スジステムコールインターフェース101からコールされる。5DCLOSEは 共通のディスクモジュール140内でルーチンDISK CLOSEをコールす る。ステップ420において、待機I10動作への待ちが起こる。オープンした ディスクドライブを有するユーザーの数(カウント)が更新される。
ステップ430において、他のユーザーがまだオープンされたディスクドライブ を有するかどうかに関する決定がなされる。もしいずれの他のユーザーも現在オ ープンするドライブを有さなければ、それからステップ440において、ルーチ ンSD PARK HEADがコールされ、それはコントローラがディスクヘッ ドをパーク(p a r k)’するように条件付け、かつステップ450にお いて、制御が図1に示されるユニツクスジステムコールインターフェース101 に戻される。もし、ステップ430において、装置が1つまたはそれ以上の他の ユーザーによってまだオープンされたままで保持されると、それからステップ4 50において、システム制御が最初にディスクヘッドをパークすることなしにユ ニツクスジステムコールインターフェース101に戻される。
図1に示されるI10システムの基本的な概念はテープドライブシステムを使用 する環境へと拡張可能である。そのような環境は図8Aおよび図8Bを参照して 示される。
図8Aは先行技術をユニックスオペレーティングシステムにおけるテープドライ ブインターフェースに関して説明する。図8Aと図IAとを比較することによっ て、ユニックスオペレーティングシステムが図IAのディスクI10サブシステ ム102に対応するであろうテープI10サブシステムを含まないということが 注目される。
図8Bに示されるように、この発明のこの実施例において、ユニツクスジステム コールインターフェース101はオペレーティングシステムインターフェースポ イント820および830のうちの1つでドライバルーチンをコールする。別個 のインターフェースポイントがシステムにおけるテープドライブ装置の各々のそ れぞれの型に対して使用される。例示的な実施例において、2つの型のテープド ライブ装置SQおよびWQが示される。SQおよびWQインターフェースポイン トの双方からのドライバルーチンは共通テープモジュール840を利用し、テー プ状態/取扱い機能の大部分を行なう。
共通テープモジュールルーチンは装置ドライバ880および890内で特定ルー チンをコールし、ローレベルのコントローラ機能を実現する。別個の装置ドライ バが装置の各々の型のために使用される。装置ドライバ880および890は順 にテープドライブコントローラ885および895と直接通信し、I10動作が 起こることを引起こす。
この図に示されるいずれのテープI10サブシステムも存在しないことが注目さ れる。それはなぜならユニックスオペレーティングシステムがそのような構造を 提供しないからである。テープI10サブシステムは各々の特定装置ドライバに 対して個々に実現される。いくつかの例示的なテープドライブルーチンが添付の 図9ないし図16に示される。
SC3Iテープ装置のためのテープ読出システムコールが図9に示される。ステ ップ910において、インターフェースポイント820におけるルーチンSQ  READがユーザーのリクエストによってユニツクスジステムコールインターフ ェース101を介して呼出され、テープ装置からデータを読出す。ルーチンSQ  READは順に共通テープモジュール840におけるルーチンTAPE RE ADを読出す。ステップ912において、TAPE READは内部テーブルを 参照することによってリクエストサイズを確認しかつテープ装置の状態を確認す る。次に、ステップ914において、ルーチンTAPE READはユーザーの リクエストが叶ったかどうかを決定する。このステップはループ終了状態であり 、それは単一のテープ読出しコールがテープ装置からデータで一杯のいくつかの バッファをリクエストすることを可能にする。もしステップ914において、ユ ーザーのリクエストが満足されると、TAPE READは制御をシステムコー ルインターフェース101に戻し、それは制御をユーザープログラムに戻す。
もし、ステップ914において、ユーザーのリクエストが叶えられなければ、ス テップ918が呼出されテープがファイルマークで位置されるかどうかを決定す る。この場合、いずれのそれ以上のデータもテープから読出され得ずかつ制御が ステップ920で戻される。
もしテープがファイルマークになければ、ステップ92.2が実行されテープが 不活性状態でありかつテープから読出されたリード−アヘッド バッファ付き( bufferecl)データが予め定められた量、すなわちローウォータマーク (low water mark))よりも少ないかどうかを決定する。もしそ うであれば、ステップ924が実行され自由バッファリストからバッファを得る 。ステップ926において、ルーチンTAPE READはリクエストされた読 出し動作がテープ装置にとって初めてのものであるかどうかを決定する。もしそ うであれば、TAPE READは装置ドライバ880においてルーチン5QF IR8T READを呼出す。さもなければ、TAPE READはドライバ8 80においてルーチンSQ C0NT READを呼出す。次に、ステップ93 2において、ルーチンSQ FIR3T READまたはルーチンSQ C0N T READはルーチンSQ READ CMDを使用するテープ装置のために コントローラへのテープ読出し命令を発行する。
ステップ932での読出し命令の発行の後かまたはもしテープ装置がステップ9 22で活性状態であるということが発見されると、ルーチンTAPE READ は完全なバッファが利用可能であるまで待つ。バッファアルゴリズムのリード− アヘッド性質に起因して、完全なバッファがステップ934で既に利用可能であ り得る。もし完全なバッファが利用可能でなければ、はコントローラからのイン タラブドが完全なバッファが利用可能になることを引起こすまでTAPE RE ADは待つであろう。このインタラブドはコントローラ885がバッファを一杯 にしたということ、ファイルマークが現れたということまたはコントローラがエ ラーに遭遇したということを示し得る。このインタラブドに応答して、コントロ ーラによって戻されたデータがバッファ内にストアされ、かつバッファが利用可 能であるとしてマークされる。ステップ936はテープ読出し動作がファイルマ ークでかまたはエラーで終了したということを得られたバッファが示すかどうか を決定する。もしそうであれば、ステップ938において、制御がシステムコー ルインターフェース101に戻される。さもなければ、もしテープ読出し動作が 例外なしに終了されると、リクエストされた量のデータがユーザーのデータ領域 にコピーされかつテープバッファが解放される。ステップ940において、制御 がステップ914へと転送されユーザーのりりエストが叶ったかどうかを決定す る。
TAPE READルーチンおよびルーチンSQ lNTRSQ WRITE、 SQ l0CTL、TAPEBOT、SQ 0PENおよびSQ CL、O8E は上で説明された図10ないし図16において示されたフローチャートからかつ ディスクI10システムの説明からユニックスオペレーティングシステム設計の 当業者に容易に明らかである。したがって、これらのフローチャートの詳細な説 明は含まれなかった。いずれの場合においても、ソースコードのコピーは部分的 には疑似コード形状にあり、それは開示された発明の好ましい実施例に対応し、 この明細書における追記において含まれる。
開示された発明の例示的な実施例において、動的(dynamic)ルートディ スク選択方法が使用される。この方法はカーネルが特定システムにおいて呈され 得るさまざまな型のコントローラに対して自動的にそれ自身を構成することを可 能にする。こうして、この発明の例示的な実施例を使用するユニツクスジステム は動的にそのルートディスク装置ドライバを選択する。このことは単一のユニツ クスジステムの解放を許容し、それはディスクコントローラ構成に支持された多 くのうちのいずれの上にもブートされることが可能である。
ディスクドライブおよびファイルシステムがより大きなナンバーおよびより小さ なナンバーの使用を介して同定される。より大きなナンバーが特定の装置ドライ バへの参照となり得る。このより大きなナンバーはそれから装置ドライバに適当 なスイッチテーブル内へのインデックスとして使用され得る。2つのスイッチテ ーブルが存在し、すなわちバッファキャッシュを使用するすべての装置のための ドライバに対してポインタを含むブロック装置スイッチテーブル(BDEVSW )および文字バッファまたはバッファされないIloの内のいずれかを使用する すべての装置に対してポインタを含む文字装置スイッチテーブル(CDEVSW )である。より小さいナンバーが個々の装置、すなわち所与のコントローラに関 して参照されている特定のディスク装置を参照し得る。ディスクコントローラは また個々のユニットナンバー(または装置ナンバー)を有し得る。
図6に示されるように、各々のディスク装置ドライバは初期設定ルーチンを有す る。このルーチンは二二ツクスブート方法において非常に初期の段階で実行され る。ステップ610において、初期設定ルーチンはまずそのディスクコントロー ラが呈されかつたとえばコントローラのいくつかの単純な診断テストを実行する ことによって機能するかどうかを決定する。もしコントローラが呈されないかま たは機能しなければ、初期設定ルーチンは開始に関して何も行なわずそれによっ てステップ620に戻る。初期設定ルーチンはそれから各々の構成されたディス クの存在に関するループテストに入る。呈された各々のディスクのために、ルー チンDISK FOUNDがステップ660でコールされる。図5のフローチャ ートによって示されるように、仮にディスクがルートファイルシステムディスク に与えられたより小さいナンバーと整合するユニットナンバーを有するとすれば 、DI 5KOFOUNDルーチンがDISKFOUNDルーチンによって同定 される第1のディスクコントローラのためにより大きな装置ドライバナンバーを セーブする。図7に示されるように、ステップ710において、ブートディスク (BD) ドライバ初期設定ルーチンはより大きな装置ナンバーをセーブしたD ISK FOUNDによって示されるように制御装置がルートディスクに対して 発見されたということを確証する。もしコントローラが見付けられなければ、ス テップ750において、システムはパニックになる。さもなければ、ステップ7 20において、ブートディスク(B D) ドライバのより大きなナンバーが決 定される。さらに、ステップ730において、ユニックスBDEVSWおよびC DEVSWテーブルが更新されBDドライバ入力を選択されたルートディスクド ライバのより大きなナンバー(すなわちDISK FOUNDによってセーブさ れたより大きなナンバー)に取換える。
BDEVSWおよびCDEVSWテーブル内の以前のルートディスクドライバ入 力はそれから取除かれる(ステップ740)。こうして、元の装置ドライバ入力 が不能化され、装置ドライバが異なるより大きな装置ナンバーで複数回数オープ ンされないということを確実にする。
現在使用されるディスクを発見するための東1のドライバ初期設定ルーチンがル ートディスクドライバとして構成されるであろうために、初期設定ルーチンを実 行するためのカストマイゼージョン(customization)順序はディ スク装置ドライバのための選択順序を決定する。
この構成はブートROMがコントローラを考慮する順序と整合すべきである。
この発明が例示的な実施例に関して説明されてきたが、それが添付の請求の範囲 の真意および範囲内での修正を有して上で概説されたように実行され得るという ことが考慮される。
FIG、IA (PRI口RART) FIG、IB FIG 6 FIo、8A FIG、10B 要約 共通の周辺装置インターフェースモジュールが多くの型のディスクまたはテープ 装置ドライバ(図IB)を支持するために十分に適用性のある計算機オペレーテ ィングシステムでの使用のために開示される。共通のディスクモジュール(CD M)が含まれる。CDMはハイレベルのディスク動作命令を含み、それはシステ ム上の各々のディスクドライバへの共通の参照のために使用され得る。CDM内 のルーチンは一連のオペレーティングシステム入カポインドを介してユニツクス ジステムコールインターフェースによってアクセスされる。付加的なルーチンは 既存するユニックスオペレーティングシステムディスクI10サブシステムで含 まれ、このサブシステムとCDMとの間でのインターフェースを改良する。共通 の型のモジュール(CTM)はハイレベルのテープ動作ルーチンを行なうために 使用される。ユニツクスジステムコールインターフェースは一群のオペレーティ ングシステム入カポインドを介してCTMと通信する。いずれのユニックスオペ レーティングシステムテープI10サブシステムも存在しないので、CTMはテ ープI10サブシステムを完全に実現する。ハードウェアの可搬性を与えるため に、CTMは装置ドライバ内に取入れられてきた一群の装置ドライバ内に取入れ られてきた一群のローレベルのルーチンをコールするべ(構成される。
多数の可能なルートディスク装置ドライブのために、ルー2デイスク装置ドライ バはユニックスオペレーティングシステム(図6)のために動的に選択され得る 。システム内に置かれる各々のコントローラはオペレーティングシステムでチェ ックインする。最初にオペレーティングシステムでチェックインするコントロー ラはシステムをブートアップするために使用される。チェックインする各々のコ ントローラは適当な装置ドライバに整合される。整合された装置ドライバはそれ からディスクI10機能のために使用される。
国際調査報告

Claims (1)

  1. 【特許請求の範囲】 1.ユニックスオペレーティングシステムと第1および第2の命令シーケンスの それぞれに従って動作する第1および第2のブロック配向されたI/O装置コン トローラとの間で入力/出力(I/O)リクエストを転送するための装置であっ て、前記装置は a.前記I/Oリクエストを受取るためのユニックスシステムコールインターフ ェース手段と、b.前記ユニックスシステムコールインターフェース手段に結合 され、前記I/Oリクエストを前記ユニックスシステムコールインターフェース 手段から受取りかつI/Oリクエストを第1および第2ののI/Oルーチンのそ れぞれにマップするためのオペレーティングシステムインターフェース手段と、 c.前記第1および第2のブロック配向されたI/O装置コントローラにそれぞ れ結合された第1および第2の装置ドライバ手段とを含み、それは前記第1およ び第2の命令シーケンスに従って前記第1および第2のブロック配向されたI/ O装置コントローラに命令およびデータを与えるための手段とそれぞれの前記第 1および第2のブロック配向されたI/O装置コントローラからデータのブロッ クを受取るための手段とを含み、さらに d.前記第1および第2のI/Oルーチンを含み、前記第1および第2の装置ド ライバ手段に信号を送り前記それぞれのブロック配向されたI/O装置コントロ ーラと通信するための共通の装置モジュール手段を含む装置。 2.オペレーティングシステムによって決定された前記I/Oリクエストの詳細 が前記共通の装置モジュール手段において実現される、請求項1に記載の装置。 4.前記第1および第2のブロック配向されたI/O装置コントローラの各々が ディスクドライブコントローラである、請求項1に記載の装置。 5.前記第1および第2の装置ドライバ手段の各々がユニックスオペレーティン グシステムのディスクI/Oサブシステムを含む、請求項4に記載の装置。 6.ユニックスオペレーティングシステムのディスクI/Oサブシステムでのい ずれのインターフェース要求の詳細もが前記共通の装置モジュール手段において 実現される、請求項5に記載の装置。 7.前記共通の装置モジュール手段がユニックスシステムコールインターフェー ス手段と前記第1および第2の装置ドライバ手段との間で状態情報を転送する、 請求項4に記載の装置。 8.前記装置ドライバ手段の前記各々がa.前記第1および第2のブロック配向 されたI/O装置コントローラのうちの少なくとも1つからのインタラプト信号 に応答してI/O動作が完了したということを示すためのインタラプト手段と、 b.前記オペレーティングシステムからの開始信号に応答してI/O動作を開始 するための戦略手段と、c.前記共通の装置モジュール手段からの診断信号に応 答して診断エラーメッセージを与えるための印刷手段とを含む、請求項4に記載 の装置。 9.前記第1および第2のブロック配向されたI/O装置コントローラの各々が テープドライブコントローラである、請求項1に記載の装置。 10.前記第1および第2の装置ドライバ手段の各々が第1および第2の組のI /O命令ルーチンを含み、それぞれに前記ユニックスシステムコールインターフ ェース手段と前記第1および第2のブロック配向されたI/O装置コントローラ とに結合され、共通の装置モジュール手段が前記第1および第2の組の命令ルー チンの間で状態情報を転送するように構成される、請求項9に記載の装置。 12.計算機システムにおいて複数個のブロック配向されたI/O装置と通信す るための装置であって、前記装置は、a.ユーザーが複数個のブロック配向され た入力/出力(I/O)動作をリクエストすることを可能にするためのユニック スシステムコールインターフェース手段と、b.前記ユニックスシステムコール インターフェース手段に結合され、前記ユニックスシステムコールインターフェ ース手段および前記複数個のブロック配向された装置のそれぞれとの通信におけ る使用のために第1および第2のブロック配向されたI/O動作命令を実現する ための手段を含む装置ドライバ手段と、 c.前記ユニックスシステムコールインターフェース手段に結合され、ユニック スシステムコールインターフェース手段と前記装置ドライバ手段の第1のブロッ ク配向されたI/O動作命令との間で前記ブロック配向されたI/O動作をマッ プするためのインターフェース選択手段と、d.前記装置ドライバ手段に結合さ れ、前記装置ドライバ手段に信号を送り前記第2の動作命令を前記第1のブロッ ク配向されたI/O動作命令によって示された動作を行なう態様で順序付けるた めの共通の装置モジュール手段とを含む装置。 13.前記複数個のブロック配向されたI/O装置がディスクドライブを含む、 請求項12に記載の装置。 14.前記複数個のブロック配向されたI/O装置がテープドライブを含む、請 求項12に記載の装置。 15.計算機システムにおいて、ユニックスオペレーティングシステムのために ルートディスク装置ドライブを動的に選択するための装置であって、 a.複数個のディスクドライブコントローラの中からブートディスクドライブコ ントローラの存在を示すための手段と、 b.前記ブートディスクドライブコントローラとユニックスオペレーティングシ ステムとの間で前記ディスクドライブコントローラを独特に同定する値を転送す るための手段と、 c.前記ブートディスクドライブコントローラを対応する装置ドライバに結合す るための手段とを含む装置。 16.前記計算機システムが前記ディスクドライブコントローラの各々の存在を 示すための手段を含む、請求項14に記載の装置。 17.前記ブートディスクドライブコントローラが存在を示すための前記複数個 のディスクドライブコントローラの最初のものである、請求項15に記載の装置 。 18.計算機システムにおいて、装置ドライバをユニックスカーネルに結合する ための装置であって、装置ドライバにはより大きなナンバーが与えられ、前記装 置ドライバに対応する装置にはユニットナンバーが与えられ、前記装置は、 a.前記装置ドライバのより大きなナンバーを決定するための手段と、 b.前記装置ドライバに対応する装置のユニットナンバーを決定するための手段 と、 c.前記ユニットナンバーを含むためのユニックス装置テーブルを更新するため の手段とを含む装置。 19.前記装置のうちの1つがより小さなナンバーを与えられたルートファイル システムディスクであり、前記より小さなナンバーがユニットナンバーに対応す る、請求項17に記載の方法。
JP91511242A 1990-06-07 1991-06-06 ユニックス周辺装置インターフェース Pending JPH05508038A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US534,428 1990-06-07
US07/534,428 US5179666A (en) 1990-06-07 1990-06-07 Block oriented peripheral device interface
PCT/US1991/003988 WO1991019246A1 (en) 1990-06-07 1991-06-06 Unix peripheral device interface

Publications (1)

Publication Number Publication Date
JPH05508038A true JPH05508038A (ja) 1993-11-11

Family

ID=24129985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP91511242A Pending JPH05508038A (ja) 1990-06-07 1991-06-06 ユニックス周辺装置インターフェース

Country Status (4)

Country Link
US (2) US5179666A (ja)
EP (1) EP0532661A1 (ja)
JP (1) JPH05508038A (ja)
WO (1) WO1991019246A1 (ja)

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7537167B1 (en) * 1993-08-31 2009-05-26 Broadcom Corporation Modular, portable data processing terminal for use in a radio frequency communication network
US7383038B2 (en) * 1990-01-18 2008-06-03 Broadcom Corporation Modular, portable data processing terminal for use in a radio frequency communication network
US5179666A (en) * 1990-06-07 1993-01-12 Unisys Corporation Block oriented peripheral device interface
US5850573A (en) * 1990-08-16 1998-12-15 Canon Kabushiki Kaisha Control method for peripheral device in host computer connectable to a plurality of peripheral devices
JP2835184B2 (ja) * 1990-12-12 1998-12-14 キヤノン株式会社 情報処理装置、デバイス制御方法、およびicカード
US6948006B1 (en) * 1990-12-12 2005-09-20 Canon Kabushiki Kaisha Host system that provides device driver for connected external peripheral if device driver type is available or device driver is downloaded from memory of external peripheral to host system
US5307491A (en) * 1991-02-12 1994-04-26 International Business Machines Corporation Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error
US5265252A (en) * 1991-03-26 1993-11-23 International Business Machines Corporation Device driver system having generic operating system interface
US5375221A (en) * 1991-11-27 1994-12-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Stand-alone digital data storage control system including user control interface
US5473761A (en) * 1991-12-17 1995-12-05 Dell Usa, L.P. Controller for receiving transfer requests for noncontiguous sectors and reading those sectors as a continuous block by interspersing no operation requests between transfer requests
US5628014A (en) * 1992-03-20 1997-05-06 Paranode, Inc. Methods and apparatus for node caching at the file level
US5404524A (en) * 1992-04-03 1995-04-04 International Business Machines Corporation System for identifying attached input pointing devices, loading associated software routines, and interacting with anyone input pointing device while disabling the others
US5390301A (en) * 1992-08-11 1995-02-14 Acer Incorporated Method and apparatus for communicating device-specific information between a device driver and an operating system in a computer system
US5781797A (en) * 1992-09-30 1998-07-14 Microsoft Corporation Method and system for configuring device driver by selecting a plurality of component drivers to be included in the device driver
US5613123A (en) * 1992-09-30 1997-03-18 Microsoft Corporation Method and system for configuring and executing device drivers based on configuration requirements
EP0610677A3 (en) * 1993-02-12 1995-08-02 Ibm Communication device management module operating in two modes.
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
US5598549A (en) * 1993-06-11 1997-01-28 At&T Global Information Solutions Company Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
US7853254B2 (en) * 1993-08-31 2010-12-14 Broadcom Corp. Modular, portable data processing terminal for use in a radio frequency communication network
US5619682A (en) * 1993-09-28 1997-04-08 Bull Hn Information Systems Inc. Executing network layered communications of a first system on a second system using a communication bridge transparent to the different communication layers
US6026454A (en) * 1993-12-17 2000-02-15 Packard Bell Nec, Inc. Interface for multiplexing and reformatting information transfer between device driver programs and a network application program which only accepts information in a predetermined format
US5590313A (en) * 1994-06-30 1996-12-31 International Business Machines Corporation Multiple protocol device interface subsystem and method
US5640592A (en) * 1994-09-30 1997-06-17 Mitsubishi Kasei America, Inc. System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer
GB9422854D0 (en) * 1994-11-12 1995-01-04 Int Computers Ltd High availability data processing system
US6484308B1 (en) * 1995-01-05 2002-11-19 Dell Products L.P. System and method for ensuring data integrity on a removable hard drive
US5721952A (en) * 1995-02-17 1998-02-24 Acer Incorporated Method and apparatus for automatic detection of disk type in a computer system
US5640562A (en) * 1995-02-27 1997-06-17 Sun Microsystems, Inc. Layering hardware support code on top of an existing operating system
US5586268A (en) * 1995-03-03 1996-12-17 Advanced System Products, Inc. Multiple peripheral adapter device driver architecture
US5727212A (en) * 1995-04-12 1998-03-10 International Business Machines Corporation Object oriented device driver system for procedural device drivers
US5915131A (en) * 1995-05-05 1999-06-22 Apple Computer, Inc. Method and apparatus for handling I/O requests utilizing separate programming interfaces to access separate I/O services
US5675781A (en) * 1995-07-06 1997-10-07 Sun Microsystems, Inc. Augmenting volume management of information storage devices to handle direct access to storage devices
EP0752646B1 (en) * 1995-07-07 2002-03-27 Sun Microsystems, Inc. Data access implementation of device driver interface
US6480903B1 (en) * 1995-08-24 2002-11-12 Compaq Information Technologies Group, L.P. Hardware component interface for desktop computer management systems
US5805777A (en) * 1995-10-11 1998-09-08 Eastman Kodak Company Extended printer control interface
US6393492B1 (en) * 1995-11-03 2002-05-21 Texas Instruments Incorporated Method and arrangement for operating a mass memory storage peripheral computer device connected to a host computer
US6393495B1 (en) * 1995-11-21 2002-05-21 Diamond Multimedia Systems, Inc. Modular virtualizing device driver architecture
US5822614A (en) * 1996-05-31 1998-10-13 Unisys Corporation Self-identifying peripheral device
US5953522A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Temporary computer file system implementing using anonymous storage allocated for virtual memory
US5923328A (en) * 1996-08-07 1999-07-13 Microsoft Corporation Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control
US5933652A (en) * 1996-08-30 1999-08-03 Advanced System Products, Inc. Host independent peripheral controller with on-board firmware
WO1998018079A1 (en) * 1996-10-18 1998-04-30 Imagination Software Distributed computer architecture and process for generating reusable software components
US6185590B1 (en) 1996-10-18 2001-02-06 Imagination Software Process and architecture for use on stand-alone machine and in distributed computer architecture for client server and/or intranet and/or internet operating environments
US6128734A (en) * 1997-01-17 2000-10-03 Advanced Micro Devices, Inc. Installing operating systems changes on a computer system
KR100274742B1 (ko) * 1997-01-22 2001-01-15 윤종용 하드디스크드라이브의초기화복사방법및그복사장치
US5978379A (en) 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
US5875481A (en) * 1997-01-30 1999-02-23 International Business Machines Corporation Dynamic reconfiguration of data storage devices to balance recycle throughput
US5905888A (en) * 1997-02-19 1999-05-18 On Spec Electronic, Inc. Bootable redundant hard disk attached to a PC's parallel port with rom-address auto-detect and configure during BIOS scan
US5938743A (en) * 1997-03-17 1999-08-17 Xerox Corporation Method of using the UNIX physio to allow data to be transferred on a plurality of channels concurrently
US5958022A (en) * 1997-03-21 1999-09-28 International Business Machines Corporation System and method for I/O access mode selection
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6134668A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6163849A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6343320B1 (en) 1998-06-09 2002-01-29 Compaq Information Technologies Group, L.P. Automatic state consolidation for network participating devices
US6167448A (en) * 1998-06-11 2000-12-26 Compaq Computer Corporation Management event notification system using event notification messages written using a markup language
US6526442B1 (en) 1998-07-07 2003-02-25 Compaq Information Technologies Group, L.P. Programmable operational system for managing devices participating in a network
US6131118A (en) * 1998-07-07 2000-10-10 Compaq Computer Corporation Flexible display of management data in a programmable event driven processing system
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6061745A (en) * 1998-08-13 2000-05-09 Adaptec, Inc. BBS one BIOS image multicard support
KR20000016918A (ko) * 1998-08-27 2000-03-25 에토 요지 가장자리영역을구비하는디지타이저
US6356965B1 (en) * 1998-09-08 2002-03-12 Compaq Computer Corporation Hotkey for network service boot
DE19854009C2 (de) 1998-11-12 2001-04-26 Reemtsma H F & Ph System zur Bereitstellung eines inhalierbaren Aerosols
US7430171B2 (en) 1998-11-19 2008-09-30 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US6526493B1 (en) 1999-03-30 2003-02-25 Adaptec, Inc. Method and apparatus for partitioning and formatting a storage media without rebooting by creating a logical device control block (DCB) on-the-fly
US6192456B1 (en) 1999-03-30 2001-02-20 Adaptec, Inc. Method and apparatus for creating formatted fat partitions with a hard drive having a BIOS-less controller
AU5463800A (en) * 1999-06-01 2000-12-18 Bsquare Corporation Device driver platform layer
US6424194B1 (en) 1999-06-28 2002-07-23 Broadcom Corporation Current-controlled CMOS logic family
US6911855B2 (en) * 1999-06-28 2005-06-28 Broadcom Corporation Current-controlled CMOS circuit using higher voltage supply in low voltage CMOS process
US6424177B1 (en) * 1999-06-28 2002-07-23 Broadcom Corporation Universal single-ended parallel bus
US6897697B2 (en) 1999-06-28 2005-05-24 Broadcom Corporation Current-controlled CMOS circuit using higher voltage supply in low voltage CMOS process
US6567911B1 (en) 1999-12-06 2003-05-20 Adaptec, Inc. Method of conserving memory resources during execution of system BIOS
US6340899B1 (en) 2000-02-24 2002-01-22 Broadcom Corporation Current-controlled CMOS circuits with inductive broadbanding
US6865669B1 (en) 2000-09-15 2005-03-08 Adaptec, Inc. Methods for optimizing memory resources during initialization routines of a computer system
US6864558B2 (en) * 2001-05-17 2005-03-08 Broadcom Corporation Layout technique for C3MOS inductive broadbanding
US20030225842A1 (en) * 2001-05-29 2003-12-04 Kenneth Li Distribution of messages using an address book of a user
US7239636B2 (en) 2001-07-23 2007-07-03 Broadcom Corporation Multiple virtual channels for use in network devices
US6697924B2 (en) 2001-10-05 2004-02-24 International Business Machines Corporation Storage area network methods and apparatus for identifying fiber channel devices in kernel mode
US6624699B2 (en) * 2001-10-25 2003-09-23 Broadcom Corporation Current-controlled CMOS wideband data amplifier circuits
US7295555B2 (en) 2002-03-08 2007-11-13 Broadcom Corporation System and method for identifying upper layer protocol message boundaries
US6920574B2 (en) * 2002-04-29 2005-07-19 Apple Computer, Inc. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US7216349B2 (en) * 2002-06-05 2007-05-08 International Business Machines Corporation System and method for triggering message queue applications
US7411959B2 (en) 2002-08-30 2008-08-12 Broadcom Corporation System and method for handling out-of-order frames
US7346701B2 (en) 2002-08-30 2008-03-18 Broadcom Corporation System and method for TCP offload
US7934021B2 (en) 2002-08-29 2011-04-26 Broadcom Corporation System and method for network interfacing
US8180928B2 (en) 2002-08-30 2012-05-15 Broadcom Corporation Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney
US7313623B2 (en) 2002-08-30 2007-12-25 Broadcom Corporation System and method for TCP/IP offload independent of bandwidth delay product
US7598811B2 (en) 2005-07-29 2009-10-06 Broadcom Corporation Current-controlled CMOS (C3MOS) fully differential integrated wideband amplifier/equalizer with adjustable gain and frequency response without additional power or loading
US7362174B2 (en) 2005-07-29 2008-04-22 Broadcom Corporation Current-controlled CMOS (C3MOS) wideband input data amplifier for reduced differential and common-mode reflection
US7598788B2 (en) 2005-09-06 2009-10-06 Broadcom Corporation Current-controlled CMOS (C3MOS) fully differential integrated delay cell with variable delay and high bandwidth
US9189222B1 (en) 2008-10-28 2015-11-17 Hewlett-Packard Development Company, L.P. Updating a computer system
US9479506B2 (en) 2014-04-16 2016-10-25 Intel Corporation At least one mechanism to permit, at least in part, allocation and/or configuration, at least in part, of at least one network-associated object
US10307649B1 (en) 2017-12-06 2019-06-04 Acushnet Company Multi-material iron golf club head

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4589063A (en) * 1983-08-04 1986-05-13 Fortune Systems Corporation Data processing system having automatic configuration
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique
US4747040A (en) * 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US4768150A (en) * 1986-09-17 1988-08-30 International Business Machines Corporation Application program interface to networking functions
US4975829A (en) * 1986-09-22 1990-12-04 At&T Bell Laboratories Communication interface protocol
US4901231A (en) * 1986-12-22 1990-02-13 American Telephone And Telegraph Company Extended process for a multiprocessor system
US4972368A (en) * 1988-03-04 1990-11-20 Stallion Technologies, Pty. Ltd. Intelligent serial I/O subsystem
US4951245A (en) * 1988-05-20 1990-08-21 Bull Hn Information Systems Inc. Network terminal driver communications subsystem
US5247659A (en) * 1988-10-06 1993-09-21 International Computers Limited Method for bootstrap loading in a data processing system comprising searching a plurality of program source devices for a bootstrap program if initial data indicating a bootstrap program source device fails a validity check
US5179666A (en) * 1990-06-07 1993-01-12 Unisys Corporation Block oriented peripheral device interface

Also Published As

Publication number Publication date
US5179666A (en) 1993-01-12
EP0532661A1 (en) 1993-03-24
WO1991019246A1 (en) 1991-12-12
US5430845A (en) 1995-07-04

Similar Documents

Publication Publication Date Title
JPH05508038A (ja) ユニックス周辺装置インターフェース
TW468111B (en) An apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller
CN100412836C (zh) 利用外部装置通过通用串行总线控制主机的方法及其系统
CN1222876C (zh) 磁盘冗余阵列控制器和使其与主机连接的方法
US6529989B1 (en) Intelligent expansion ROM sharing bus subsystem
JPH0793219A (ja) 情報処理装置
KR100899511B1 (ko) 컴퓨터 주변기기에 저장 기능을 부가하는 방법 및 그 구조
JP2006196018A (ja) Biosをホスト・コンピュータに提供する方法と配置
JPH06131259A (ja) メモリと補助記憶装置間のデータ転送方法
JP2001505692A (ja) ディスク・ドライブの予約領域を増加する方法および装置
JP2001243100A (ja) 大容量記憶装置における区分テーブル、ファイル装置ディレクトリ構造、および個々のファイルクラスタチエンのバッファリング
US5996045A (en) IDE disk drive arrangement that combines the capacity of a master drive and slave drive while hiding the presence of slave drive to a host computer
JPH0449413A (ja) アレイディスク装置のドライブ位置確認方式
US20100131734A1 (en) System and method for optimal dynamic resource allocation in a storage system
KR100316190B1 (ko) 로컬 메모리에서 패킷화된 동작 정보의 기억을 통한 입출력 성능을 증가시키기 위한 시스템
JPH11306124A (ja) データ転送方法および装置
EP0969371A1 (en) Verifying configuration of storage devices based upon device indentifiers
US20020048104A1 (en) Method and apparatus for a disc drive client interface
JP3425355B2 (ja) 多重書き込み記憶装置
JP2001014219A (ja) キャッシュ制御方法及びその装置
JP3066623B2 (ja) ディスクキャッシュ制御方式
JPH05108440A (ja) 記録媒体に関するデイレクトリエントリのフオーマツト構造
JP3376316B2 (ja) ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体
WO1991008537A1 (en) Data record copy apparatus for a virtual memory system
JPH0830402A (ja) パリティ格納方法