JPH07122863B2 - 汎用のオペレーティング・システム・インターフェースを有するデバイス・ドライバを含むデータ処理システム - Google Patents
汎用のオペレーティング・システム・インターフェースを有するデバイス・ドライバを含むデータ処理システムInfo
- Publication number
- JPH07122863B2 JPH07122863B2 JP4060074A JP6007492A JPH07122863B2 JP H07122863 B2 JPH07122863 B2 JP H07122863B2 JP 4060074 A JP4060074 A JP 4060074A JP 6007492 A JP6007492 A JP 6007492A JP H07122863 B2 JPH07122863 B2 JP H07122863B2
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- request
- device driver
- data processing
- input
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータ処理の分野に関
し、より具体的には、デバイス・ドライバ・システムの
本質的な部分(以下では「コア」と称する)が、コアに
本質的な変更を加えなくとも異なるオペレーティング・
システムと一緒にコアを使用できるようにする、汎用オ
ペレーティング・システム・インターフェースを有する
という、デバイス・ドライバ・システムの改良に関す
る。
し、より具体的には、デバイス・ドライバ・システムの
本質的な部分(以下では「コア」と称する)が、コアに
本質的な変更を加えなくとも異なるオペレーティング・
システムと一緒にコアを使用できるようにする、汎用オ
ペレーティング・システム・インターフェースを有する
という、デバイス・ドライバ・システムの改良に関す
る。
【0002】
【従来の技術】背景を述べると、デバイス・ドライバと
は、入出力装置へのまたは入出力装置からのデータの流
れを制御または管理する、プログラムまたはルーチンで
ある。デバイス・ドライバはオペレーティング・システ
ムの一部であり、オペレーティング・システムの他の部
分と対話する。オペレーティング・システムは、通常、
キーボード、固定ディスク、フロッピー・ディスク、表
示装置、印刷装置などパーソナル・コンピュータで普通
に使われる入出力装置用の、基本的な1組のデバイス・
ドライバを含んでいる。データ処理システムに入出力装
置が追加されたが、その装置が既存のドライバの下では
動作できないときは、その入出力装置を使用するために
新しいデバイス・ドライバをシステムに追加しなければ
ならない。この新しいデバイス・ドライバは、慣習とし
て入出力装置の製造業者から提供され、オペレーティン
グ・システムによって確立される手順に従ってシステム
に導入される。IBM DOSまたはOS/2オペレー
ティング・システムで動作するパーソナル・コンピュー
タでは、コンピュータが起動または再ブートされるとき
に、CONFIG.SYSファイル中のコマンドまたは
命令を使って、デバイス・ドライバが導入される。
は、入出力装置へのまたは入出力装置からのデータの流
れを制御または管理する、プログラムまたはルーチンで
ある。デバイス・ドライバはオペレーティング・システ
ムの一部であり、オペレーティング・システムの他の部
分と対話する。オペレーティング・システムは、通常、
キーボード、固定ディスク、フロッピー・ディスク、表
示装置、印刷装置などパーソナル・コンピュータで普通
に使われる入出力装置用の、基本的な1組のデバイス・
ドライバを含んでいる。データ処理システムに入出力装
置が追加されたが、その装置が既存のドライバの下では
動作できないときは、その入出力装置を使用するために
新しいデバイス・ドライバをシステムに追加しなければ
ならない。この新しいデバイス・ドライバは、慣習とし
て入出力装置の製造業者から提供され、オペレーティン
グ・システムによって確立される手順に従ってシステム
に導入される。IBM DOSまたはOS/2オペレー
ティング・システムで動作するパーソナル・コンピュー
タでは、コンピュータが起動または再ブートされるとき
に、CONFIG.SYSファイル中のコマンドまたは
命令を使って、デバイス・ドライバが導入される。
【0003】典型的には、デバイス・ドライバは特定の
オペレーティング・システムと一緒に使用されるように
作成されている。A.M.ミゼル(Mizell)の論
文 "Understanding device drivers in Operating Syst
em/2"、IBM Systems Journal,Vol. 27, No. 2, 1988
年、pp.170 - 184 に、デバイス・ドライバとIBMO
S/2オペレーティング・システムの関係が記述されて
いる。このオペレーティング・システムは、異なるプロ
グラムが1つの装置を並行して使用でき、かつ1個また
は複数のプログラムが同時に異なる装置を使用できると
いう、多重タスク処理操作を実現する。極めて明白なこ
とであるが、デバイス・ドライバ及びデバイス管理ルー
チンは極めて複雑であり、かつ通常はオペレーティング
・システムに依存する。あるオペレーティング・システ
ム用に作成されたデバイス・ドライバは、大幅な修正を
加えないと別のオペレーティング・システムと一緒には
使用できない。
オペレーティング・システムと一緒に使用されるように
作成されている。A.M.ミゼル(Mizell)の論
文 "Understanding device drivers in Operating Syst
em/2"、IBM Systems Journal,Vol. 27, No. 2, 1988
年、pp.170 - 184 に、デバイス・ドライバとIBMO
S/2オペレーティング・システムの関係が記述されて
いる。このオペレーティング・システムは、異なるプロ
グラムが1つの装置を並行して使用でき、かつ1個また
は複数のプログラムが同時に異なる装置を使用できると
いう、多重タスク処理操作を実現する。極めて明白なこ
とであるが、デバイス・ドライバ及びデバイス管理ルー
チンは極めて複雑であり、かつ通常はオペレーティング
・システムに依存する。あるオペレーティング・システ
ム用に作成されたデバイス・ドライバは、大幅な修正を
加えないと別のオペレーティング・システムと一緒には
使用できない。
【0004】IBM PS/2パーソナル・コンピュー
タの高性能モデルは、マイクロチャネル・アーキテクチ
ャに従って設計されたバスを含んでいる(IBM、OS
/2、PS/2、マイクロチャネルは、インターナショ
ナル・ビジネス・マシーンズ・コーポレーションの商
標)。このバスは、以下では、“MCバス”と称する
が、追加の入出力装置及びサブシステムをパーソナル・
コンピュータに接続する手段を提供する。SCSI(小
型コンピュータ・システム・インターフェース)バス
は、SCSIアーキテクチャに従って設計されたバスで
あり、SCSI装置と呼ばれる入出力装置、すなわちS
CSIバスに接続できるように特に設計された装置をそ
れに接続するための標準化された設計を提供する。SC
SIアーキテクチャにより、SCSI装置にアクセスす
るためのSCSIコマンド・セットが定義されている。
SCSIアダプタとSCSI ABIOS(拡張基本入
出力オペレーティング・システム)が市販されており、
これらを用いると、SCSI装置をMCバスを介してP
S/2コンピュータに接続することができる。こうした
SCSI装置用のデバイス・ドライバ・システムは、本
発明の出願者に譲渡された米国特許出願第654441
号明細書に開示されている。上記出願で開示されている
システムでは、SCSIデバイス・ドライバは、OS/
2オペレーティング・システムと一緒に使用できるよう
に特に作成されたものであり、他のオペレーティング・
システムと一緒に使用するには、大幅に修正しなければ
ならないことになる。
タの高性能モデルは、マイクロチャネル・アーキテクチ
ャに従って設計されたバスを含んでいる(IBM、OS
/2、PS/2、マイクロチャネルは、インターナショ
ナル・ビジネス・マシーンズ・コーポレーションの商
標)。このバスは、以下では、“MCバス”と称する
が、追加の入出力装置及びサブシステムをパーソナル・
コンピュータに接続する手段を提供する。SCSI(小
型コンピュータ・システム・インターフェース)バス
は、SCSIアーキテクチャに従って設計されたバスで
あり、SCSI装置と呼ばれる入出力装置、すなわちS
CSIバスに接続できるように特に設計された装置をそ
れに接続するための標準化された設計を提供する。SC
SIアーキテクチャにより、SCSI装置にアクセスす
るためのSCSIコマンド・セットが定義されている。
SCSIアダプタとSCSI ABIOS(拡張基本入
出力オペレーティング・システム)が市販されており、
これらを用いると、SCSI装置をMCバスを介してP
S/2コンピュータに接続することができる。こうした
SCSI装置用のデバイス・ドライバ・システムは、本
発明の出願者に譲渡された米国特許出願第654441
号明細書に開示されている。上記出願で開示されている
システムでは、SCSIデバイス・ドライバは、OS/
2オペレーティング・システムと一緒に使用できるよう
に特に作成されたものであり、他のオペレーティング・
システムと一緒に使用するには、大幅に修正しなければ
ならないことになる。
【0005】
【発明が解決しようとする課題】本発明の一目的は、本
質的な修正を要せずに異なるオペレーティング・システ
ムと一緒に使用できるデバイス・ドライバ・システムを
提供することである。
質的な修正を要せずに異なるオペレーティング・システ
ムと一緒に使用できるデバイス・ドライバ・システムを
提供することである。
【0006】本発明の他の目的は、異なるオペレーティ
ング・システムに対して汎用なコアを有する、デバイス
・ドライバ・システムを提供することである。
ング・システムに対して汎用なコアを有する、デバイス
・ドライバ・システムを提供することである。
【0007】本発明の他の目的は、異なるオペレーティ
ング・システム中でSCSI装置を含む様々な異なる入
出力装置を扱うためのデバイス・ドライバ・システムを
提供することである。
ング・システム中でSCSI装置を含む様々な異なる入
出力装置を扱うためのデバイス・ドライバ・システムを
提供することである。
【0008】本発明の他の目的は、異なるオペレーティ
ング・システムと一緒に使用でき、なおかつ既存のデバ
イス・ドライバでその用意がない新しいまたは異なる装
置及び特殊機能に対応するための拡張をコアに追加でき
る、汎用デバイス・ドライバ・コアを提供することであ
る。
ング・システムと一緒に使用でき、なおかつ既存のデバ
イス・ドライバでその用意がない新しいまたは異なる装
置及び特殊機能に対応するための拡張をコアに追加でき
る、汎用デバイス・ドライバ・コアを提供することであ
る。
【0009】本発明の他の目的は、対応する入出力装置
内の物理的状態機械に従ってモデル化された複数の論理
的装置状態機械を含むカード型状態機械を備え、対応す
る論理的状態機械と物理的状態機械の対が対等に対話で
きるようにする、デバイス・ドライバ・コアを提供する
ことにある。
内の物理的状態機械に従ってモデル化された複数の論理
的装置状態機械を含むカード型状態機械を備え、対応す
る論理的状態機械と物理的状態機械の対が対等に対話で
きるようにする、デバイス・ドライバ・コアを提供する
ことにある。
【0010】本発明の他の目的は、システム内の各SC
SIアダプタ・カードに備え、そのカードが使用できる
1組の移送機能を提供する、移送層を備えたデバイス・
ドライバ・コアを提供することである。
SIアダプタ・カードに備え、そのカードが使用できる
1組の移送機能を提供する、移送層を備えたデバイス・
ドライバ・コアを提供することである。
【0011】
【課題を解決するための手段】デバイス・ドライバ・シ
ステムは、一般に2つの主要部分に大別できる。1つは
オペレーティング・システムとインターフェースする部
分であり、第2はハードウェアとインターフェースする
部分で、入出力装置を管理するのに必要な特有の情報を
含んでいる。異なるオペレーティング・システムと一緒
に使用できる新しいデバイス・ドライバを作成するため
の開発労力の10〜20%が、第1部分の開発に費やさ
れ、残り80〜90%は第2部分の開発に費やされると
見積もられる。本発明の主目的の1つは、複数の異なる
オペレーティング・システムに対して汎用であり、修正
を要せずに異なるオペレーティング・システムと一緒に
使用できる、デバイス・ドライバ・コアを提供すること
である。このシステムはまた、コア内の汎用オペレーテ
ィング・システム・インターフェースと使用するオペレ
ーティング・システム内の特有のデバイス・ドライバ・
インターフェースの間で通信を変換するための、オペレ
ーティング・システム特有のマッピング層をも含んでい
る。コアを異なるオペレーティング・システムと一緒に
使用する際は、マッピング層のみを変更すればよく、従
って、デバイス・ドライバ・システム全体を作成し開発
しなければならない場合に費やされる開発労力の80〜
90%が節約できる。
ステムは、一般に2つの主要部分に大別できる。1つは
オペレーティング・システムとインターフェースする部
分であり、第2はハードウェアとインターフェースする
部分で、入出力装置を管理するのに必要な特有の情報を
含んでいる。異なるオペレーティング・システムと一緒
に使用できる新しいデバイス・ドライバを作成するため
の開発労力の10〜20%が、第1部分の開発に費やさ
れ、残り80〜90%は第2部分の開発に費やされると
見積もられる。本発明の主目的の1つは、複数の異なる
オペレーティング・システムに対して汎用であり、修正
を要せずに異なるオペレーティング・システムと一緒に
使用できる、デバイス・ドライバ・コアを提供すること
である。このシステムはまた、コア内の汎用オペレーテ
ィング・システム・インターフェースと使用するオペレ
ーティング・システム内の特有のデバイス・ドライバ・
インターフェースの間で通信を変換するための、オペレ
ーティング・システム特有のマッピング層をも含んでい
る。コアを異なるオペレーティング・システムと一緒に
使用する際は、マッピング層のみを変更すればよく、従
って、デバイス・ドライバ・システム全体を作成し開発
しなければならない場合に費やされる開発労力の80〜
90%が節約できる。
【0012】簡単に述べると、本発明によれば、デバイ
ス・ドライバ・システムは、複数の入出力装置の特有の
機能を管理するコアを含んでいる。コアは、異なるオペ
レーティング・システムに対して汎用なオペレーティン
グ・システム・インターフェースを含んでいる。オペレ
ーティング・システムは、そのオペレーティング・シス
テムに特有のデバイス・ドライバ・インターフェースを
有する。コアとオペレーティング・システムの間に、オ
ペレーティング・システムのデバイス・ドライバ・イン
ターフェースとコアの汎用オペレーティング・システム
・インターフェースとの間で通信を変換するための、変
換プログラムが層として挿入されている。
ス・ドライバ・システムは、複数の入出力装置の特有の
機能を管理するコアを含んでいる。コアは、異なるオペ
レーティング・システムに対して汎用なオペレーティン
グ・システム・インターフェースを含んでいる。オペレ
ーティング・システムは、そのオペレーティング・シス
テムに特有のデバイス・ドライバ・インターフェースを
有する。コアとオペレーティング・システムの間に、オ
ペレーティング・システムのデバイス・ドライバ・イン
ターフェースとコアの汎用オペレーティング・システム
・インターフェースとの間で通信を変換するための、変
換プログラムが層として挿入されている。
【0013】
【実施例】図面を参照すると、まず図1は、あるオペレ
ーティング・システム(OS)の下で動作して、適用業
務プログラム16を実行することのできるデータ処理シ
ステム10を示す。データ処理システム10は、プロセ
ッサ12を含み、プロセッサ12はシステム10の他の
諸要素を相互接続するバス・システム14に接続されて
いる。他の諸要素としては、ランダム・アクセス・メモ
リ(RAM)18、キーボード20、表示装置22、フ
ロッピー・ディスク駆動機構24、固定ディスク駆動機
構26、複数のマイクロチャネル(MC)コネクタ28
が含まれる。2つのSCSIアダプタ30、30’が、
それぞれ異なるコネクタ28に差し込まれる。アダプタ
30はSCSIバス31に接続され、SCSIバス31
は光学式SCSI装置32及びテープ式SCSI装置3
3に接続される。アダプタ30’は別のSCSIバス3
1’に接続され、SCSIバス31’はテープ式SCS
I装置34及びSCSI直接アクセス記憶装置(DAS
D)35に接続される。アダプタ30は、物理的カード
状態機械(PCSM)36を含んでいる。アダプタ3
0’もPCSM(図示せず)を含んでいる。極めて明白
なことであるが、アダプタ・カード及び入出力装置の数
はユーザのニーズに応じてシステムごとに異なり、図の
システムは、本発明を理解するためだけの目的の例示的
なものであると考えるべきである。また、30及び3
0’で表したものは、本明細書では「アダプタ」、「ア
ダプタ・カード」、「カード」と呼ぶが、すべて同義で
あることに留意されたい。
ーティング・システム(OS)の下で動作して、適用業
務プログラム16を実行することのできるデータ処理シ
ステム10を示す。データ処理システム10は、プロセ
ッサ12を含み、プロセッサ12はシステム10の他の
諸要素を相互接続するバス・システム14に接続されて
いる。他の諸要素としては、ランダム・アクセス・メモ
リ(RAM)18、キーボード20、表示装置22、フ
ロッピー・ディスク駆動機構24、固定ディスク駆動機
構26、複数のマイクロチャネル(MC)コネクタ28
が含まれる。2つのSCSIアダプタ30、30’が、
それぞれ異なるコネクタ28に差し込まれる。アダプタ
30はSCSIバス31に接続され、SCSIバス31
は光学式SCSI装置32及びテープ式SCSI装置3
3に接続される。アダプタ30’は別のSCSIバス3
1’に接続され、SCSIバス31’はテープ式SCS
I装置34及びSCSI直接アクセス記憶装置(DAS
D)35に接続される。アダプタ30は、物理的カード
状態機械(PCSM)36を含んでいる。アダプタ3
0’もPCSM(図示せず)を含んでいる。極めて明白
なことであるが、アダプタ・カード及び入出力装置の数
はユーザのニーズに応じてシステムごとに異なり、図の
システムは、本発明を理解するためだけの目的の例示的
なものであると考えるべきである。また、30及び3
0’で表したものは、本明細書では「アダプタ」、「ア
ダプタ・カード」、「カード」と呼ぶが、すべて同義で
あることに留意されたい。
【0014】プロセッサ12によって実行される適用業
務プログラム16が、RAM18に記憶されている。オ
ペレーティング・システムは、RAM18に記憶され
た、プロセッサ12によって実行されるカーネル11を
含んでいる。RAM18には、デバイス・ドライバ・シ
ステムも含まれており、これはオペレーティング・シス
テム特有のデバイス・ドライバ(OSSDD)38、オ
ペレーティング・システム特有のマッピング層(OSS
ML)40、デバイス・ドライバ・コア(DDC)42
の3つの部分からなる。デバイス・ドライバ・システム
(すなわち38、40、42)を除き、システム10の
上記の他の部分は市販されており、従って本明細書では
その細部のうち本発明を理解するのに必要な部分だけ説
明する。OSSDD38は、オペレーティング・システ
ムに特有で、そのオペレーティング・システムが従来の
デバイス・ドライバに対して提示する標準型のインター
フェースに合致する、OSSML40へのインターフェ
ースを提供する、1組のデバイス・ドライバ・ルーチン
を備えている。DDC42は、複数のオペレーティング
・システムに対して汎用な、オペレーティング・システ
ムへのインターフェースを提供する。OSSML40
は、標準オペレーティング・システム・デバイス・ドラ
イバ・インターフェースと汎用デバイス・ドライバ・オ
ペレーティング・システム・インターフェースの間でパ
スされる品目を変換するために、OSSDD38とDD
C42の間に機能的に層として挿入されている。DDC
42は、異なるオペレーティング・システム間で移植可
能なように実施される。すなわち、システム10内に異
なるオペレーティング・システムを導入する場合、DD
C42はそのまま使用できるが、OSSDD38とOS
SML40は新しいオペレーティング・システムと整合
するように交換しなければならなくなる。
務プログラム16が、RAM18に記憶されている。オ
ペレーティング・システムは、RAM18に記憶され
た、プロセッサ12によって実行されるカーネル11を
含んでいる。RAM18には、デバイス・ドライバ・シ
ステムも含まれており、これはオペレーティング・シス
テム特有のデバイス・ドライバ(OSSDD)38、オ
ペレーティング・システム特有のマッピング層(OSS
ML)40、デバイス・ドライバ・コア(DDC)42
の3つの部分からなる。デバイス・ドライバ・システム
(すなわち38、40、42)を除き、システム10の
上記の他の部分は市販されており、従って本明細書では
その細部のうち本発明を理解するのに必要な部分だけ説
明する。OSSDD38は、オペレーティング・システ
ムに特有で、そのオペレーティング・システムが従来の
デバイス・ドライバに対して提示する標準型のインター
フェースに合致する、OSSML40へのインターフェ
ースを提供する、1組のデバイス・ドライバ・ルーチン
を備えている。DDC42は、複数のオペレーティング
・システムに対して汎用な、オペレーティング・システ
ムへのインターフェースを提供する。OSSML40
は、標準オペレーティング・システム・デバイス・ドラ
イバ・インターフェースと汎用デバイス・ドライバ・オ
ペレーティング・システム・インターフェースの間でパ
スされる品目を変換するために、OSSDD38とDD
C42の間に機能的に層として挿入されている。DDC
42は、異なるオペレーティング・システム間で移植可
能なように実施される。すなわち、システム10内に異
なるオペレーティング・システムを導入する場合、DD
C42はそのまま使用できるが、OSSDD38とOS
SML40は新しいオペレーティング・システムと整合
するように交換しなければならなくなる。
【0015】図2を参照すると、適用業務プログラム1
6が、オペレーティング・システムへのシステム・コー
ル43として入出力要求を出して、入出力装置32〜3
5にアクセスする。このシステム・コールをOSカーネ
ル11が受け取って解釈し、その要求の宛先の装置クラ
スに応じて、あるOSSDDに経路指定する。この例の
システムには、DASDクラスとテープ・クラスの2つ
のSCSI装置クラスがある。すなわち、このシステム
は、異なるクラス向けの要求を処理する2つのOSSD
D38、38’を有する。OSSDDは、標準オペレー
ティング・システム/デバイス・ドライバ・インターフ
ェース46を介してOSSMLにコマンドを出し、デー
タを送り、OSSMLはそのコマンドを解釈して変換
し、デバイス・ドライバ/オペレーティング・システム
・インターフェース48を介してDDC42にそれをパ
スする。OSSMLはまた2つのクラスに対応する2つ
のセクション40、40’を有する。インターフェース
46は、devinit、dev-start、dev-stop、dev-rw、dev-
reserve、dev-close、dev-format、scsi-find-class、s
csi-get-rtns、scsiregister-class、scsi-register-de
v-rtns、begin-scsi-io、do-scsi-cmd、scsi-init、scs
i-stopdev、get-inquiry、hddoread、hddowrite、set-c
lass0 の各SCSIルーチンを含んでいる。インターフ
ェース46はまた、get-devno、report-err、io-done、
map-io を含めて、OSカーネルに戻るインターフェー
スをも含んでいる。
6が、オペレーティング・システムへのシステム・コー
ル43として入出力要求を出して、入出力装置32〜3
5にアクセスする。このシステム・コールをOSカーネ
ル11が受け取って解釈し、その要求の宛先の装置クラ
スに応じて、あるOSSDDに経路指定する。この例の
システムには、DASDクラスとテープ・クラスの2つ
のSCSI装置クラスがある。すなわち、このシステム
は、異なるクラス向けの要求を処理する2つのOSSD
D38、38’を有する。OSSDDは、標準オペレー
ティング・システム/デバイス・ドライバ・インターフ
ェース46を介してOSSMLにコマンドを出し、デー
タを送り、OSSMLはそのコマンドを解釈して変換
し、デバイス・ドライバ/オペレーティング・システム
・インターフェース48を介してDDC42にそれをパ
スする。OSSMLはまた2つのクラスに対応する2つ
のセクション40、40’を有する。インターフェース
46は、devinit、dev-start、dev-stop、dev-rw、dev-
reserve、dev-close、dev-format、scsi-find-class、s
csi-get-rtns、scsiregister-class、scsi-register-de
v-rtns、begin-scsi-io、do-scsi-cmd、scsi-init、scs
i-stopdev、get-inquiry、hddoread、hddowrite、set-c
lass0 の各SCSIルーチンを含んでいる。インターフ
ェース46はまた、get-devno、report-err、io-done、
map-io を含めて、OSカーネルに戻るインターフェー
スをも含んでいる。
【0016】DDC42は、複数のクラス・デバイス・
ドライバ50、52を含んでいる。これらのデバイス・
ドライバは、それぞれSCSI DASDクラス及びS
CSIテープ・クラスに対して汎用(generic)であ
る。インターフェース48から受け取った入出力要求
は、当該のクラス・デバイス・ドライバに送られる。4
個の特有デバイス・ドライバ(SDD)54、56、5
8、60は、各特有SCSI装置に特有のまたは独自の
ドライバ機能を提供する。ドライバ54、56は、光学
式SCSI装置32及びDASD SCSI装置35に
特有のドライバ機能を提供する。ドライバ58、60
は、テープ装置33及び34に特有のドライバ機能を提
供する。この2種の特有テープ装置は、例えば、僅かに
異なるSDDを必要とする4mmテープ駆動機構と8m
mテープ駆動機構でよい。DDC42はさらに、チャネ
ル・マネージャ62と、複数の移送ルーチン64、66
を含む移送層とを含んでいる。システム内の各SCSI
アダプタごとに1つの移送ルーチンがある。
ドライバ50、52を含んでいる。これらのデバイス・
ドライバは、それぞれSCSI DASDクラス及びS
CSIテープ・クラスに対して汎用(generic)であ
る。インターフェース48から受け取った入出力要求
は、当該のクラス・デバイス・ドライバに送られる。4
個の特有デバイス・ドライバ(SDD)54、56、5
8、60は、各特有SCSI装置に特有のまたは独自の
ドライバ機能を提供する。ドライバ54、56は、光学
式SCSI装置32及びDASD SCSI装置35に
特有のドライバ機能を提供する。ドライバ58、60
は、テープ装置33及び34に特有のドライバ機能を提
供する。この2種の特有テープ装置は、例えば、僅かに
異なるSDDを必要とする4mmテープ駆動機構と8m
mテープ駆動機構でよい。DDC42はさらに、チャネ
ル・マネージャ62と、複数の移送ルーチン64、66
を含む移送層とを含んでいる。システム内の各SCSI
アダプタごとに1つの移送ルーチンがある。
【0017】OSカーネル11はまた、デバイス・ドラ
イバ・ヘルプ・サービス70を含んでおり、これらのサ
ービス70はデバイス・ドライバ・システム内の異なる
ルーチンによって呼び出される。OSSDD38はオペ
レーティング・システムに特有なので、サービス70は
コール72によって直接呼び出される。ただし、DDC
42内のルーチンは、これらのオペレーティング・シス
テム・ヘルプ・サービスに対して汎用コール76を発行
し、OSSML40がこれらの汎用コール74をオペレ
ーティング・システムに特有のコールに変換する。これ
らのコールは、一般にOSから情報を得るための抽出ル
ーチン用のものである。
イバ・ヘルプ・サービス70を含んでおり、これらのサ
ービス70はデバイス・ドライバ・システム内の異なる
ルーチンによって呼び出される。OSSDD38はオペ
レーティング・システムに特有なので、サービス70は
コール72によって直接呼び出される。ただし、DDC
42内のルーチンは、これらのオペレーティング・シス
テム・ヘルプ・サービスに対して汎用コール76を発行
し、OSSML40がこれらの汎用コール74をオペレ
ーティング・システムに特有のコールに変換する。これ
らのコールは、一般にOSから情報を得るための抽出ル
ーチン用のものである。
【0018】図3に、チャネル・マネージャ62と移送
層及び状態機械(state machine)との関係の詳細を示
す。チャネル・マネージャ62は、要求ディスパッチャ
80、要求待ち行列82、コマンド・イニシエータ8
4、論理的カード状態機械(CSM)87を含んでい
る。チャネル・マネージャ62は、要求ディスパッチャ
80内で入出力要求を受け取る。複数の要求をほぼ同時
に受け取ったとき、それらの要求は内部の要求ディスパ
ッチャ内にスタックされ、一時に1つずつ処理される。
要求ディスパッチャ80は、その要求がどのSCSI装
置向けのものかを判定し、待ち行列に入れる前に行う必
要のある機能があればそれを実行し、汎用要求ブロック
を作成し、その要求ブロックを対応する装置待ち行列8
2に指名する。
層及び状態機械(state machine)との関係の詳細を示
す。チャネル・マネージャ62は、要求ディスパッチャ
80、要求待ち行列82、コマンド・イニシエータ8
4、論理的カード状態機械(CSM)87を含んでい
る。チャネル・マネージャ62は、要求ディスパッチャ
80内で入出力要求を受け取る。複数の要求をほぼ同時
に受け取ったとき、それらの要求は内部の要求ディスパ
ッチャ内にスタックされ、一時に1つずつ処理される。
要求ディスパッチャ80は、その要求がどのSCSI装
置向けのものかを判定し、待ち行列に入れる前に行う必
要のある機能があればそれを実行し、汎用要求ブロック
を作成し、その要求ブロックを対応する装置待ち行列8
2に指名する。
【0019】装置待ち行列82は、待ち行列登録機能9
2、複数の装置要求待ち行列94/n(“n”は関連す
る入出力装置を識別する番号)、待ち行列解除機能98
の3つの部分を含んでいる。各要求待ち行列は個別の要
求ブロック96から構成される。要求ブロック96をデ
ィスパッチャ80から受け取ったとき、待ち行列登録機
能92は、その要求ブロックを、その要求の対象とされ
た入出力装置に対応する待ち行列94に置く。待ち行列
解除機能98は、特定の装置向けの次の要求ブロックを
送信せよとのコマンド・イニシエータ84からのメッセ
ージを受け取ったことに応答して、待ち行列からある要
求ブロック96を除去し、それを要求側に送信する。待
ち行列解除機能は、FIFO(先入れ先出し)、優先順
位レベルなど、様々な方法で行うことができる。
2、複数の装置要求待ち行列94/n(“n”は関連す
る入出力装置を識別する番号)、待ち行列解除機能98
の3つの部分を含んでいる。各要求待ち行列は個別の要
求ブロック96から構成される。要求ブロック96をデ
ィスパッチャ80から受け取ったとき、待ち行列登録機
能92は、その要求ブロックを、その要求の対象とされ
た入出力装置に対応する待ち行列94に置く。待ち行列
解除機能98は、特定の装置向けの次の要求ブロックを
送信せよとのコマンド・イニシエータ84からのメッセ
ージを受け取ったことに応答して、待ち行列からある要
求ブロック96を除去し、それを要求側に送信する。待
ち行列解除機能は、FIFO(先入れ先出し)、優先順
位レベルなど、様々な方法で行うことができる。
【0020】コマンド・イニシエータ84は、受け取っ
た汎用要求ブロック96をSCSI特有の要求ブロック
102に変換し、特有の要求ブロック102は、移送層
64または66の一つを介して、その入出力要求の対象
である装置用の状態機械に送られる。コマンド・イニシ
エータは、各汎用要求から1個または複数のSCSIコ
マンドを作成し、あるいは複数の汎用要求を1個のSC
SIコマンドに最適化する。例えば、多数の順次ディス
ク読取りを1個のSCSI読取りコマンドに最適化する
ことができる。移送層はどちらも類似しているので、図
が簡単になるように、図3には移送層64のみを示して
ある。移送層66との通信は、イニシエータ84の右辺
に示した経路を通じて行われる。
た汎用要求ブロック96をSCSI特有の要求ブロック
102に変換し、特有の要求ブロック102は、移送層
64または66の一つを介して、その入出力要求の対象
である装置用の状態機械に送られる。コマンド・イニシ
エータは、各汎用要求から1個または複数のSCSIコ
マンドを作成し、あるいは複数の汎用要求を1個のSC
SIコマンドに最適化する。例えば、多数の順次ディス
ク読取りを1個のSCSI読取りコマンドに最適化する
ことができる。移送層はどちらも類似しているので、図
が簡単になるように、図3には移送層64のみを示して
ある。移送層66との通信は、イニシエータ84の右辺
に示した経路を通じて行われる。
【0021】CSM87は、論理的にはPCSM36と
同じであり、カード・データ構造112を含んでいる。
カード・データ構造112は、下記で論じる他の品目の
他に、対応するPCSMの状態に関する情報を含む。C
SMはまた、複数の論理的装置状態機械(LDSM)8
8をも含んでいる。システム内の各入出力装置ごとに1
つのLDSM88があり、LDSMは、それらの入出力
装置が接続されているカードに対応する移送層と関連づ
けられている。すなわち、装置32、33は移送層64
と対応するアダプタ30に接続されているので、LDS
M88/32及び88/33は移送層64と対話する。
移送層64は、記号的にはE字形であり、3つの部分層
64A〜64Cを有し、それを様々な要求及びメッセー
ジが通過する。イニシエータ84からの要求を部分層6
4Aが受け取り、そこで、関連するアダプタが扱ってい
る同時要求の数が、そのアダプタが所与の時間に扱える
最大数を越えているかどうか判定する。そのアダプタが
忙しすぎる場合、過剰の要求102は、処理可能となる
までカード要求待ち行列100に置かれる。アダプタが
忙しくない場合、要求は経路104に沿って部分層64
Bに送られ、そこで、関連する待ち行列100内に保留
中の要求があるかどうか判定する。ある装置に対する保
留中の要求がない場合、現要求は当該のLDSM88に
送られる。
同じであり、カード・データ構造112を含んでいる。
カード・データ構造112は、下記で論じる他の品目の
他に、対応するPCSMの状態に関する情報を含む。C
SMはまた、複数の論理的装置状態機械(LDSM)8
8をも含んでいる。システム内の各入出力装置ごとに1
つのLDSM88があり、LDSMは、それらの入出力
装置が接続されているカードに対応する移送層と関連づ
けられている。すなわち、装置32、33は移送層64
と対応するアダプタ30に接続されているので、LDS
M88/32及び88/33は移送層64と対話する。
移送層64は、記号的にはE字形であり、3つの部分層
64A〜64Cを有し、それを様々な要求及びメッセー
ジが通過する。イニシエータ84からの要求を部分層6
4Aが受け取り、そこで、関連するアダプタが扱ってい
る同時要求の数が、そのアダプタが所与の時間に扱える
最大数を越えているかどうか判定する。そのアダプタが
忙しすぎる場合、過剰の要求102は、処理可能となる
までカード要求待ち行列100に置かれる。アダプタが
忙しくない場合、要求は経路104に沿って部分層64
Bに送られ、そこで、関連する待ち行列100内に保留
中の要求があるかどうか判定する。ある装置に対する保
留中の要求がない場合、現要求は当該のLDSM88に
送られる。
【0022】CSM87及びLDSM88はメモリ18
内に形成されており、対応する物理的装置状態機械(P
DSM)と対になり、そのモデルを形成する。PDSM
は、実入出力操作を実行する実際の入出力装置であり、
内部ラッチと、レジスタと、機械の物理的状態を表す信
号と、そうした刺激に応答して装置の動作を制御する装
置論理とを含んでいる。具体的にいうと、図3に示す通
り、LDSM88/32はPDSM32’のモデルであ
り、LDSM88/33はPDSM33’のモデルであ
る。各論理的状態機械及び物理的状態機械はその装置の
状態を認識し、刺激に応答して、前の状態と刺激の性質
とに依存する別の状態に切り換わる。すなわち、例を挙
げると、PDSM33’は3つの状態A’、B’、C’
を有すると仮定する。対応するLDSM88/33も、
状態A’〜C’に対応する3つの状態A、B、Cを有す
る。各LDSMはPDSMと対になっており、対になっ
た状態機械は、移送部分層64Cを介して送られるメッ
セージによって互いに通信する。この対になった状態機
械は、マスタ/スレーブ制御ではなく対等制御(peer t
o peer )向けに配列され、下記の新規な機能及び利点
をもたらす。
内に形成されており、対応する物理的装置状態機械(P
DSM)と対になり、そのモデルを形成する。PDSM
は、実入出力操作を実行する実際の入出力装置であり、
内部ラッチと、レジスタと、機械の物理的状態を表す信
号と、そうした刺激に応答して装置の動作を制御する装
置論理とを含んでいる。具体的にいうと、図3に示す通
り、LDSM88/32はPDSM32’のモデルであ
り、LDSM88/33はPDSM33’のモデルであ
る。各論理的状態機械及び物理的状態機械はその装置の
状態を認識し、刺激に応答して、前の状態と刺激の性質
とに依存する別の状態に切り換わる。すなわち、例を挙
げると、PDSM33’は3つの状態A’、B’、C’
を有すると仮定する。対応するLDSM88/33も、
状態A’〜C’に対応する3つの状態A、B、Cを有す
る。各LDSMはPDSMと対になっており、対になっ
た状態機械は、移送部分層64Cを介して送られるメッ
セージによって互いに通信する。この対になった状態機
械は、マスタ/スレーブ制御ではなく対等制御(peer t
o peer )向けに配列され、下記の新規な機能及び利点
をもたらす。
【0023】前段の例を用いると、典型的な動作は、コ
マンド・イニシエータ84が経路104に沿ってLDS
M88/33にメッセージ(要求)を送るときに始ま
る。その結果、この状態機械、LDSM88/33は状
態Aから状態Bに切り換わる。この移行の一環として、
経路106を介してPDSM33’にメッセージまたは
コマンドが送られ、それによってPDSM33’が状態
A’から状態B’になる。経路106は移送部分層64
Cを横切るが、部分層64Cは、SCSI装置33の動
作を制御するのに必要なコマンドまたは制御ブロックを
作成する。この制御ブロックが経路106に沿って送ら
れる。装置33が所定の動作を完了すると、PDSM3
3’は状態B’から状態C’に切り換わる。この移行の
一環として、応答(コマンドの結果)が経路108に沿
ってLDSM88/33に送り戻される。このメッセー
ジ(結果)を受け取ると、LDSM88/33は状態B
から状態Cに切り換わる。この移行の一環として、経路
110を介してコマンド・イニシエータにメッセージ
(結果)が送られる。その後、コマンド・イニシエータ
は待ち行列94/33から新しい要求を得ることができ
る。LDSMが常に要求のイニシエータである必要はな
いことに留意されたい。装置やPDSMもイニシエータ
になることができる。このことは、非同期処理が行える
ことを暗示している。
マンド・イニシエータ84が経路104に沿ってLDS
M88/33にメッセージ(要求)を送るときに始ま
る。その結果、この状態機械、LDSM88/33は状
態Aから状態Bに切り換わる。この移行の一環として、
経路106を介してPDSM33’にメッセージまたは
コマンドが送られ、それによってPDSM33’が状態
A’から状態B’になる。経路106は移送部分層64
Cを横切るが、部分層64Cは、SCSI装置33の動
作を制御するのに必要なコマンドまたは制御ブロックを
作成する。この制御ブロックが経路106に沿って送ら
れる。装置33が所定の動作を完了すると、PDSM3
3’は状態B’から状態C’に切り換わる。この移行の
一環として、応答(コマンドの結果)が経路108に沿
ってLDSM88/33に送り戻される。このメッセー
ジ(結果)を受け取ると、LDSM88/33は状態B
から状態Cに切り換わる。この移行の一環として、経路
110を介してコマンド・イニシエータにメッセージ
(結果)が送られる。その後、コマンド・イニシエータ
は待ち行列94/33から新しい要求を得ることができ
る。LDSMが常に要求のイニシエータである必要はな
いことに留意されたい。装置やPDSMもイニシエータ
になることができる。このことは、非同期処理が行える
ことを暗示している。
【0024】このような状態機械の対話は、いくつかの
重要な機能及び利点をもたらす。同期装置(すなわち、
ディスク、テープ)と非同期装置(すなわち、LANそ
の他の通信装置)を同じバスとアダプタの組合せに接続
することができる。この状態機械の対話により、同期プ
ロセッサによって駆動される装置(すなわちディスク)
と非同期的に駆動される装置(通信装置)との間に対称
的な関係が成立する。未着割込み追跡は、同期装置につ
いては簡単になる。対応する状態機械においては、タイ
ミングが調整された伝送が可能であった。このような伝
送により、通信装置により多くのバッファをいつ割り振
る必要があるかという問題の解決が可能になる。対称的
な状態のモデル化により、内部装置が外部キャッシュの
状態を管理できるようになる。これらの機能の多くが可
能なのは、チャネル・マネージャのすべてのレベルが装
置特有のコードで拡張可能だからである。標準のコード
が使用でき、既存のサブシステム中のコードでカバーさ
れない装置領域についてだけ新しいコードを作成し開発
すればよい。
重要な機能及び利点をもたらす。同期装置(すなわち、
ディスク、テープ)と非同期装置(すなわち、LANそ
の他の通信装置)を同じバスとアダプタの組合せに接続
することができる。この状態機械の対話により、同期プ
ロセッサによって駆動される装置(すなわちディスク)
と非同期的に駆動される装置(通信装置)との間に対称
的な関係が成立する。未着割込み追跡は、同期装置につ
いては簡単になる。対応する状態機械においては、タイ
ミングが調整された伝送が可能であった。このような伝
送により、通信装置により多くのバッファをいつ割り振
る必要があるかという問題の解決が可能になる。対称的
な状態のモデル化により、内部装置が外部キャッシュの
状態を管理できるようになる。これらの機能の多くが可
能なのは、チャネル・マネージャのすべてのレベルが装
置特有のコードで拡張可能だからである。標準のコード
が使用でき、既存のサブシステム中のコードでカバーさ
れない装置領域についてだけ新しいコードを作成し開発
すればよい。
【0025】各CSM内にカード・データ構造112が
含まれるが、その細部は、関連する装置の細部に応じて
機械ごとに異なる。各カード・データ構造は、下記の情
報フィールドを含んでいる。
含まれるが、その細部は、関連する装置の細部に応じて
機械ごとに異なる。各カード・データ構造は、下記の情
報フィールドを含んでいる。
【0026】フィールド 情報 1 カード識別子情報 − 特定のアダプタ・
カードを記述するすべての情報、すなわち、入出力ポー
ト、メモリにマップされたアドレスなど。 2 エラー情報 − エラーが発生したときに
エラー・コードを記憶する場所。 3 カード状態 − カードの現状態、すなわ
ち未初期設定、不在、リセット、エラー回復手順(ER
P)、初期設定中、使用中、破壊を示す。 4 フラグ − カード用コードの挙動の一部
を修正するために使用される。大抵はカードが初期設定
されたときにセットされる。 5 装置状態ポインタ − 装置状態アレイを
指す。 6 移送機能ポインタ − カード用の移送機
能を指す。 7 作業待ち行列 − カードが実行すべき、
どの装置のためのものでもない作業の待ち行列(装置入
出力要求はこの待ち行列には置かれない)。
カードを記述するすべての情報、すなわち、入出力ポー
ト、メモリにマップされたアドレスなど。 2 エラー情報 − エラーが発生したときに
エラー・コードを記憶する場所。 3 カード状態 − カードの現状態、すなわ
ち未初期設定、不在、リセット、エラー回復手順(ER
P)、初期設定中、使用中、破壊を示す。 4 フラグ − カード用コードの挙動の一部
を修正するために使用される。大抵はカードが初期設定
されたときにセットされる。 5 装置状態ポインタ − 装置状態アレイを
指す。 6 移送機能ポインタ − カード用の移送機
能を指す。 7 作業待ち行列 − カードが実行すべき、
どの装置のためのものでもない作業の待ち行列(装置入
出力要求はこの待ち行列には置かれない)。
【0027】あるカード及びそれに接続された装置に関
するすべての活動状態情報は、カード状態データ構造1
12の外部に維持される。こうしたデータ構造は構造の
アレイとして使用される。カード番号は、特定のカード
用の個別構造にアクセスするため、アレイへのインデッ
クスとして使用される。規約により、PS/2コンピュ
ータ上では、特定のカードを差し込むスロットが物理的
カード番号として使用される。
するすべての活動状態情報は、カード状態データ構造1
12の外部に維持される。こうしたデータ構造は構造の
アレイとして使用される。カード番号は、特定のカード
用の個別構造にアクセスするため、アレイへのインデッ
クスとして使用される。規約により、PS/2コンピュ
ータ上では、特定のカードを差し込むスロットが物理的
カード番号として使用される。
【0028】移送機能114は、移送層内に設けられ、
リンクされたリストとして記憶される。アダプタの各タ
イプごとに1つの移送機能114がある。移送機能に含
まれるデータ及びルーチンには、リスト内の次の移送機
能を指すポインタ、カード識別子、存在テスト・ルーチ
ン、カード初期設定ルーチン、割込みルーチン、コマン
ド出力ルーチン、リセット・ルーチン、コマンド・ブロ
ック割振りルーチン、末端ブロック解放ルーチン、コマ
ンド・ブロック作成ルーチン、カード作業待ち行列処理
ルーチン、状況ブロック獲得ルーチン、コマンド・エラ
ー処理ルーチン、入出力再開ルーチン、コマンド・ブロ
ック修正ルーチン、エラー報告ルーチンがある。
リンクされたリストとして記憶される。アダプタの各タ
イプごとに1つの移送機能114がある。移送機能に含
まれるデータ及びルーチンには、リスト内の次の移送機
能を指すポインタ、カード識別子、存在テスト・ルーチ
ン、カード初期設定ルーチン、割込みルーチン、コマン
ド出力ルーチン、リセット・ルーチン、コマンド・ブロ
ック割振りルーチン、末端ブロック解放ルーチン、コマ
ンド・ブロック作成ルーチン、カード作業待ち行列処理
ルーチン、状況ブロック獲得ルーチン、コマンド・エラ
ー処理ルーチン、入出力再開ルーチン、コマンド・ブロ
ック修正ルーチン、エラー報告ルーチンがある。
【0029】システム10を初期設定するとき、初期設
定中のカードと合致するものが見つかるまで各移送機能
が走査される。合致を見つけるには、カード識別子フィ
ールドの組合せを使い、存在テスト・ルーチンを呼び出
す。合致が見つかったとき、その特定の移送機能を指す
ポインタが、当該のカード状態構造中に導かれる。これ
により、特定のカード用の移送機能に迅速にアクセスで
きるようになる。システム内に同じタイプのアダプタ・
カードが複数ある場合は、複数のカード状態構造が特定
の移送機能を指すこともあり得る。
定中のカードと合致するものが見つかるまで各移送機能
が走査される。合致を見つけるには、カード識別子フィ
ールドの組合せを使い、存在テスト・ルーチンを呼び出
す。合致が見つかったとき、その特定の移送機能を指す
ポインタが、当該のカード状態構造中に導かれる。これ
により、特定のカード用の移送機能に迅速にアクセスで
きるようになる。システム内に同じタイプのアダプタ・
カードが複数ある場合は、複数のカード状態構造が特定
の移送機能を指すこともあり得る。
【0030】複数のカード状態構造112が特定の移送
機能を指すことがあり得るので、各カードに関する詳細
は、カード識別子の一部としてカード状態構造中に保持
される。そのカード識別子フィールド中の移送機能11
4は、そのカード・タイプに関する汎用情報(すなわ
ち、制御レジスタが現れる可能性のあるすべての入出力
ポートのリスト)を保持する。移送機能は、個々のカー
ドがある機能をどう実行するかに関する詳細を分離す
る。これを、BIOS動作と間違えてはならない。移送
機能は、主にカードへのコマンド及びカードから戻る応
答の特有なデリバリに焦点を当てたものである。移送機
能は、どんな活動が実行中であるかに関するすべての状
態情報がより高次のレベルで保持されるので、無状態
(stateless)である。移送機能は、カード上の非常に
特有な何らかの機能を実行するために呼び出される。
機能を指すことがあり得るので、各カードに関する詳細
は、カード識別子の一部としてカード状態構造中に保持
される。そのカード識別子フィールド中の移送機能11
4は、そのカード・タイプに関する汎用情報(すなわ
ち、制御レジスタが現れる可能性のあるすべての入出力
ポートのリスト)を保持する。移送機能は、個々のカー
ドがある機能をどう実行するかに関する詳細を分離す
る。これを、BIOS動作と間違えてはならない。移送
機能は、主にカードへのコマンド及びカードから戻る応
答の特有なデリバリに焦点を当てたものである。移送機
能は、どんな活動が実行中であるかに関するすべての状
態情報がより高次のレベルで保持されるので、無状態
(stateless)である。移送機能は、カード上の非常に
特有な何らかの機能を実行するために呼び出される。
【0031】システムに入出力装置が追加され、DDC
42をこの装置が制御するように修正する必要があると
き、そのような修正をコード拡張部分に含め、コード拡
張部分をDDC42の異なる部分のうちの適当な1つま
たは複数の部分に置くことができる。すなわち、コード
拡張部分(接尾辞Eで示す)は、要求ディスパッチャの
拡張部分80E、待ち行列登録機能92及び待ち行列解
除機能98の拡張部分92E及び98E、コマンド・イ
ニシエータ84の拡張部分84E、及び移送層64の拡
張部分64Eとして置くことができる。論理的状態機械
の拡張部分とすることもできる。例えば、装置32が3
つの状態X’、Y’、Z’を有し、PDSMがこれらの
状態を含み、その装置がシステムに追加されたとき、存
在するLDSMは2つの状態XとYのみを有すると仮定
する。状態Zに対応する拡張部分を追加することによ
り、LDSM88/32が形成されたことになる。
42をこの装置が制御するように修正する必要があると
き、そのような修正をコード拡張部分に含め、コード拡
張部分をDDC42の異なる部分のうちの適当な1つま
たは複数の部分に置くことができる。すなわち、コード
拡張部分(接尾辞Eで示す)は、要求ディスパッチャの
拡張部分80E、待ち行列登録機能92及び待ち行列解
除機能98の拡張部分92E及び98E、コマンド・イ
ニシエータ84の拡張部分84E、及び移送層64の拡
張部分64Eとして置くことができる。論理的状態機械
の拡張部分とすることもできる。例えば、装置32が3
つの状態X’、Y’、Z’を有し、PDSMがこれらの
状態を含み、その装置がシステムに追加されたとき、存
在するLDSMは2つの状態XとYのみを有すると仮定
する。状態Zに対応する拡張部分を追加することによ
り、LDSM88/32が形成されたことになる。
【図1】本発明を実施したデータ処理システムの構成図
である。
である。
【図2】図1に示した装置の一部分の詳細構成図であ
る。
る。
【図3】図1に示したオペレーティング・システムから
独立したデバイス・ドライバの詳細構成図である。
独立したデバイス・ドライバの詳細構成図である。
【符号の説明】 10 データ処理システム 12 プロセッサ 16 適用業務プログラム 30 SCSIアダプタ 32 光学式SCSI装置 33 テープSCSI装置 34 テープSCSI装置 35 SCSI DASD装置 36 物理的カード状態機械(PCSM) 38 オペレーティング・システム特有デバイス・ドラ
イバ(OSSDD) 40 オペレーティング・システム特有マッピング層
(OSSML) 42 デバイス・ドライバ・コア(DDC) 54 特有デバイス・ドライバ(SDD) 56 特有デバイス・ドライバ(SDD) 58 特有デバイス・ドライバ(SDD) 60 特有デバイス・ドライバ(SDD) 62 チャネル・マネージャ 80 要求ディスパッチャ 82 要求待ち行列 84 コマンド・イニシエータ 87 論理的カード状態機械(CSM)
イバ(OSSDD) 40 オペレーティング・システム特有マッピング層
(OSSML) 42 デバイス・ドライバ・コア(DDC) 54 特有デバイス・ドライバ(SDD) 56 特有デバイス・ドライバ(SDD) 58 特有デバイス・ドライバ(SDD) 60 特有デバイス・ドライバ(SDD) 62 チャネル・マネージャ 80 要求ディスパッチャ 82 要求待ち行列 84 コマンド・イニシエータ 87 論理的カード状態機械(CSM)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ガイ・ギル・ソトマイヤー・ジュニア アメリカ合衆国33415、フロリダ州ウェス ト・パーム・ビーチ、シャーウッド・グレ ン・ウェイ 6082番地 7号 (72)発明者 エドワード・ミッチェル・タグル・ジュニ ア アメリカ合衆国33462、フロリダ州ランタ ナ、ビーチ・カーヴ・ロード 422番地 (56)参考文献 特開 平3−111959(JP,A) 特開 平2−75048(JP,A)
Claims (5)
- 【請求項1】適用業務プログラム及びオペレーティング
・システムを記憶するための記憶システムと、上記プロ
グラムを実行するためのプロセッサと、複数の入出力装
置とを有するデータ処理システムにおいて、 上記オペレーティング・システムに特有デバイス・ドラ
イバ・インターフェースを有する上記オペレーティング
・システムと、 複数の異なるオペレーティング・システムに汎用のオペ
レーティング・システム・インターフェースを有し、か
つ上記入出力装置の動作を制御するために上記入出力装
置に接続された複数の装置特有デバイス・ドライバを有
するデバイス・ドライバ・コアと、 上記オペレーティング・システムと上記デバイス・ドラ
イバ・コアとの間に機能的に層として置かれた、上記オ
ペレーティング・システムの上記特有デバイス・ドライ
バ・インターフェースと上記デバイス・ドライバ・コア
の上記オペレーティング・システム・インターフェース
の間での入出力要求及び応答を変換し、それによって上
記オペレーティング・システムとともに特定の動作をす
るように上記デバイス・ドライバ・コアを適合させる変
換機構とを含む、改良されたデータ処理システム。 - 【請求項2】上記デバイス・ドライバ・コアが、 上記オペレーティング・システムから入出力要求を受け
取り、上記要求を待ち行列に登録し、上記要求を上記入
出力装置に特有のコマンドに変換する働きをするチャネ
ル・マネージャと、 上記チャネル・マネージャと上記入出力装置の間でイン
ターフェースする移送層とを含むことを特徴とする、請
求項1に記載のデータ処理システム。 - 【請求項3】上記入出力装置が、複数の物理的装置状態
機械(PDSM)を備え、 上記チャネル・マネージャが、それぞれ上記PDSMの
1つに対応し、該PDSMと対になって、各対の各状態
機械間で互いに通信し合う、複数の論理的装置状態機械
(LDSM)を含むことを特徴とする、請求項2に記載
のデータ処理システム。 - 【請求項4】上記チャネル・マネージャが、 入出力要求を一時的に記憶するための、各入出力装置ご
とに1つずつ複数の要求待ち行列と、 入出力要求を受け取り、上記要求を、各要求がどの装置
に対するものかに応じて上記要求待ち行列の1つに指名
するための、要求ディスパッチャとを含むことを特徴と
する、請求項2に記載のデータ処理システム。 - 【請求項5】上記チャネル・マネージャがさらに、 上記入出力装置の動作を制御するための、複数の論理的
状態機械と、 上記要求待ち行列から入出力要求を受け取り、各要求を
特有入出力コマンドに変換した後、上記状態機械の1つ
に送って、上記入出力装置の1つを上記特有入出力コマ
ンドに従って動作させる働きをする、コマンド・イニシ
エータとを含むことを特徴とする、請求項4に記載のデ
ータ処理システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/675,230 US5265252A (en) | 1991-03-26 | 1991-03-26 | Device driver system having generic operating system interface |
| US675230 | 1991-03-26 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0689253A JPH0689253A (ja) | 1994-03-29 |
| JPH07122863B2 true JPH07122863B2 (ja) | 1995-12-25 |
Family
ID=24709582
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4060074A Expired - Lifetime JPH07122863B2 (ja) | 1991-03-26 | 1992-03-17 | 汎用のオペレーティング・システム・インターフェースを有するデバイス・ドライバを含むデータ処理システム |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US5265252A (ja) |
| EP (1) | EP0506278B1 (ja) |
| JP (1) | JPH07122863B2 (ja) |
| KR (1) | KR960003413B1 (ja) |
| CN (1) | CN1025382C (ja) |
| AR (1) | AR246809A1 (ja) |
| BR (1) | BR9201031A (ja) |
| DE (1) | DE69227939T2 (ja) |
Families Citing this family (206)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5649171A (en) * | 1991-04-12 | 1997-07-15 | Accom, Inc. | On-line video editing system |
| JPH0774984B2 (ja) * | 1991-06-10 | 1995-08-09 | インターナショナル・ビジネス・マシーンズ・コーポレイション | システム資源利用率測定方法とデータ処理システム |
| US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
| US5517636A (en) * | 1992-01-07 | 1996-05-14 | Unisys Corporation | Platform independent data communication system and method |
| US5628014A (en) * | 1992-03-20 | 1997-05-06 | Paranode, Inc. | Methods and apparatus for node caching at the file level |
| JPH05341918A (ja) * | 1992-05-12 | 1993-12-24 | Internatl Business Mach Corp <Ibm> | 二重化デイスク記憶装置システムを構成するための接続装置 |
| EP0588046A1 (en) * | 1992-08-14 | 1994-03-23 | International Business Machines Corporation | IEEE standard 802.2 virtual device driver |
| EP0584909A1 (en) * | 1992-08-26 | 1994-03-02 | Sun Microsystems, Inc. | Self configuring device 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 |
| US5659690A (en) * | 1992-10-15 | 1997-08-19 | Adaptec, Inc. | Programmably configurable host adapter integrated circuit including a RISC processor |
| EP0610677A3 (en) * | 1993-02-12 | 1995-08-02 | Ibm | Communication device management module operating in two modes. |
| JPH06301555A (ja) * | 1993-02-26 | 1994-10-28 | Internatl Business Mach Corp <Ibm> | マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム |
| US5664195A (en) * | 1993-04-07 | 1997-09-02 | Sequoia Systems, Inc. | Method and apparatus for dynamic installation of a driver on a computer system |
| JPH0765540A (ja) * | 1993-08-27 | 1995-03-10 | Olympus Optical Co Ltd | 光カードの情報管理装置 |
| 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 |
| US6453363B1 (en) | 1993-10-21 | 2002-09-17 | Microsoft Corporation | Method and computer system for integrating a compression system with an operating system |
| DE69423853T2 (de) * | 1993-12-13 | 2000-10-19 | Ibm | Ein-/Ausgabeobjekte in einem Betriebssystemkern |
| US5781798A (en) * | 1993-12-30 | 1998-07-14 | International Business Machines Corporation | Method and apparatus for providing hot swapping capability in a computer system with static peripheral driver software |
| US5794014A (en) * | 1994-06-27 | 1998-08-11 | Cirrus Logic, Inc. | Method and apparatus for interfacing between peripherals of multiple formats and a single system bus |
| US5727184A (en) * | 1994-06-27 | 1998-03-10 | Cirrus Logic, Inc. | Method and apparatus for interfacing between peripherals of multiple formats and a single system bus |
| US5915129A (en) | 1994-06-27 | 1999-06-22 | Microsoft Corporation | Method and system for storing uncompressed data in a memory cache that is destined for a compressed file system |
| US5860022A (en) * | 1994-07-26 | 1999-01-12 | Hitachi, Ltd. | Computer system and method of issuing input/output commands therefrom |
| US5555510A (en) * | 1994-08-02 | 1996-09-10 | Intel Corporation | Automatic computer card insertion and removal algorithm |
| US5729719A (en) * | 1994-09-07 | 1998-03-17 | Adaptec, Inc. | Synchronization circuit for clocked signals of similar frequencies |
| 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 |
| JPH08161250A (ja) * | 1994-12-06 | 1996-06-21 | Canon Inc | 情報処理装置 |
| US5687376A (en) * | 1994-12-15 | 1997-11-11 | International Business Machines Corporation | System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation |
| US5715459A (en) * | 1994-12-15 | 1998-02-03 | International Business Machines Corporation | Advanced graphics driver architecture |
| US5727212A (en) * | 1995-04-12 | 1998-03-10 | International Business Machines Corporation | Object oriented device driver system for procedural device drivers |
| US5841979A (en) * | 1995-05-25 | 1998-11-24 | Information Highway Media Corp. | Enhanced delivery of audio data |
| US6549942B1 (en) | 1995-05-25 | 2003-04-15 | Audiohighway.Com | Enhanced delivery of audio data for portable playback |
| US5623696A (en) * | 1995-05-30 | 1997-04-22 | International Business Machines Corporation | System for formatting a request into a packet which can be read by plurality of operating systems for providing a driver for a storage device |
| US5666485A (en) * | 1995-06-07 | 1997-09-09 | Samsung Electronics Inc. | Software driver for a system bus |
| DE69620062T2 (de) * | 1995-07-07 | 2002-11-14 | Sun Microsystems, Inc. | Datenzugriffimplementierung von Gerätetreiberschnittstelle |
| US5767849A (en) * | 1995-08-18 | 1998-06-16 | International Business Machines Corporation | Personality neutral window management subsystem |
| US5774720A (en) * | 1995-08-18 | 1998-06-30 | International Business Machines Corporation | Personality neutral graphics subsystem |
| US6289396B1 (en) * | 1995-11-21 | 2001-09-11 | Diamond Multimedia Systems, Inc. | Dynamic programmable mode switching device driver architecture |
| US6393495B1 (en) | 1995-11-21 | 2002-05-21 | Diamond Multimedia Systems, Inc. | Modular virtualizing device driver architecture |
| US6009476A (en) * | 1995-11-21 | 1999-12-28 | Diamond Multimedia Systems, Inc. | Device driver architecture supporting emulation environment |
| US5752032A (en) * | 1995-11-21 | 1998-05-12 | Diamond Multimedia Systems, Inc. | Adaptive device driver using controller hardware sub-element identifier |
| US6247067B1 (en) * | 1996-03-29 | 2001-06-12 | Sun Microsystems, Inc. | Transparently converting program calls between interfaces |
| JP2787911B2 (ja) * | 1996-03-29 | 1998-08-20 | 三菱電機株式会社 | データストレージ管理方式及びデータストレージ管理方法 |
| US5940613A (en) * | 1996-05-01 | 1999-08-17 | Sun Microsystems, Inc. | Method for creating a single binary virtual device driver for a windowing operating system |
| US5839095A (en) * | 1996-06-07 | 1998-11-17 | Liu; Johny | Multimedia control center for controlling peripheral devices of a personal computer |
| US5959536A (en) * | 1996-10-15 | 1999-09-28 | Philips Electronics North America Corporation | Task-driven distributed multimedia consumer system |
| US6651104B1 (en) * | 1996-11-12 | 2003-11-18 | Ericsson Inc. | Multi-layered interface for interconnecting application programs to system bus lines for electronic devices |
| US5867671A (en) * | 1996-11-20 | 1999-02-02 | Ncr Corporation | Virtual device for performing an operation in response to a SCSI command different than the operation of a SCSI device responding to the SCSI command |
| US6064660A (en) * | 1996-12-12 | 2000-05-16 | Optimay Corporation | GSM transceiver with portable protocol stack |
| US6003093A (en) * | 1996-12-19 | 1999-12-14 | Canon Kabushiki Kaisha | Architecture for image processing application |
| US6212576B1 (en) | 1997-01-27 | 2001-04-03 | Optimay Corporation | Operating system interface for use with multitasking GSM protocol stacks |
| US6078741A (en) * | 1997-02-05 | 2000-06-20 | Firsttel Systems Corporation | Automatic generation of reconfiguration scripts for telecommunication devices |
| GB2321981B (en) * | 1997-02-06 | 2002-01-09 | Ibm | Hosted machine code installation |
| US5978912A (en) * | 1997-03-20 | 1999-11-02 | Phoenix Technologies Limited | Network enhanced BIOS enabling remote management of a computer without a functioning operating system |
| US5958022A (en) * | 1997-03-21 | 1999-09-28 | International Business Machines Corporation | System and method for I/O access mode selection |
| US6256020B1 (en) | 1997-03-31 | 2001-07-03 | G & R Associates Incorporated | Computer-telephony integration employing an intelligent keyboard and method for same |
| EP0893765A1 (en) * | 1997-07-24 | 1999-01-27 | CANAL+ Société Anonyme | IEEE 1394 Set Top Box device driver |
| US5961642A (en) * | 1997-07-31 | 1999-10-05 | Ncr Corporation | Generic kernel modification for the dynamic configuration of operating systems in a multi-processor system |
| US6311228B1 (en) * | 1997-08-06 | 2001-10-30 | Microsoft Corporation | Method and architecture for simplified communications with HID devices |
| US6038538A (en) * | 1997-09-15 | 2000-03-14 | International Business Machines Corporation | Generating process models from workflow logs |
| US6021410A (en) * | 1997-09-25 | 2000-02-01 | International Business Machines Corporation | Extensible digital library |
| US6148387A (en) * | 1997-10-09 | 2000-11-14 | Phoenix Technologies, Ltd. | System and method for securely utilizing basic input and output system (BIOS) services |
| US6286054B2 (en) * | 1997-10-27 | 2001-09-04 | Flashpoint Technology, Inc. | Method and system for supporting multiple capture devices |
| US6321374B1 (en) | 1997-11-07 | 2001-11-20 | International Business Machines Corporation | Application-independent generator to generate a database transaction manager in heterogeneous information systems |
| US6256636B1 (en) | 1997-11-26 | 2001-07-03 | International Business Machines Corporation | Object server for a digital library system |
| US6078747A (en) * | 1998-01-05 | 2000-06-20 | Jewitt; James W. | Application program interface to physical devices |
| JP4236729B2 (ja) * | 1998-05-07 | 2009-03-11 | 株式会社リコー | データ処理装置 |
| GB2340265B (en) * | 1998-07-31 | 2003-04-23 | Sony Uk Ltd | Data processing |
| US6282586B1 (en) * | 1998-10-28 | 2001-08-28 | 3Com Corporation | Method in an operating system, a method and system for supporting multiple hardware devices from a single communications port |
| US6618767B1 (en) * | 1998-11-17 | 2003-09-09 | Sun Microsystems, Inc. | Mechanism by which devices on unforeseen platform variants may be supported without re-release of core platform kernel software |
| GB2345986A (en) * | 1999-01-19 | 2000-07-26 | Inventec Corp | Computer mouse/mice driver |
| US7213061B1 (en) | 1999-04-29 | 2007-05-01 | Amx Llc | Internet control system and method |
| EP1051028A1 (en) * | 1999-05-05 | 2000-11-08 | Sony International (Europe) GmbH | Control module of a tuner for a HAVI network |
| BR0010799A (pt) * | 1999-05-21 | 2002-06-11 | Gen Instrument Corp | Interface de programação para software de sistema de núclear de aparelho decodificador de televisão |
| AU5463800A (en) * | 1999-06-01 | 2000-12-18 | Bsquare Corporation | Device driver platform layer |
| JP3946397B2 (ja) * | 1999-12-24 | 2007-07-18 | 三菱電機株式会社 | 車載情報処理装置 |
| US6553223B1 (en) * | 1999-12-30 | 2003-04-22 | Qualcomm Incorporated | Virtual device architecture for mobile telephones |
| US7117263B1 (en) | 2000-02-01 | 2006-10-03 | Hewlett-Packard Development Company, L.P. | Apparatus and method for processing requests from an external queue in a TCP/IP-based application system |
| US7047534B2 (en) * | 2000-03-17 | 2006-05-16 | Microsoft Corporation | Simplified device drivers for hardware devices of a computer system |
| US7197564B1 (en) * | 2000-04-07 | 2007-03-27 | Hewlett-Packard Development Company, L.P. | Adaptive admission control system for a server application system |
| US6848110B2 (en) | 2000-12-22 | 2005-01-25 | International Business Machines Corporation | Automatic feature augmentation for component based application programming interfaces |
| US6651111B2 (en) * | 2001-02-16 | 2003-11-18 | Microsoft Corporation | System and method for managing a serial port |
| US20020170039A1 (en) * | 2001-02-22 | 2002-11-14 | Kovacevic Branko D. | System for operating system and platform independent digital stream handling and method thereof |
| ATE389052T1 (de) * | 2001-04-20 | 2008-03-15 | Enzymatic Deinking Technologie | Triglycerid-schnellbestimmungsverfahren zur anwendung bei der verhinderung von pechausscheidungen aus pulpen |
| US7451460B2 (en) * | 2001-11-15 | 2008-11-11 | General Instrument Corporation | Programming interface for configuring a television settop terminal |
| GB0127865D0 (en) * | 2001-11-21 | 2002-01-16 | Sensaura Ltd | Device driver system |
| US20030145127A1 (en) * | 2002-01-03 | 2003-07-31 | Unice W. Kyle | Method and computer program product for providing a device driver |
| US7464134B2 (en) * | 2002-01-24 | 2008-12-09 | Hewlett-Packard Development Company, L.P. | Mechanism and method for sharing imaging information from an enterprise resource planning computing environment |
| AU2003217970B2 (en) * | 2002-03-06 | 2007-12-20 | Pharos Systems International, Inc. | Document processing system including multi-device compatible interface and related methods |
| US20030225928A1 (en) * | 2002-05-28 | 2003-12-04 | Sun Microsystems, Inc. | Method, system, and program for managing access to a device by device specific components and operating system specific components |
| US7460551B2 (en) * | 2002-06-28 | 2008-12-02 | Harris Corporation | Data-driven interface control circuit |
| EP1473630A3 (en) * | 2003-04-11 | 2007-10-10 | Samsung Electronics Co., Ltd. | Computer system and method of setting an interface card therein |
| US7069206B2 (en) * | 2003-04-24 | 2006-06-27 | International Business Machines Corporation | Method and apparatus for abstraction of physical hardware implementation to logical software drivers |
| US7684754B2 (en) * | 2003-06-03 | 2010-03-23 | Microsoft Corporation | Capacitive bonding of devices |
| US7389516B2 (en) * | 2003-06-19 | 2008-06-17 | Microsoft Corporation | System and method for facilitating interaction between a computer and a network scanner |
| CN1313942C (zh) * | 2003-07-02 | 2007-05-02 | 国际商业机器公司 | 在操作系统级实现数据处理的方法、设备和系统 |
| US7822983B2 (en) | 2003-08-21 | 2010-10-26 | Microsoft Corporation | Physical device bonding |
| US7437738B2 (en) * | 2003-11-12 | 2008-10-14 | Intel Corporation | Method, system, and program for interfacing with a network adaptor supporting a plurality of devices |
| US20050114549A1 (en) * | 2003-11-26 | 2005-05-26 | Durham David M. | Mechanism for extensible binary mappings for adaptable hardware/software interfaces |
| WO2007030421A2 (en) * | 2005-09-07 | 2007-03-15 | Amx Llc | Method and computer program for device configuration |
| US20070076750A1 (en) * | 2005-09-30 | 2007-04-05 | Microsoft Corporation | Device driver interface architecture |
| US7877760B2 (en) * | 2006-09-29 | 2011-01-25 | Microsoft Corporation | Distributed hardware state management in virtual machines |
| JP4725559B2 (ja) * | 2007-08-03 | 2011-07-13 | ブラザー工業株式会社 | 情報処理装置、及びインストール用プログラム |
| US8286195B2 (en) * | 2007-10-31 | 2012-10-09 | Microsoft Corporation | Controlling hardware across two or more simultaneously running operating systems |
| KR101383258B1 (ko) * | 2007-11-08 | 2014-04-08 | 삼성전자주식회사 | 이동통신 시스템에서 인체 통신 기능을 제공하기 위한 장치및 방법 |
| CN101615125B (zh) * | 2008-06-24 | 2012-09-19 | 纬创资通股份有限公司 | 视频装置代理驱动方法以及其模块 |
| US8688744B2 (en) * | 2008-09-09 | 2014-04-01 | Applied Systems, Inc. | Method, system, and apparatus for scanning and importing documents |
| US9613049B2 (en) | 2008-09-09 | 2017-04-04 | Applied Systems, Inc. | Document integration and distribution system, method and device |
| US8484453B2 (en) * | 2010-05-25 | 2013-07-09 | Freescale Semiconductor, Inc. | Data processing system having an operating system adapter and method |
| CN102467381A (zh) * | 2010-11-16 | 2012-05-23 | 北京中电华大电子设计有限责任公司 | 一种wlan驱动实现方法 |
| US9329887B2 (en) * | 2011-10-19 | 2016-05-03 | Hob Gmbh & Co. Kg | System and method for controlling multiple computer peripheral devices using a generic driver |
| CN103186473A (zh) * | 2011-12-30 | 2013-07-03 | 英业达股份有限公司 | 存储资源的定位系统 |
| US8832720B2 (en) * | 2012-01-05 | 2014-09-09 | Intel Corporation | Multimedia driver architecture for reusability across operating systems and hardware platforms |
| CN102831707B (zh) * | 2012-08-09 | 2015-04-22 | 北京南天软件有限公司 | 一种通用外设驱动接口 |
| US10310923B1 (en) | 2014-08-28 | 2019-06-04 | Seagate Technology Llc | Probabilistic aging command sorting |
| US10372461B2 (en) * | 2014-09-19 | 2019-08-06 | Alab Inc. | Device driver registration device and device driver registration method using same |
| US11573913B2 (en) * | 2014-09-19 | 2023-02-07 | Alab Inc. | Device proxy and control method |
| CN107332814B (zh) * | 2016-04-29 | 2021-01-01 | 华为技术有限公司 | 一种请求消息传输方法及装置 |
| US10831403B2 (en) | 2017-05-19 | 2020-11-10 | Seagate Technology Llc | Probabalistic command aging and selection |
| US11449370B2 (en) | 2018-12-11 | 2022-09-20 | DotWalk, Inc. | System and method for determining a process flow of a software application and for automatically generating application testing code |
| US11025508B1 (en) | 2020-04-08 | 2021-06-01 | Servicenow, Inc. | Automatic determination of code customizations |
| US11296922B2 (en) | 2020-04-10 | 2022-04-05 | Servicenow, Inc. | Context-aware automated root cause analysis in managed networks |
| US10999152B1 (en) | 2020-04-20 | 2021-05-04 | Servicenow, Inc. | Discovery pattern visualizer |
| US11301435B2 (en) | 2020-04-22 | 2022-04-12 | Servicenow, Inc. | Self-healing infrastructure for a dual-database system |
| US11392768B2 (en) | 2020-05-07 | 2022-07-19 | Servicenow, Inc. | Hybrid language detection model |
| US11263195B2 (en) | 2020-05-11 | 2022-03-01 | Servicenow, Inc. | Text-based search of tree-structured tables |
| US11470107B2 (en) | 2020-06-10 | 2022-10-11 | Servicenow, Inc. | Matching configuration items with machine learning |
| US11277359B2 (en) | 2020-06-11 | 2022-03-15 | Servicenow, Inc. | Integration of a messaging platform with a remote network management application |
| US11451573B2 (en) | 2020-06-16 | 2022-09-20 | Servicenow, Inc. | Merging duplicate items identified by a vulnerability analysis |
| US11379089B2 (en) | 2020-07-02 | 2022-07-05 | Servicenow, Inc. | Adaptable user interface layout for applications |
| US11277321B2 (en) | 2020-07-06 | 2022-03-15 | Servicenow, Inc. | Escalation tracking and analytics system |
| US11301503B2 (en) | 2020-07-10 | 2022-04-12 | Servicenow, Inc. | Autonomous content orchestration |
| US11449535B2 (en) | 2020-07-13 | 2022-09-20 | Servicenow, Inc. | Generating conversational interfaces based on metadata |
| US11632300B2 (en) | 2020-07-16 | 2023-04-18 | Servicenow, Inc. | Synchronization of a shared service configuration across computational instances |
| US11272007B2 (en) | 2020-07-21 | 2022-03-08 | Servicenow, Inc. | Unified agent framework including push-based discovery and real-time diagnostics features |
| US11748115B2 (en) | 2020-07-21 | 2023-09-05 | Servicenow, Inc. | Application and related object schematic viewer for software application change tracking and management |
| US11343079B2 (en) | 2020-07-21 | 2022-05-24 | Servicenow, Inc. | Secure application deployment |
| US11582106B2 (en) | 2020-07-22 | 2023-02-14 | Servicenow, Inc. | Automatic discovery of cloud-based infrastructure and resources |
| US11095506B1 (en) | 2020-07-22 | 2021-08-17 | Servicenow, Inc. | Discovery of resources associated with cloud operating system |
| US11275580B2 (en) | 2020-08-12 | 2022-03-15 | Servicenow, Inc. | Representing source code as implicit configuration items |
| US11372920B2 (en) | 2020-08-31 | 2022-06-28 | Servicenow, Inc. | Generating relational charts with accessibility for visually-impaired users |
| US11245591B1 (en) | 2020-09-17 | 2022-02-08 | Servicenow, Inc. | Implementation of a mock server for discovery applications |
| US11150784B1 (en) | 2020-09-22 | 2021-10-19 | Servicenow, Inc. | User interface elements for controlling menu displays |
| US11625141B2 (en) | 2020-09-22 | 2023-04-11 | Servicenow, Inc. | User interface generation with machine learning |
| US11632303B2 (en) | 2020-10-07 | 2023-04-18 | Servicenow, Inc | Enhanced service mapping based on natural language processing |
| US11734025B2 (en) | 2020-10-14 | 2023-08-22 | Servicenow, Inc. | Configurable action generation for a remote network management platform |
| US11342081B2 (en) | 2020-10-21 | 2022-05-24 | Servicenow, Inc. | Privacy-enhanced contact tracing using mobile applications and portable devices |
| US11258847B1 (en) | 2020-11-02 | 2022-02-22 | Servicenow, Inc. | Assignments of incoming requests to servers in computing clusters and other environments |
| US11363115B2 (en) | 2020-11-05 | 2022-06-14 | Servicenow, Inc. | Integrated operational communications between computational instances of a remote network management platform |
| US11868593B2 (en) | 2020-11-05 | 2024-01-09 | Servicenow, Inc. | Software architecture and user interface for process visualization |
| US11281442B1 (en) | 2020-11-18 | 2022-03-22 | Servicenow, Inc. | Discovery and distribution of software applications between multiple operational environments |
| US11693831B2 (en) | 2020-11-23 | 2023-07-04 | Servicenow, Inc. | Security for data at rest in a remote network management platform |
| US11216271B1 (en) | 2020-12-10 | 2022-01-04 | Servicenow, Inc. | Incremental update for offline data access |
| US11269618B1 (en) | 2020-12-10 | 2022-03-08 | Servicenow, Inc. | Client device support for incremental offline updates |
| US11630717B2 (en) | 2021-01-06 | 2023-04-18 | Servicenow, Inc. | Machine-learning based similarity engine |
| US11301365B1 (en) | 2021-01-13 | 2022-04-12 | Servicenow, Inc. | Software test coverage through real-time tracing of user activity |
| US11418586B2 (en) | 2021-01-19 | 2022-08-16 | Servicenow, Inc. | Load balancing of discovery agents across proxy servers |
| US11301271B1 (en) | 2021-01-21 | 2022-04-12 | Servicenow, Inc. | Configurable replacements for empty states in user interfaces |
| US11921878B2 (en) | 2021-01-21 | 2024-03-05 | Servicenow, Inc. | Database security through obfuscation |
| US11513885B2 (en) | 2021-02-16 | 2022-11-29 | Servicenow, Inc. | Autonomous error correction in a multi-application platform |
| US11277369B1 (en) | 2021-03-02 | 2022-03-15 | Servicenow, Inc. | Message queue architecture and interface for a multi-application platform |
| US11831729B2 (en) | 2021-03-19 | 2023-11-28 | Servicenow, Inc. | Determining application security and correctness using machine learning based clustering and similarity |
| US12254063B2 (en) | 2021-03-22 | 2025-03-18 | Servicenow, Inc. | Cross-modality curiosity for sparse-reward tasks |
| US11640369B2 (en) | 2021-05-05 | 2023-05-02 | Servicenow, Inc. | Cross-platform communication for facilitation of data sharing |
| US11635752B2 (en) | 2021-05-07 | 2023-04-25 | Servicenow, Inc. | Detection and correction of robotic process automation failures |
| US11635953B2 (en) | 2021-05-07 | 2023-04-25 | Servicenow, Inc. | Proactive notifications for robotic process automation |
| US11277475B1 (en) | 2021-06-01 | 2022-03-15 | Servicenow, Inc. | Automatic discovery of storage cluster |
| US11762668B2 (en) | 2021-07-06 | 2023-09-19 | Servicenow, Inc. | Centralized configuration data management and control |
| US11418571B1 (en) | 2021-07-29 | 2022-08-16 | Servicenow, Inc. | Server-side workflow improvement based on client-side data mining |
| US11516307B1 (en) | 2021-08-09 | 2022-11-29 | Servicenow, Inc. | Support for multi-type users in a single-type computing system |
| US12254352B2 (en) | 2021-10-28 | 2025-03-18 | Servicenow, Inc. | Reduced memory utilization for data analytics procedures |
| US11960353B2 (en) | 2021-11-08 | 2024-04-16 | Servicenow, Inc. | Root cause analysis based on process optimization data |
| US11734381B2 (en) | 2021-12-07 | 2023-08-22 | Servicenow, Inc. | Efficient downloading of related documents |
| US12099567B2 (en) | 2021-12-20 | 2024-09-24 | Servicenow, Inc. | Viewports and sub-pages for web-based user interfaces |
| US12437250B2 (en) | 2021-12-21 | 2025-10-07 | Servicenow, Inc. | Multi-dimensional process mining and analysis |
| US12001502B2 (en) | 2022-01-11 | 2024-06-04 | Servicenow, Inc. | Common fragment caching for web documents |
| US11829233B2 (en) | 2022-01-14 | 2023-11-28 | Servicenow, Inc. | Failure prediction in a computing system based on machine learning applied to alert data |
| US12261904B2 (en) | 2022-01-20 | 2025-03-25 | Servicenow, Inc. | Nested request-response protocol network communications |
| US12481416B2 (en) | 2022-02-01 | 2025-11-25 | Servicenow, Inc. | Progressive refresh of user interface screens |
| US11582317B1 (en) | 2022-02-07 | 2023-02-14 | Servicenow, Inc. | Payload recording and comparison techniques for discovery |
| US11734150B1 (en) | 2022-06-10 | 2023-08-22 | Servicenow, Inc. | Activity tracing through event correlation across multiple software applications |
| US11989538B2 (en) | 2022-06-21 | 2024-05-21 | Servicenow, Inc. | Orchestration for robotic process automation |
| US12231508B2 (en) | 2022-07-12 | 2025-02-18 | Servicenow, Inc. | Rapid error detection through command validation |
| US12056473B2 (en) | 2022-08-01 | 2024-08-06 | Servicenow, Inc. | Low-code / no-code layer for interactive application development |
| US12095634B2 (en) | 2022-08-12 | 2024-09-17 | Servicenow, Inc. | Hybrid request routing system |
| US12500820B2 (en) | 2022-09-20 | 2025-12-16 | Servicenow, Inc. | Smart detection for determination of database accuracy |
| US12039328B2 (en) | 2022-09-30 | 2024-07-16 | Servicenow, Inc. | Configuration items for supporting automations and efficacies thereof |
| US12141048B2 (en) | 2022-10-12 | 2024-11-12 | Servicenow, Inc. | Machine learning model for determining software defect criticality |
| US12072775B2 (en) | 2022-12-07 | 2024-08-27 | Servicenow, Inc. | Centralized configuration and change tracking for a computing platform |
| US12147487B2 (en) | 2022-12-07 | 2024-11-19 | Servicenow, Inc. | Computationally efficient traversal of virtual tables |
| US12487906B2 (en) | 2022-12-22 | 2025-12-02 | Servicenow, Inc. | Discovery and predictive simulation of software-based processes |
| US12536044B2 (en) | 2023-01-10 | 2026-01-27 | Servicenow, Inc. | Efficient cloud-based discovery of computing resources |
| US12192245B2 (en) | 2023-01-23 | 2025-01-07 | Servicenow, Inc. | Control of cloud infrastructure configuration |
| US12299419B2 (en) | 2023-01-26 | 2025-05-13 | Servicenow, Inc. | Unified framework for configuration and deployment of platform intelligence |
| US12499311B2 (en) | 2023-03-03 | 2025-12-16 | Servicenow, Inc. | Language model preprocessing with weighted n-grams |
| US12131168B1 (en) | 2023-04-18 | 2024-10-29 | Servicenow, Inc. | Outcome-oriented automation platform |
| US12222834B2 (en) | 2023-05-24 | 2025-02-11 | Servicenow, Inc. | Discovery troubleshooting based on machine learning |
| US12294581B2 (en) | 2023-06-14 | 2025-05-06 | Servicenow, Inc. | Identifying security vulnerabilities based on access control lists |
| US12437158B2 (en) | 2023-07-18 | 2025-10-07 | Servicenow, Inc. | Method for filtering and semi-automatically labeling training data |
| US12425195B2 (en) | 2023-07-24 | 2025-09-23 | Service Now, Inc. | Client-side sharing of cryptographic keys |
| US12248361B2 (en) | 2023-07-31 | 2025-03-11 | Servicenow, Inc. | Parallelized exception handling for large datasets |
| US12499119B2 (en) | 2023-08-07 | 2025-12-16 | Servicenow, Inc. | Template-based generation of synthetic data sets |
| US12518041B2 (en) | 2023-08-18 | 2026-01-06 | Servicenow, Inc. | Configurable security policy architecture |
| US12474900B2 (en) | 2023-09-08 | 2025-11-18 | Servicenow, Inc. | Interface element configuration and management for application platforms |
| US12362995B2 (en) | 2023-11-06 | 2025-07-15 | Servicenow, Inc. | Reconciliation of partial configuration items |
| US12254014B1 (en) | 2024-02-23 | 2025-03-18 | Servicenow, Inc. | Document creation with guided generative artificial intelligence |
| US12438790B1 (en) | 2024-03-26 | 2025-10-07 | Servicenow, Inc. | Network anomaly detection using clustering |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5029077A (en) * | 1986-01-17 | 1991-07-02 | International Business Machines Corporation | System and method for controlling physical resources allocated to a virtual terminal |
| US4888680A (en) * | 1987-10-14 | 1989-12-19 | Little Blue Limited Partnership | Peripheral device interface and controller |
| JPH0275048A (ja) * | 1988-09-12 | 1990-03-14 | Matsushita Electric Ind Co Ltd | チャンネル接続scsiインタフェース装置 |
| JPH03111959A (ja) * | 1989-09-26 | 1991-05-13 | Omron Corp | 外部デバイス制御装置 |
| US5081577A (en) * | 1989-12-22 | 1992-01-14 | Harris Corporation | State controlled device driver for a real time computer control system |
| US5179666A (en) * | 1990-06-07 | 1993-01-12 | Unisys Corporation | Block oriented peripheral device interface |
-
1991
- 1991-03-26 US US07/675,230 patent/US5265252A/en not_active Expired - Lifetime
-
1992
- 1992-03-15 AR AR92322001A patent/AR246809A1/es active
- 1992-03-16 EP EP92302264A patent/EP0506278B1/en not_active Expired - Lifetime
- 1992-03-16 DE DE69227939T patent/DE69227939T2/de not_active Expired - Lifetime
- 1992-03-17 JP JP4060074A patent/JPH07122863B2/ja not_active Expired - Lifetime
- 1992-03-18 CN CN92101820A patent/CN1025382C/zh not_active Expired - Lifetime
- 1992-03-18 KR KR1019920004411A patent/KR960003413B1/ko not_active Expired - Fee Related
- 1992-03-25 BR BR929201031A patent/BR9201031A/pt not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| US5265252A (en) | 1993-11-23 |
| KR960003413B1 (ko) | 1996-03-13 |
| AR246809A1 (es) | 1994-09-30 |
| EP0506278B1 (en) | 1998-12-23 |
| DE69227939T2 (de) | 1999-07-29 |
| JPH0689253A (ja) | 1994-03-29 |
| CN1025382C (zh) | 1994-07-06 |
| EP0506278A3 (en) | 1994-10-19 |
| KR920018567A (ko) | 1992-10-22 |
| BR9201031A (pt) | 1992-11-24 |
| CN1065346A (zh) | 1992-10-14 |
| EP0506278A2 (en) | 1992-09-30 |
| DE69227939D1 (de) | 1999-02-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07122863B2 (ja) | 汎用のオペレーティング・システム・インターフェースを有するデバイス・ドライバを含むデータ処理システム | |
| CA1116260A (en) | Method and means for path independent device reservation and reconnection in a multi-cpu and shared device access system | |
| US7712104B2 (en) | Multi OS configuration method and computer system | |
| US7613847B2 (en) | Partially virtualizing an I/O device for use by virtual machines | |
| US4787026A (en) | Method to manage coprocessor in a virtual memory virtual machine data processing system | |
| US5721880A (en) | Small computer system emulator for non-local SCSI devices | |
| CN102207886A (zh) | 虚拟机快速仿真辅助 | |
| JPS61190638A (ja) | 仮想計算機のフアイル制御方式 | |
| US5392409A (en) | I/O execution method for a virtual machine system and system therefor | |
| WO2022143714A1 (zh) | 服务器系统、虚拟机创建方法及装置 | |
| US10761859B2 (en) | Information processing system, management device, and method for controlling information processing system | |
| US5146605A (en) | Direct control facility for multiprocessor network | |
| US12511152B2 (en) | System and interrupt handling method | |
| JP2004258840A (ja) | 仮想化されたi/oデバイスをもつ計算機システム | |
| EP4495753A1 (en) | Offloading-card namespace management system and method, and input/output request processing system and method | |
| US20070124365A1 (en) | Method, apparatus and program storage device that provides a user mode device interface | |
| CN117389694B (zh) | 基于virtio-blk技术提升虚拟存储IO性能的方法 | |
| JP2001290665A (ja) | プロセッサシステム | |
| CN119690683B (zh) | 虚拟输入输出设备队列在线管理方法、装置、产品及介质 | |
| US20030014558A1 (en) | Batch interrupts handling device, virtual shared memory and multiple concurrent processing device | |
| CN118331687B (zh) | 用户态半虚拟化数据路径加速方法、设备、集群以及介质 | |
| US7415547B1 (en) | Tracking states of communication between PS/2 hardware and hardware drivers within an extensible firmware interface environment | |
| CA2001298C (en) | Input and output processing system for a virtual computer | |
| JP2864255B2 (ja) | 仮想計算機方式の計算機システム | |
| CN101647003A (zh) | 在仿真处理环境中提供存储器一致性 |