[go: up one dir, main page]

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
Application number
JP4060074A
Other languages
English (en)
Other versions
JPH0689253A (ja
Inventor
フリーマン・リー・ローソン、サード
ガイ・ギル・ソトマイヤー・ジュニア
エドワード・ミッチェル・タグル・ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0689253A publication Critical patent/JPH0689253A/ja
Publication of JPH07122863B2 publication Critical patent/JPH07122863B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program 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ファイル中のコマンドまたは
命令を使って、デバイス・ドライバが導入される。
【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個また
は複数のプログラムが同時に異なる装置を使用できると
いう、多重タスク処理操作を実現する。極めて明白なこ
とであるが、デバイス・ドライバ及びデバイス管理ルー
チンは極めて複雑であり、かつ通常はオペレーティング
・システムに依存する。あるオペレーティング・システ
ム用に作成されたデバイス・ドライバは、大幅な修正を
加えないと別のオペレーティング・システムと一緒には
使用できない。
【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オペレーティング・システムと一緒に使用できるよう
に特に作成されたものであり、他のオペレーティング・
システムと一緒に使用するには、大幅に修正しなければ
ならないことになる。
【0005】
【発明が解決しようとする課題】本発明の一目的は、本
質的な修正を要せずに異なるオペレーティング・システ
ムと一緒に使用できるデバイス・ドライバ・システムを
提供することである。
【0006】本発明の他の目的は、異なるオペレーティ
ング・システムに対して汎用なコアを有する、デバイス
・ドライバ・システムを提供することである。
【0007】本発明の他の目的は、異なるオペレーティ
ング・システム中でSCSI装置を含む様々な異なる入
出力装置を扱うためのデバイス・ドライバ・システムを
提供することである。
【0008】本発明の他の目的は、異なるオペレーティ
ング・システムと一緒に使用でき、なおかつ既存のデバ
イス・ドライバでその用意がない新しいまたは異なる装
置及び特殊機能に対応するための拡張をコアに追加でき
る、汎用デバイス・ドライバ・コアを提供することであ
る。
【0009】本発明の他の目的は、対応する入出力装置
内の物理的状態機械に従ってモデル化された複数の論理
的装置状態機械を含むカード型状態機械を備え、対応す
る論理的状態機械と物理的状態機械の対が対等に対話で
きるようにする、デバイス・ドライバ・コアを提供する
ことにある。
【0010】本発明の他の目的は、システム内の各SC
SIアダプタ・カードに備え、そのカードが使用できる
1組の移送機能を提供する、移送層を備えたデバイス・
ドライバ・コアを提供することである。
【0011】
【課題を解決するための手段】デバイス・ドライバ・シ
ステムは、一般に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’で表したものは、本明細書では「アダプタ」、「ア
ダプタ・カード」、「カード」と呼ぶが、すべて同義で
あることに留意されたい。
【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は新しいオペレーティング・システムと整合
するように交換しなければならなくなる。
【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カーネルに戻るインターフェー
スをも含んでいる。
【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つの移送ルーチンがある。
【0017】OSカーネル11はまた、デバイス・ドラ
イバ・ヘルプ・サービス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に指名する。
【0019】装置待ち行列82は、待ち行列登録機能9
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の右辺
に示した経路を通じて行われる。
【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に
送られる。
【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 )向けに配列され、下記の新規な機能及び利点
をもたらす。
【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もイニシエータ
になることができる。このことは、非同期処理が行える
ことを暗示している。
【0024】このような状態機械の対話は、いくつかの
重要な機能及び利点をもたらす。同期装置(すなわち、
ディスク、テープ)と非同期装置(すなわち、LANそ
の他の通信装置)を同じバスとアダプタの組合せに接続
することができる。この状態機械の対話により、同期プ
ロセッサによって駆動される装置(すなわちディスク)
と非同期的に駆動される装置(通信装置)との間に対称
的な関係が成立する。未着割込み追跡は、同期装置につ
いては簡単になる。対応する状態機械においては、タイ
ミングが調整された伝送が可能であった。このような伝
送により、通信装置により多くのバッファをいつ割り振
る必要があるかという問題の解決が可能になる。対称的
な状態のモデル化により、内部装置が外部キャッシュの
状態を管理できるようになる。これらの機能の多くが可
能なのは、チャネル・マネージャのすべてのレベルが装
置特有のコードで拡張可能だからである。標準のコード
が使用でき、既存のサブシステム中のコードでカバーさ
れない装置領域についてだけ新しいコードを作成し開発
すればよい。
【0025】各CSM内にカード・データ構造112が
含まれるが、その細部は、関連する装置の細部に応じて
機械ごとに異なる。各カード・データ構造は、下記の情
報フィールドを含んでいる。
【0026】フィールド 情報 1 カード識別子情報 − 特定のアダプタ・
カードを記述するすべての情報、すなわち、入出力ポー
ト、メモリにマップされたアドレスなど。 2 エラー情報 − エラーが発生したときに
エラー・コードを記憶する場所。 3 カード状態 − カードの現状態、すなわ
ち未初期設定、不在、リセット、エラー回復手順(ER
P)、初期設定中、使用中、破壊を示す。 4 フラグ − カード用コードの挙動の一部
を修正するために使用される。大抵はカードが初期設定
されたときにセットされる。 5 装置状態ポインタ − 装置状態アレイを
指す。 6 移送機能ポインタ − カード用の移送機
能を指す。 7 作業待ち行列 − カードが実行すべき、
どの装置のためのものでもない作業の待ち行列(装置入
出力要求はこの待ち行列には置かれない)。
【0027】あるカード及びそれに接続された装置に関
するすべての活動状態情報は、カード状態データ構造1
12の外部に維持される。こうしたデータ構造は構造の
アレイとして使用される。カード番号は、特定のカード
用の個別構造にアクセスするため、アレイへのインデッ
クスとして使用される。規約により、PS/2コンピュ
ータ上では、特定のカードを差し込むスロットが物理的
カード番号として使用される。
【0028】移送機能114は、移送層内に設けられ、
リンクされたリストとして記憶される。アダプタの各タ
イプごとに1つの移送機能114がある。移送機能に含
まれるデータ及びルーチンには、リスト内の次の移送機
能を指すポインタ、カード識別子、存在テスト・ルーチ
ン、カード初期設定ルーチン、割込みルーチン、コマン
ド出力ルーチン、リセット・ルーチン、コマンド・ブロ
ック割振りルーチン、末端ブロック解放ルーチン、コマ
ンド・ブロック作成ルーチン、カード作業待ち行列処理
ルーチン、状況ブロック獲得ルーチン、コマンド・エラ
ー処理ルーチン、入出力再開ルーチン、コマンド・ブロ
ック修正ルーチン、エラー報告ルーチンがある。
【0029】システム10を初期設定するとき、初期設
定中のカードと合致するものが見つかるまで各移送機能
が走査される。合致を見つけるには、カード識別子フィ
ールドの組合せを使い、存在テスト・ルーチンを呼び出
す。合致が見つかったとき、その特定の移送機能を指す
ポインタが、当該のカード状態構造中に導かれる。これ
により、特定のカード用の移送機能に迅速にアクセスで
きるようになる。システム内に同じタイプのアダプタ・
カードが複数ある場合は、複数のカード状態構造が特定
の移送機能を指すこともあり得る。
【0030】複数のカード状態構造112が特定の移送
機能を指すことがあり得るので、各カードに関する詳細
は、カード識別子の一部としてカード状態構造中に保持
される。そのカード識別子フィールド中の移送機能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が形成されたことになる。
【図面の簡単な説明】
【図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)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ガイ・ギル・ソトマイヤー・ジュニア アメリカ合衆国33415、フロリダ州ウェス ト・パーム・ビーチ、シャーウッド・グレ ン・ウェイ 6082番地 7号 (72)発明者 エドワード・ミッチェル・タグル・ジュニ ア アメリカ合衆国33462、フロリダ州ランタ ナ、ビーチ・カーヴ・ロード 422番地 (56)参考文献 特開 平3−111959(JP,A) 特開 平2−75048(JP,A)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】適用業務プログラム及びオペレーティング
    ・システムを記憶するための記憶システムと、上記プロ
    グラムを実行するためのプロセッサと、複数の入出力装
    置とを有するデータ処理システムにおいて、 上記オペレーティング・システムに特有デバイス・ドラ
    イバ・インターフェースを有する上記オペレーティング
    ・システムと、 複数の異なるオペレーティング・システムに汎用のオペ
    レーティング・システム・インターフェースを有し、か
    つ上記入出力装置の動作を制御するために上記入出力装
    置に接続された複数の装置特有デバイス・ドライバを有
    するデバイス・ドライバ・コアと、 上記オペレーティング・システムと上記デバイス・ドラ
    イバ・コアとの間に機能的に層として置かれた、上記オ
    ペレーティング・システムの上記特有デバイス・ドライ
    バ・インターフェースと上記デバイス・ドライバ・コア
    の上記オペレーティング・システム・インターフェース
    の間での入出力要求及び応答を変換し、それによって上
    記オペレーティング・システムとともに特定の動作をす
    るように上記デバイス・ドライバ・コアを適合させる変
    換機構とを含む、改良されたデータ処理システム。
  2. 【請求項2】上記デバイス・ドライバ・コアが、 上記オペレーティング・システムから入出力要求を受け
    取り、上記要求を待ち行列に登録し、上記要求を上記入
    出力装置に特有のコマンドに変換する働きをするチャネ
    ル・マネージャと、 上記チャネル・マネージャと上記入出力装置の間でイン
    ターフェースする移送層とを含むことを特徴とする、請
    求項1に記載のデータ処理システム。
  3. 【請求項3】上記入出力装置が、複数の物理的装置状態
    機械(PDSM)を備え、 上記チャネル・マネージャが、それぞれ上記PDSMの
    1つに対応し、該PDSMと対になって、各対の各状態
    機械間で互いに通信し合う、複数の論理的装置状態機械
    (LDSM)を含むことを特徴とする、請求項2に記載
    のデータ処理システム。
  4. 【請求項4】上記チャネル・マネージャが、 入出力要求を一時的に記憶するための、各入出力装置ご
    とに1つずつ複数の要求待ち行列と、 入出力要求を受け取り、上記要求を、各要求がどの装置
    に対するものかに応じて上記要求待ち行列の1つに指名
    するための、要求ディスパッチャとを含むことを特徴と
    する、請求項2に記載のデータ処理システム。
  5. 【請求項5】上記チャネル・マネージャがさらに、 上記入出力装置の動作を制御するための、複数の論理的
    状態機械と、 上記要求待ち行列から入出力要求を受け取り、各要求を
    特有入出力コマンドに変換した後、上記状態機械の1つ
    に送って、上記入出力装置の1つを上記特有入出力コマ
    ンドに従って動作させる働きをする、コマンド・イニシ
    エータとを含むことを特徴とする、請求項4に記載のデ
    ータ処理システム。
JP4060074A 1991-03-26 1992-03-17 汎用のオペレーティング・システム・インターフェースを有するデバイス・ドライバを含むデータ処理システム Expired - Lifetime JPH07122863B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 在仿真处理环境中提供存储器一致性