JPH05265919A - 除去可能なコンピュータ装置資源の装置ドライバをダイナミックに構成する方法および装置 - Google Patents
除去可能なコンピュータ装置資源の装置ドライバをダイナミックに構成する方法および装置Info
- Publication number
- JPH05265919A JPH05265919A JP4358809A JP35880992A JPH05265919A JP H05265919 A JPH05265919 A JP H05265919A JP 4358809 A JP4358809 A JP 4358809A JP 35880992 A JP35880992 A JP 35880992A JP H05265919 A JPH05265919 A JP H05265919A
- Authority
- JP
- Japan
- Prior art keywords
- device driver
- card
- stub
- block
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
- G06F9/4415—Self describing peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 ブートストラップ初期化の前、またはそれに
続いてシステム資源を付加または除去できる。 【構成】 各機能カードのカード・メモリ区域は、1)
フル装置ドライバ部と、2)スタブ装置ドライバ部とを
備える。機能カードが挿入されると、装置ドライバ・ス
タブ・コード画像がカード・メモリ区域から読出され、
コンピュータ装置メモリの区域へ転送される。それか
ら、装置ドライバ・スタブ・コードはランダム・アクセ
ス・メモリ102からプロセッサ101により実行され
る。フル装置ドライバ・コードはランダム・アクセス・
メモリ102へ転送されずに実行される。実行される
と、装置ドライバ・スタブは、フル装置ドライバへのマ
ッピングを許すことにより、フル・カード常駐装置ドラ
イバへアクセスすることを可能にする。
続いてシステム資源を付加または除去できる。 【構成】 各機能カードのカード・メモリ区域は、1)
フル装置ドライバ部と、2)スタブ装置ドライバ部とを
備える。機能カードが挿入されると、装置ドライバ・ス
タブ・コード画像がカード・メモリ区域から読出され、
コンピュータ装置メモリの区域へ転送される。それか
ら、装置ドライバ・スタブ・コードはランダム・アクセ
ス・メモリ102からプロセッサ101により実行され
る。フル装置ドライバ・コードはランダム・アクセス・
メモリ102へ転送されずに実行される。実行される
と、装置ドライバ・スタブは、フル装置ドライバへのマ
ッピングを許すことにより、フル・カード常駐装置ドラ
イバへアクセスすることを可能にする。
Description
【0001】
【産業上の利用分野】本発明はコンピュータ装置の分野
に関するものである。更に詳しくいえば、本発明は除去
可能なシステム資源およびそれに関連する装置ドライバ
の制御のためのインターフェイスを支持するコンピュー
タ装置に関するものである。
に関するものである。更に詳しくいえば、本発明は除去
可能なシステム資源およびそれに関連する装置ドライバ
の制御のためのインターフェイスを支持するコンピュー
タ装置に関するものである。
【0002】
【従来の技術】コンピュータ装置への電力供給を停止す
ることなしに、またはオペレーティング・システム・プ
ログラム論理をリセットまたはブートストラップ初期化
することを必要とすることなしに、ダイナミックに構成
できるコンピュータ装置を設計および構築することがま
すます重要になってきている。ダイナミックな構成は、
コンピュータ装置が動作している間に、システム資源ま
たは特殊な機能性能を付加し、または除去する能力を含
む。それらのシステム資源および特殊な機能は拡張メモ
リボード、並列または直列の入力/出力(I/O)ポー
ト、読出し専用メモリ(ROM)またはフラッシュ・メ
モリ拡張ボード、コンピュータ・ネットワーク・インタ
ーフェイス・カード、モデム・カード、スマート・カー
ド、またはその他のシステム資源あるいは特殊機能機構
を含む。
ることなしに、またはオペレーティング・システム・プ
ログラム論理をリセットまたはブートストラップ初期化
することを必要とすることなしに、ダイナミックに構成
できるコンピュータ装置を設計および構築することがま
すます重要になってきている。ダイナミックな構成は、
コンピュータ装置が動作している間に、システム資源ま
たは特殊な機能性能を付加し、または除去する能力を含
む。それらのシステム資源および特殊な機能は拡張メモ
リボード、並列または直列の入力/出力(I/O)ポー
ト、読出し専用メモリ(ROM)またはフラッシュ・メ
モリ拡張ボード、コンピュータ・ネットワーク・インタ
ーフェイス・カード、モデム・カード、スマート・カー
ド、またはその他のシステム資源あるいは特殊機能機構
を含む。
【0003】そのような除去可能なシステム資源および
特殊機能は、従来技術においては、アメリカ合衆国カリ
フォルニア州サニーベイル(sunnyvale)所在
の、パーソナル・コンピュータ・メモリ・カード協会
(Personal Computer Memory
Card Association)(PCMCI
A)、レリース2.0規格指定の除去可能な電子的機能
カードを用いて、従来技術においてしばしば実現されて
いる。それらのPCMCIA機能カードは、取外し可能
な多数の導体表面を含む薄いハウジングの内部に電子マ
イクロ回路を全体として有する。それらの導体表面によ
りその機能カードをコンピュータ・ハウジングのスロッ
ト内部に除去可能に挿入できる。挿入されたら、その機
能カードはコンピュータ装置のプロセッサをアクセスで
き、かつそのプロセッサによりそのカードを使用でき
る。機能カードを使用することにより、コンピュータの
販売者により提供された各種の機能カードから特定の機
能または資源を選択できる。このようにして、コンピュ
ータ・ユーザーは、不必要なコンピュータ資源または不
必要なコンピュータ装置機能を購入することを求められ
ることなしに希望の機能レベルを達成できる。特定の用
途のためのコンピュータ装置の総費用はそれによって最
適にされる。除去可能な機能カードを使用することは、
スペースの制約のためにシステム資源の最適化に対する
需要を増大する携帯型コンピュータまたはラップトップ
・コンピュータのためにはとくに重要である。PCMC
IA規格の下におけるハードウェア装置の設計と使用は
この技術において周知である。除去可能なシステム資源
の別の実現も可能であることは当業者には明らかであ
る。
特殊機能は、従来技術においては、アメリカ合衆国カリ
フォルニア州サニーベイル(sunnyvale)所在
の、パーソナル・コンピュータ・メモリ・カード協会
(Personal Computer Memory
Card Association)(PCMCI
A)、レリース2.0規格指定の除去可能な電子的機能
カードを用いて、従来技術においてしばしば実現されて
いる。それらのPCMCIA機能カードは、取外し可能
な多数の導体表面を含む薄いハウジングの内部に電子マ
イクロ回路を全体として有する。それらの導体表面によ
りその機能カードをコンピュータ・ハウジングのスロッ
ト内部に除去可能に挿入できる。挿入されたら、その機
能カードはコンピュータ装置のプロセッサをアクセスで
き、かつそのプロセッサによりそのカードを使用でき
る。機能カードを使用することにより、コンピュータの
販売者により提供された各種の機能カードから特定の機
能または資源を選択できる。このようにして、コンピュ
ータ・ユーザーは、不必要なコンピュータ資源または不
必要なコンピュータ装置機能を購入することを求められ
ることなしに希望の機能レベルを達成できる。特定の用
途のためのコンピュータ装置の総費用はそれによって最
適にされる。除去可能な機能カードを使用することは、
スペースの制約のためにシステム資源の最適化に対する
需要を増大する携帯型コンピュータまたはラップトップ
・コンピュータのためにはとくに重要である。PCMC
IA規格の下におけるハードウェア装置の設計と使用は
この技術において周知である。除去可能なシステム資源
の別の実現も可能であることは当業者には明らかであ
る。
【0004】ほぼ全てのコンピュータ装置はある種のオ
ペレーティング・システムすなわちソフトウェア処理論
理で動作する。コンピュータ装置においてオペレーティ
ング・システムを使用することは周知である。オペレー
ティング・システムは情報の処理と、種々のシステム資
源の間の情報の転送とを管理する。それらの資源を管理
するための1つの周知の技術は装置ドライバを用いるこ
とである。装置ドライバというのは、コンピュータ装置
の特定の資源の低レベル構成部材すなわち装置に特有の
構成部材を制御するための処理論理を含むソフトウェア
・モジュールである。たとえば、装置ドライバはコンピ
ュータ装置へ結合されている磁気ディスク・ドライブ装
置を制御するために使用される。この例においては、装
置ドライバは種々のハードウェアの特定のレジスタ、ラ
ッチ、信号または磁気ディスクドライブ装置のその他の
部材を制御する。同様に、直列または並列の入力/出力
(I/O)ポート、モデム装置、コンピュータ・ネット
ワーク・インターフェイス装置、またはメモリ拡張ボー
ドが装置ドライバにより制御される。
ペレーティング・システムすなわちソフトウェア処理論
理で動作する。コンピュータ装置においてオペレーティ
ング・システムを使用することは周知である。オペレー
ティング・システムは情報の処理と、種々のシステム資
源の間の情報の転送とを管理する。それらの資源を管理
するための1つの周知の技術は装置ドライバを用いるこ
とである。装置ドライバというのは、コンピュータ装置
の特定の資源の低レベル構成部材すなわち装置に特有の
構成部材を制御するための処理論理を含むソフトウェア
・モジュールである。たとえば、装置ドライバはコンピ
ュータ装置へ結合されている磁気ディスク・ドライブ装
置を制御するために使用される。この例においては、装
置ドライバは種々のハードウェアの特定のレジスタ、ラ
ッチ、信号または磁気ディスクドライブ装置のその他の
部材を制御する。同様に、直列または並列の入力/出力
(I/O)ポート、モデム装置、コンピュータ・ネット
ワーク・インターフェイス装置、またはメモリ拡張ボー
ドが装置ドライバにより制御される。
【0005】通常のコンピュータ装置においては、コン
ピュータ装置のブートストラップ初期化中にランダム・
アクセス・メモリ(RAM)へ装置ドライバがロードさ
れる。ランダム・アクセス・メモリへ適切に割当てるた
めに、多くの従来のコンピュータ装置は装置ドライバを
初期化時にロードすることを必要とする。装置ドライバ
により制御される装置の複雑さに応じて、装置ドライバ
自体を比較的小型または、ランダム・アクセス・メモリ
の何千バイトも消費する非常に大型の装置ドライバとす
ることができる。したがって、多くの従来のコンピュー
タ装置は資源のフルシステム構成をブートストラップ初
期化時に導入し、利用できるようにすることを必要とす
る。その後で、システム資源またはインターフェイスを
装置へ付加し、または装置かた除去するものとすると、
新たに導入された資源をアクセスできないか、今は利用
できないシステム資源に対して誤ってアクセスするよう
な結果になる。従来の別のコンピュータ装置は、新しい
システム資源をコンピュータ装置へ付加したり、コンピ
ュータ装置から資源を除去する時は、電力供給を断たな
ければならない。更に別のコンピュータ装置は、システ
ム資源の新しい構成をアクセスするために、少なくとも
新たにブートストラップ・ロードせねばならない。この
ように、従来のコンピュータ装置はシステム資源の新し
い構成へ再構成することが容易にはできない。
ピュータ装置のブートストラップ初期化中にランダム・
アクセス・メモリ(RAM)へ装置ドライバがロードさ
れる。ランダム・アクセス・メモリへ適切に割当てるた
めに、多くの従来のコンピュータ装置は装置ドライバを
初期化時にロードすることを必要とする。装置ドライバ
により制御される装置の複雑さに応じて、装置ドライバ
自体を比較的小型または、ランダム・アクセス・メモリ
の何千バイトも消費する非常に大型の装置ドライバとす
ることができる。したがって、多くの従来のコンピュー
タ装置は資源のフルシステム構成をブートストラップ初
期化時に導入し、利用できるようにすることを必要とす
る。その後で、システム資源またはインターフェイスを
装置へ付加し、または装置かた除去するものとすると、
新たに導入された資源をアクセスできないか、今は利用
できないシステム資源に対して誤ってアクセスするよう
な結果になる。従来の別のコンピュータ装置は、新しい
システム資源をコンピュータ装置へ付加したり、コンピ
ュータ装置から資源を除去する時は、電力供給を断たな
ければならない。更に別のコンピュータ装置は、システ
ム資源の新しい構成をアクセスするために、少なくとも
新たにブートストラップ・ロードせねばならない。この
ように、従来のコンピュータ装置はシステム資源の新し
い構成へ再構成することが容易にはできない。
【0006】従来のコンピュータ装置は初期化時に資源
のフルシステム構成を行うことを必要とするから、コン
ピュータ装置へ電力が供給されている間に恐らく使用で
きるいずれかのシステム資源または全てのシステム資源
を、初期化作業中に導入する傾向が存在する。この傾向
によって、計算セッション中は決して用いられない資源
が導入されることになる。使用されない資源のロードお
よび導入によって、使用されない装置ドライバにより要
求されるランダム・アクセス・メモリ(RAM)スペー
スのために、システムのブートストラップ初期化するた
めの時間が長くなり、利用できるRAMが減少する。し
たがって、計算セッション中に実際に必要とされる装置
ドライバのみコンピュータ装置に導入することが重要で
ある。ある場合には、ランダム・アクセス・メモリの記
憶の制約のために、必要な装置ドライバの全てをロード
することが可能ではないことがある。
のフルシステム構成を行うことを必要とするから、コン
ピュータ装置へ電力が供給されている間に恐らく使用で
きるいずれかのシステム資源または全てのシステム資源
を、初期化作業中に導入する傾向が存在する。この傾向
によって、計算セッション中は決して用いられない資源
が導入されることになる。使用されない資源のロードお
よび導入によって、使用されない装置ドライバにより要
求されるランダム・アクセス・メモリ(RAM)スペー
スのために、システムのブートストラップ初期化するた
めの時間が長くなり、利用できるRAMが減少する。し
たがって、計算セッション中に実際に必要とされる装置
ドライバのみコンピュータ装置に導入することが重要で
ある。ある場合には、ランダム・アクセス・メモリの記
憶の制約のために、必要な装置ドライバの全てをロード
することが可能ではないことがある。
【0007】従来のあるコンピュータ装置は除去可能な
電子的機能カードとインターフェイスする手段を提供す
る。上記欠点を小さくするために、それらのコンピュー
タ装置のあるものは関連する装置ドライバを除去可能な
機能カード自体に格納する。このようにして、コンピュ
ータ装置内のランダム・アクセス・メモリ空間は装置ド
ライバの記憶のために割当てる必要はない。更に、初期
化中の処理時間は装置ドライバをランダム・アクセス・
メモリにロードせねばならないことにより消費されるこ
とはない。除去可能な機能カードの装置ドライバを構成
するシステムは、コンピュータ装置内のメモリ割当て要
求を最適にするという利点を有する。
電子的機能カードとインターフェイスする手段を提供す
る。上記欠点を小さくするために、それらのコンピュー
タ装置のあるものは関連する装置ドライバを除去可能な
機能カード自体に格納する。このようにして、コンピュ
ータ装置内のランダム・アクセス・メモリ空間は装置ド
ライバの記憶のために割当てる必要はない。更に、初期
化中の処理時間は装置ドライバをランダム・アクセス・
メモリにロードせねばならないことにより消費されるこ
とはない。除去可能な機能カードの装置ドライバを構成
するシステムは、コンピュータ装置内のメモリ割当て要
求を最適にするという利点を有する。
【0008】しかし、除去可能な機能カードの装置ドラ
イバを構成するシステムには、いくつかの大きな欠点が
ある。最初に、機能カードがコンピュータ装置から除去
されたとすると、機能カードの動作を制御する装置ドラ
イバはコンピュータ装置がアクセスできなくなる。ほと
んどの場合に、コンピュータ装置は、機能カードの除去
前に装置の動作を適切に終了させるために、装置ドライ
バをアクセスすることを必要とする。典型的には、機能
カードの除去前に装置ドライバをアクセスするために十
分な時間を持たない。したがって、不適切に終らされた
システム資源の結果としてシステム誤差が生ずることが
ある。
イバを構成するシステムには、いくつかの大きな欠点が
ある。最初に、機能カードがコンピュータ装置から除去
されたとすると、機能カードの動作を制御する装置ドラ
イバはコンピュータ装置がアクセスできなくなる。ほと
んどの場合に、コンピュータ装置は、機能カードの除去
前に装置の動作を適切に終了させるために、装置ドライ
バをアクセスすることを必要とする。典型的には、機能
カードの除去前に装置ドライバをアクセスするために十
分な時間を持たない。したがって、不適切に終らされた
システム資源の結果としてシステム誤差が生ずることが
ある。
【0009】除去可能な電子機能カードへインターフェ
イスするための手段を有する別のコンピュータ装置はコ
ンピュータ装置の初期化動作の後の時間中の機能カード
の挿入または除去に応答するための非常に限られた性能
を提供する。ブートストラップ初期化の後では、あるコ
ンピュータ装置はコンピュータ装置へ接続されているシ
ステム資源を認識しない。別のコンピュータ装置は、初
期化の終了後にシステム資源が除去されるとすると、コ
ンピュータ装置の動作を停止すなわち凍結する。更に別
のコンピュータ装置は、システム資源の新しい構成を希
望するならば、システムへの電力供給を断つか、ブート
ストラップ初期化動作を再開することを要する。したが
って、コンピュータ装置内のシステム資源をダイナミッ
クに構成するためのより良い手段を必要とする。
イスするための手段を有する別のコンピュータ装置はコ
ンピュータ装置の初期化動作の後の時間中の機能カード
の挿入または除去に応答するための非常に限られた性能
を提供する。ブートストラップ初期化の後では、あるコ
ンピュータ装置はコンピュータ装置へ接続されているシ
ステム資源を認識しない。別のコンピュータ装置は、初
期化の終了後にシステム資源が除去されるとすると、コ
ンピュータ装置の動作を停止すなわち凍結する。更に別
のコンピュータ装置は、システム資源の新しい構成を希
望するならば、システムへの電力供給を断つか、ブート
ストラップ初期化動作を再開することを要する。したが
って、コンピュータ装置内のシステム資源をダイナミッ
クに構成するためのより良い手段を必要とする。
【0010】
【発明が解決しようとする課題】したがって、本発明の
目的は、コンピュータ装置のブートストラップ初期化の
前、またはそれに続いてシステム資源を付加または除去
できるコンピュータ装置を得ることである。本発明の別
の目的は、コンピュータ装置への電力供給を断つことな
しにシステム資源を再構成できるコンピュータ装置を得
ることである。本発明の別の目的は、ブートストラップ
初期化を再開することなしにシステム資源を再構成でき
るコンピュータ装置を得ることである。本発明の別の目
的は、使用されないシステム資源装置ドライバをコンピ
ュータ装置のランダム・アクセス・メモリへロードする
必要がないコンピュータ装置を得ることである。本発明
の別の目的は、ブートストラップ初期化時にフルシステ
ム構成を必ずしも知ることがないことがあるコンピュー
タ装置を得ることである。本発明の更に別の目的は、コ
ンピュータ装置の動作中の任意の時刻に挿入でき、また
は除去できる除去可能な電子機能カードを受けるための
インターフェイスを有するコンピュータ装置を得ること
である。
目的は、コンピュータ装置のブートストラップ初期化の
前、またはそれに続いてシステム資源を付加または除去
できるコンピュータ装置を得ることである。本発明の別
の目的は、コンピュータ装置への電力供給を断つことな
しにシステム資源を再構成できるコンピュータ装置を得
ることである。本発明の別の目的は、ブートストラップ
初期化を再開することなしにシステム資源を再構成でき
るコンピュータ装置を得ることである。本発明の別の目
的は、使用されないシステム資源装置ドライバをコンピ
ュータ装置のランダム・アクセス・メモリへロードする
必要がないコンピュータ装置を得ることである。本発明
の別の目的は、ブートストラップ初期化時にフルシステ
ム構成を必ずしも知ることがないことがあるコンピュー
タ装置を得ることである。本発明の更に別の目的は、コ
ンピュータ装置の動作中の任意の時刻に挿入でき、また
は除去できる除去可能な電子機能カードを受けるための
インターフェイスを有するコンピュータ装置を得ること
である。
【0011】
【課題を解決するための手段】本発明は除去可能なシス
テム資源のためのダイナミックな装置ドライバ構成を有
するコンピュータ装置である。このコンピュータ装置は
プロセッサと、システム・メモリと、除去可能なシステ
ム資源を受けるためのインターフェイスとを備える。そ
れらのシステム資源と特殊な機能は拡張メモリボード
と、直列または並列の入力/出力(I/O)ポートと、
読出し専用メモリ(ROM)またはフラッシュ・メモリ
拡張ボードと、コンピュータ・ネットワーク・インター
フェイス・カードと、モデムカードと、その他の除去可
能なシステム資源または特殊な機能機構(一般に機能カ
ードと名づけられている)とを含む。機能カードはカー
ド・メモリ区域を含む。カード・メモリ区域は残りのカ
ードに特有の機能を制御するためのソフトウェアを含
む。データと処理論理を含むカード・メモリ区域内のそ
のソフトウェアは、機能カードを制御するための装置ド
ライバを含む。
テム資源のためのダイナミックな装置ドライバ構成を有
するコンピュータ装置である。このコンピュータ装置は
プロセッサと、システム・メモリと、除去可能なシステ
ム資源を受けるためのインターフェイスとを備える。そ
れらのシステム資源と特殊な機能は拡張メモリボード
と、直列または並列の入力/出力(I/O)ポートと、
読出し専用メモリ(ROM)またはフラッシュ・メモリ
拡張ボードと、コンピュータ・ネットワーク・インター
フェイス・カードと、モデムカードと、その他の除去可
能なシステム資源または特殊な機能機構(一般に機能カ
ードと名づけられている)とを含む。機能カードはカー
ド・メモリ区域を含む。カード・メモリ区域は残りのカ
ードに特有の機能を制御するためのソフトウェアを含
む。データと処理論理を含むカード・メモリ区域内のそ
のソフトウェアは、機能カードを制御するための装置ド
ライバを含む。
【0012】従来技術において遭遇する諸問題を避ける
ために、本発明の機能カード装置ドライバは、1)フル
装置ドライバの部分と、2)スタブ装置ドライバの部分
との2つの部分に分離される。フル装置ドライバは機能
カードの各機能およびあらゆる機能を制御するために必
要な全ての装置ドライバ機能を提供する。装置ドライバ
・スタブはフル装置ドライバに関連する処理論理の小さ
くてコンパクトな部分であるが、フル装置ドライバをコ
ンピュータ装置内に配置されているオペレーティング・
システム・ソフトウェアへリンクする。
ために、本発明の機能カード装置ドライバは、1)フル
装置ドライバの部分と、2)スタブ装置ドライバの部分
との2つの部分に分離される。フル装置ドライバは機能
カードの各機能およびあらゆる機能を制御するために必
要な全ての装置ドライバ機能を提供する。装置ドライバ
・スタブはフル装置ドライバに関連する処理論理の小さ
くてコンパクトな部分であるが、フル装置ドライバをコ
ンピュータ装置内に配置されているオペレーティング・
システム・ソフトウェアへリンクする。
【0013】カード・メモリ区域は装置ドライバ情報ブ
ロック(DDIB)ヘッダと、装置ドライバ・スタブ・
コード画像と、フル装置ドライバ・コードとを備える。
装置ドライバ情報ブロック・ヘッダは装置ドライバを他
の装置ドライバおよびコンピュー装置処理論理へリンク
するために用いられる。装置ドライバ・スタブ・コード
画像は処理論理のコンパクト部と、コンピュータ装置へ
機能カードが挿入された時に、コンピュータ装置メモリ
へコピーされるデータとを備える。
ロック(DDIB)ヘッダと、装置ドライバ・スタブ・
コード画像と、フル装置ドライバ・コードとを備える。
装置ドライバ情報ブロック・ヘッダは装置ドライバを他
の装置ドライバおよびコンピュー装置処理論理へリンク
するために用いられる。装置ドライバ・スタブ・コード
画像は処理論理のコンパクト部と、コンピュータ装置へ
機能カードが挿入された時に、コンピュータ装置メモリ
へコピーされるデータとを備える。
【0014】コンピュータ装置へ機能カードが挿入され
ると、装置ドライバ・スタブ・コード画像がカード・メ
モリ区域から読出され、コンピュータ装置メモリの区域
へ変換される。それから装置ドライバ・スタブ・コード
は、コンピュータ装置のランダム・アクセス・メモリか
らコンピュータ装置のプロセッサにより実行される。こ
れとは逆に、フル装置ドライバ・コードはコンピュータ
装置のランダム・アクセス・メモリへは変換されない。
フル装置ドライバはカード上にあるまま実行される。実
行されると、装置ドライバ・スタブはフルカードに存在
する装置ドライバをアクセスすることを可能にし、フル
装置ドライバへのメモリ・マッピングを可能にする。次
にフル装置ドライバをプロセッサにより作動させること
ができる。
ると、装置ドライバ・スタブ・コード画像がカード・メ
モリ区域から読出され、コンピュータ装置メモリの区域
へ変換される。それから装置ドライバ・スタブ・コード
は、コンピュータ装置のランダム・アクセス・メモリか
らコンピュータ装置のプロセッサにより実行される。こ
れとは逆に、フル装置ドライバ・コードはコンピュータ
装置のランダム・アクセス・メモリへは変換されない。
フル装置ドライバはカード上にあるまま実行される。実
行されると、装置ドライバ・スタブはフルカードに存在
する装置ドライバをアクセスすることを可能にし、フル
装置ドライバへのメモリ・マッピングを可能にする。次
にフル装置ドライバをプロセッサにより作動させること
ができる。
【0015】DDIBヘッダはリンクされているリスト
中のカード装置ドライバを他の装置ドライバと、コンピ
ュータ装置内で実行しているオペレーティング・システ
ム論理へリンクするための情報セットを備える。リンク
されているリストを調べることにより、特定の装置ドラ
イバを配置できる。もしそうであるならば、装置ドライ
バ・スタブをコンピュータ装置・メモリへコピーする動
作が起きることが阻止される。カードが挿入されると、
カード挿入フラッグがセットされて、除去可能な資源が
コンピュータ装置へ結合されていることを示す。
中のカード装置ドライバを他の装置ドライバと、コンピ
ュータ装置内で実行しているオペレーティング・システ
ム論理へリンクするための情報セットを備える。リンク
されているリストを調べることにより、特定の装置ドラ
イバを配置できる。もしそうであるならば、装置ドライ
バ・スタブをコンピュータ装置・メモリへコピーする動
作が起きることが阻止される。カードが挿入されると、
カード挿入フラッグがセットされて、除去可能な資源が
コンピュータ装置へ結合されていることを示す。
【0016】カードがコンピュータ装置から除去される
と、除去されたカードに関連する全ての装置ドライバ・
スタブを見つけるために、装置ドライバ・スタブのリン
クされているリストが調べられる。各関連する装置ドラ
イバ・スタブが実行される。装置ドライバ・スタブは除
去されたカードへのメモリ・マッピングを許さないこと
により、装置ドライバ・スタブは除去されたカードに対
するアクセスを不能にする。装置ドライバ・スタブは装
置ドライバ・スタブのリンクされているリストからリン
クを解かれ、カード挿入フラッグがリセットされて、除
去可能なシステム資源がコンピュータ装置から切離され
たことを示す。
と、除去されたカードに関連する全ての装置ドライバ・
スタブを見つけるために、装置ドライバ・スタブのリン
クされているリストが調べられる。各関連する装置ドラ
イバ・スタブが実行される。装置ドライバ・スタブは除
去されたカードへのメモリ・マッピングを許さないこと
により、装置ドライバ・スタブは除去されたカードに対
するアクセスを不能にする。装置ドライバ・スタブは装
置ドライバ・スタブのリンクされているリストからリン
クを解かれ、カード挿入フラッグがリセットされて、除
去可能なシステム資源がコンピュータ装置から切離され
たことを示す。
【0017】
【実施例】本発明は、除去可能なシステム資源の装置ド
ライバをダイナミックに構成するための方法と手段を有
するコンピュータ装置である。以下の説明においては、
本発明を完全に理解できるようにするために、数多くの
特定の詳細について述べる。しかし、それらの特定の詳
細なしに本発明を実施できることが当業者には明らかで
あろう。他の場合には、本発明を不必要にあいまいにし
ないようにするために、周知の構造、周知の回路、およ
びインターフェイスは詳細には説明しなかった。
ライバをダイナミックに構成するための方法と手段を有
するコンピュータ装置である。以下の説明においては、
本発明を完全に理解できるようにするために、数多くの
特定の詳細について述べる。しかし、それらの特定の詳
細なしに本発明を実施できることが当業者には明らかで
あろう。他の場合には、本発明を不必要にあいまいにし
ないようにするために、周知の構造、周知の回路、およ
びインターフェイスは詳細には説明しなかった。
【0018】また、本発明を含むコンピュータ装置が示
されている図1を参照する。しかし、別のコンピュータ
・アーキテクチャを採用できることも当業者には明らか
であろう。一般に、図1に示されているそのようなコン
ピュータ装置は情報を通信するためのバス100と、こ
のバス100へ結合され、情報を処理するプロセッサ1
01と、情報とプロセッサ101への命令とを記憶する
ためのランダム・アクセス・メモリ102とを備える。
本発明の処理論理はランダム・アクセス・メモリ102
のような装置に典型的に記憶され、プロセッサ101に
より実行される。また、希望によっては、典型的なコン
ピュータ装置は、バス100へ結合された読出し専用メ
モリ103と、情報とコマンド選択をプロセッサ101
と通信するためにバス100へ結合され、英数字入力装
置またはカーソル入力装置のような入力装置104と、
情報をコンピュータ・ユーザーへ表示するためのビデオ
表示装置または液晶表示装置のような表示装置105
と、情報と命令を記憶するためにバス100へ結合され
る、磁気ディスクおよびディスクドライブのようなデー
タ記憶装置106と、情報をコンピュータ装置の外部の
宛先へ通信するためにバス100へ結合される、プリン
タまたはファクシミリのような出力装置107と、電子
回路カードをバス100へ電気的および除去可能に結合
するための除去可能な電子機能カード・インターフェイ
ス108とを含むその他のシステム資源を含むことがで
きる。
されている図1を参照する。しかし、別のコンピュータ
・アーキテクチャを採用できることも当業者には明らか
であろう。一般に、図1に示されているそのようなコン
ピュータ装置は情報を通信するためのバス100と、こ
のバス100へ結合され、情報を処理するプロセッサ1
01と、情報とプロセッサ101への命令とを記憶する
ためのランダム・アクセス・メモリ102とを備える。
本発明の処理論理はランダム・アクセス・メモリ102
のような装置に典型的に記憶され、プロセッサ101に
より実行される。また、希望によっては、典型的なコン
ピュータ装置は、バス100へ結合された読出し専用メ
モリ103と、情報とコマンド選択をプロセッサ101
と通信するためにバス100へ結合され、英数字入力装
置またはカーソル入力装置のような入力装置104と、
情報をコンピュータ・ユーザーへ表示するためのビデオ
表示装置または液晶表示装置のような表示装置105
と、情報と命令を記憶するためにバス100へ結合され
る、磁気ディスクおよびディスクドライブのようなデー
タ記憶装置106と、情報をコンピュータ装置の外部の
宛先へ通信するためにバス100へ結合される、プリン
タまたはファクシミリのような出力装置107と、電子
回路カードをバス100へ電気的および除去可能に結合
するための除去可能な電子機能カード・インターフェイ
ス108とを含むその他のシステム資源を含むことがで
きる。
【0019】インターフェイス108へ除去可能に挿入
できる除去可能な機能カード108は、取外し可能な多
数のコネクタ・インターフェイスを含む薄いハウジング
内に電子マイクロ回路を備え、カードをコンピュータ装
置のハウジングのスロットに除去可能に挿入できるよう
にする。好適な実施例においては、本発明で用いられる
機能カードおよび機能カード・インターフェイス108
は、電子機能カードのためのPCMCIAレリース2.
0規格に従う。この種の機能カードは当業者に周知であ
る。
できる除去可能な機能カード108は、取外し可能な多
数のコネクタ・インターフェイスを含む薄いハウジング
内に電子マイクロ回路を備え、カードをコンピュータ装
置のハウジングのスロットに除去可能に挿入できるよう
にする。好適な実施例においては、本発明で用いられる
機能カードおよび機能カード・インターフェイス108
は、電子機能カードのためのPCMCIAレリース2.
0規格に従う。この種の機能カードは当業者に周知であ
る。
【0020】次に、複数の機能カード・インターフェイ
ス(203,205,207,209)を有するコンピ
ュータ装置ハウジングが示されている図2を参照する。
図に示すように、機能カード211と213は除去可能
に挿入でき、それによりコンピュータ装置内のインター
フェイス108へ電気的に結合される。この機能カード
の構造により、計算セッション中に機能カードの便利な
挿入と抜出しの少なくとも一方が容易にされる。
ス(203,205,207,209)を有するコンピ
ュータ装置ハウジングが示されている図2を参照する。
図に示すように、機能カード211と213は除去可能
に挿入でき、それによりコンピュータ装置内のインター
フェイス108へ電気的に結合される。この機能カード
の構造により、計算セッション中に機能カードの便利な
挿入と抜出しの少なくとも一方が容易にされる。
【0021】次に、典型的な機能カードの構造が示され
ている図3を参照する。機能カード301はインターフ
ェイス302を含む。このインターフェイスによって機
能カード301をコンピュータ装置へ除去可能に、かつ
電気的に結合できる。機能カード301はカード・メモ
リ区域303も含む。カード・メモリ区域303は、残
りのカードに特有の機能を制御するためのソフトウェア
も含む。データおよび処理論理を含むカード・メモリ区
域303内のこのソフトウェアは、機能カードの動作を
制御するための装置ドライバを含む。上記のように、機
能カードのための装置ドライバを機能カード自体に記憶
することが便利である。この技術を用いて、コンピュー
タ装置内部のRAM空間をカード装置ドライバのために
用意する必要はなく、カードからコンピュータ装置RA
Mへ転送するために処理時間は必要ない。カード装置ド
ライバをカード自体に維持することにより、装置ドライ
バをカードに特有の機能と常にコンパチブルであるよう
にされるという利点も得られる。コンピュータ装置に記
憶されている装置ドライバと、カードに設けられている
カードに特有の機能との間が一致しない機会は少ない。
ている図3を参照する。機能カード301はインターフ
ェイス302を含む。このインターフェイスによって機
能カード301をコンピュータ装置へ除去可能に、かつ
電気的に結合できる。機能カード301はカード・メモ
リ区域303も含む。カード・メモリ区域303は、残
りのカードに特有の機能を制御するためのソフトウェア
も含む。データおよび処理論理を含むカード・メモリ区
域303内のこのソフトウェアは、機能カードの動作を
制御するための装置ドライバを含む。上記のように、機
能カードのための装置ドライバを機能カード自体に記憶
することが便利である。この技術を用いて、コンピュー
タ装置内部のRAM空間をカード装置ドライバのために
用意する必要はなく、カードからコンピュータ装置RA
Mへ転送するために処理時間は必要ない。カード装置ド
ライバをカード自体に維持することにより、装置ドライ
バをカードに特有の機能と常にコンパチブルであるよう
にされるという利点も得られる。コンピュータ装置に記
憶されている装置ドライバと、カードに設けられている
カードに特有の機能との間が一致しない機会は少ない。
【0022】従来技術において遭遇する諸問題を避ける
ために、本発明の機能カード装置ドライバは、1)フル
装置ドライバの部分と、2)スタブ装置ドライバの部分
との2つへ分離される。フル装置ドライバは、機能カー
ドの各機能およびあらゆる機能を制御するために必要な
装置ドライバ機能の全てを含んでいる。スタブ装置ドラ
イバはフル装置ドライバと関連する処理論理の小さいコ
ンパクトな部分である。カードに存在するフル装置ドラ
イバをコンピュータ装置内に常駐しているオペレーティ
ング・システム・ソフトウェアへリンクさせる機能を果
たす。装置ドライバ・スタブはコンピュータ装置のラン
ダム・アクセス・メモリへコピーされ、かつそのランダ
ム・アクセス・メモリから実行される。これとは逆に、
フル装置ドライバは機能カードに常駐したままであり、
それから実行される。各機能カードのための装置ドライ
バ・スタブはコンパクトな処理論理ブロックであるか
ら、過大な量のコンピュータ装置RAMを消費すること
なしに、種々の機能カードのための多くのそのような装
置ドライバ・スタブをコンピュータ装置のランダム・ア
クセス・メモリに記憶できる。この構成によって、各機
能カードのためのフル装置ドライバへコンピュータ装置
RAMを割当てる必要なしに、多数の装置ドライバ・ス
タブをコンピュータ装置のメモリに常駐させることを許
す。
ために、本発明の機能カード装置ドライバは、1)フル
装置ドライバの部分と、2)スタブ装置ドライバの部分
との2つへ分離される。フル装置ドライバは、機能カー
ドの各機能およびあらゆる機能を制御するために必要な
装置ドライバ機能の全てを含んでいる。スタブ装置ドラ
イバはフル装置ドライバと関連する処理論理の小さいコ
ンパクトな部分である。カードに存在するフル装置ドラ
イバをコンピュータ装置内に常駐しているオペレーティ
ング・システム・ソフトウェアへリンクさせる機能を果
たす。装置ドライバ・スタブはコンピュータ装置のラン
ダム・アクセス・メモリへコピーされ、かつそのランダ
ム・アクセス・メモリから実行される。これとは逆に、
フル装置ドライバは機能カードに常駐したままであり、
それから実行される。各機能カードのための装置ドライ
バ・スタブはコンパクトな処理論理ブロックであるか
ら、過大な量のコンピュータ装置RAMを消費すること
なしに、種々の機能カードのための多くのそのような装
置ドライバ・スタブをコンピュータ装置のランダム・ア
クセス・メモリに記憶できる。この構成によって、各機
能カードのためのフル装置ドライバへコンピュータ装置
RAMを割当てる必要なしに、多数の装置ドライバ・ス
タブをコンピュータ装置のメモリに常駐させることを許
す。
【0023】図3を再び参照すると、カード・メモリ区
域303は装置ドライバ情報ブロック(DDIB)ヘッ
ダ305と、装置ドライバ・スタブ・コード画像307
と、フル装置ドライバ・コード309とを備える。装置
ドライバ情報ブロック(DDIB)ヘッダ305は装置
ドライバをコンピュータ装置処理論理へリンクするため
に用いられる情報を備える。装置ドライバ情報ブロック
・ヘッダ305の内容および構造が図4に示されてお
り、後で説明する。カード・メモリ区域303は装置ド
ライバ・スタブ・コード画像307と、カードに常駐し
ているフル装置ドライバ・コード309も有する。装置
ドライバ・スタブ・コード画像307はコンピュータ装
置・メモリへ結合される。
域303は装置ドライバ情報ブロック(DDIB)ヘッ
ダ305と、装置ドライバ・スタブ・コード画像307
と、フル装置ドライバ・コード309とを備える。装置
ドライバ情報ブロック(DDIB)ヘッダ305は装置
ドライバをコンピュータ装置処理論理へリンクするため
に用いられる情報を備える。装置ドライバ情報ブロック
・ヘッダ305の内容および構造が図4に示されてお
り、後で説明する。カード・メモリ区域303は装置ド
ライバ・スタブ・コード画像307と、カードに常駐し
ているフル装置ドライバ・コード309も有する。装置
ドライバ・スタブ・コード画像307はコンピュータ装
置・メモリへ結合される。
【0024】カード301がコンピュータ装置へ挿入さ
れると、装置ドライバ・スタブ・コード画像307がカ
ード・メモリ区域303から読出され、コンピュータ装
置・メモリ102の区域へ転送される。装置ドライバ・
スタブ・コード画像は、コンピュータ装置のランダム・
アクセス・メモリからコンピュータ装置のプロセッサに
より実行される。これとは逆に、フル装置ドライバ・コ
ード309はコンピュータ装置のランダム・アクセス・
メモリ102へは転送されず、カード301に常駐して
実行される。実行されると、装置ドライバ・スタブはフ
ル・カードに常駐する装置ドライバ309に対するアク
セスを可能にし、フル装置ドライバ309へのメモリ・
マッピングを許す。それからフル装置ドライバ309を
プロセッサ101により作動できる。
れると、装置ドライバ・スタブ・コード画像307がカ
ード・メモリ区域303から読出され、コンピュータ装
置・メモリ102の区域へ転送される。装置ドライバ・
スタブ・コード画像は、コンピュータ装置のランダム・
アクセス・メモリからコンピュータ装置のプロセッサに
より実行される。これとは逆に、フル装置ドライバ・コ
ード309はコンピュータ装置のランダム・アクセス・
メモリ102へは転送されず、カード301に常駐して
実行される。実行されると、装置ドライバ・スタブはフ
ル・カードに常駐する装置ドライバ309に対するアク
セスを可能にし、フル装置ドライバ309へのメモリ・
マッピングを許す。それからフル装置ドライバ309を
プロセッサ101により作動できる。
【0025】次に、装置ドライバ情報ブロック(DDI
B)ヘッダの構造が示されている図4を参照する。DD
IBヘッダは、カード装置ドライバを、コンピュータ装
置内部で実行するオペレーティング・システム論理へリ
ンクするための情報セットを備える。DDIBヘッダ
は、残りの情報をDDIBヘッダの部分として識別する
装置ドライバ情報ブロック識別コード403を備える。
DDIBをカード・メモリ区域303内の別のDDIB
(図示せず)へリンクするためにリンク・データ・フィ
ールド405が用いられる。装置ドライバ・スタブに特
有の識別名407は、装置ドライバ・スタブを識別し、
装置ドライバ・スタブを他の全ての装置ドライバ・スタ
ブから識別するための特有の値である。
B)ヘッダの構造が示されている図4を参照する。DD
IBヘッダは、カード装置ドライバを、コンピュータ装
置内部で実行するオペレーティング・システム論理へリ
ンクするための情報セットを備える。DDIBヘッダ
は、残りの情報をDDIBヘッダの部分として識別する
装置ドライバ情報ブロック識別コード403を備える。
DDIBをカード・メモリ区域303内の別のDDIB
(図示せず)へリンクするためにリンク・データ・フィ
ールド405が用いられる。装置ドライバ・スタブに特
有の識別名407は、装置ドライバ・スタブを識別し、
装置ドライバ・スタブを他の全ての装置ドライバ・スタ
ブから識別するための特有の値である。
【0026】次の5つのDDIBヘッダ・フィールド
(すなわち、フィールド411,413,415,41
7および419)は全て標準オペレーティング・システ
ム装置ドライバ・ヘッタに含まれている同じ値である。
とくに、それら5つのパラメータは当業者に周知のDO
S(アメリカ合衆国ワシントン州レッドモンド(Red
mond)所在のマイクロソフト社(Microsof
t,Corp.)により開発されたディスク・オペレー
ティング・システム)装置ドライバ・ヘッダである。装
置ドライバ・リンク情報411と、装置ドライバ属性情
報413と、装置ドライバ・ユニットおよび名称419
とが、対応する装置ドライバを識別し、リンクするため
にオペレーティング・システムにより用いられる装置ド
ライバ識別およびリンク情報を有する。装置ドライバ戦
略オフセット415と装置ドライバ割込みオフセット4
17は装置ドライバ・スタブ・コード区域の最初からの
オフセットを含む。それらのフィールドは、後で説明す
るように、本発明の動作により変更される。装置ドライ
バ・スタブ・コード・オフセット421および装置ドラ
イバ・スタブ・コード長さ423は、装置ドライバ・ス
タブ・コード・セグメントが機能カードのどこに常駐し
ているか、およびその装置ドライバ・スタブ・コード・
セグメントの大きさがどれくらいであるかを、コンピュ
ータ装置処理論理が決定できるようにする手段を提供す
る。同様に、装置ドライバ・スタブ・データ・オフセッ
ト425および装置ドライバ・スタブ・データ長さ42
7が、装置ドライバ・スタブ・データ区域が機能カード
のどこに常駐しているか、およびその装置ドライバ・ス
タブ・データ区域の大きさがどれくらいであるかを決定
できるようにする手段を提供する。装置ドライバ・スタ
ブに対するコードおよびデータ区域の場所とサイズを知
ることにより、コンピュータ装置内部のオペレーティン
グ・システム論理は装置ドライバ・スタブ・コードおよ
びデータ区域装置ドライバ・スタブ・データ区域をカー
ドからコンピュータ装置のランダム・アクセス・メモリ
へ転送できる。
(すなわち、フィールド411,413,415,41
7および419)は全て標準オペレーティング・システ
ム装置ドライバ・ヘッタに含まれている同じ値である。
とくに、それら5つのパラメータは当業者に周知のDO
S(アメリカ合衆国ワシントン州レッドモンド(Red
mond)所在のマイクロソフト社(Microsof
t,Corp.)により開発されたディスク・オペレー
ティング・システム)装置ドライバ・ヘッダである。装
置ドライバ・リンク情報411と、装置ドライバ属性情
報413と、装置ドライバ・ユニットおよび名称419
とが、対応する装置ドライバを識別し、リンクするため
にオペレーティング・システムにより用いられる装置ド
ライバ識別およびリンク情報を有する。装置ドライバ戦
略オフセット415と装置ドライバ割込みオフセット4
17は装置ドライバ・スタブ・コード区域の最初からの
オフセットを含む。それらのフィールドは、後で説明す
るように、本発明の動作により変更される。装置ドライ
バ・スタブ・コード・オフセット421および装置ドラ
イバ・スタブ・コード長さ423は、装置ドライバ・ス
タブ・コード・セグメントが機能カードのどこに常駐し
ているか、およびその装置ドライバ・スタブ・コード・
セグメントの大きさがどれくらいであるかを、コンピュ
ータ装置処理論理が決定できるようにする手段を提供す
る。同様に、装置ドライバ・スタブ・データ・オフセッ
ト425および装置ドライバ・スタブ・データ長さ42
7が、装置ドライバ・スタブ・データ区域が機能カード
のどこに常駐しているか、およびその装置ドライバ・ス
タブ・データ区域の大きさがどれくらいであるかを決定
できるようにする手段を提供する。装置ドライバ・スタ
ブに対するコードおよびデータ区域の場所とサイズを知
ることにより、コンピュータ装置内部のオペレーティン
グ・システム論理は装置ドライバ・スタブ・コードおよ
びデータ区域装置ドライバ・スタブ・データ区域をカー
ドからコンピュータ装置のランダム・アクセス・メモリ
へ転送できる。
【0027】次に、ランダム・アクセス・メモリ102
に常駐するコンピュータ装置メモリ501の一部が示さ
れている図5を参照する。コンピュータ装置メモリ部分
501は装置ドライバ・ローダ503と、装置ドライバ
・スタブRAM区域505と、PCMCIAソケット・
サービス507とを備える。装置ドライバ・ローダ50
3は適切な装置ドライバを、コンピュータ装置の初期化
時、およびカードがコンピュータ装置へ挿入され、かつ
コンピュータ装置から抜出された時に、適切な装置ドラ
イバをローディングおよびディスパッチングするための
処理論理を備える。好適な実施例の装置ドライバ・ロー
ダ503により行われる処理の詳細を、図7と図8に示
されている流れ図を参照して詳しく説明する。装置ドラ
イバ・スタブRAM区域505は、コンピュータ装置の
初期化時に、またはコンピュータ装置のカードの挿入時
にロードされる装置ドライバ・スタブの記憶のために用
いられるメモリ区域を備える。装置ドライバ・スタブR
AM区域505の内容を、図6aと図6bを参照して詳
しく説明する。PCMCIAソケット・サービス507
は、カードの挿入と抜出しが検出された時に割込みを受
ける。PCMCIAソケット・サービス507により実
行される機能に対応する処理論理は当業者に周知であ
る。図5には、図3を参照して先に説明したカード・メ
モリ区域303も示されている。このカード・メモリ区
域303は装置ドライバ情報ブロック(DDIB)ヘッ
ダ305と、装置ドライバ・スタブ・コード画像307
と、フル装置ドライバ・コード309とを備える。
に常駐するコンピュータ装置メモリ501の一部が示さ
れている図5を参照する。コンピュータ装置メモリ部分
501は装置ドライバ・ローダ503と、装置ドライバ
・スタブRAM区域505と、PCMCIAソケット・
サービス507とを備える。装置ドライバ・ローダ50
3は適切な装置ドライバを、コンピュータ装置の初期化
時、およびカードがコンピュータ装置へ挿入され、かつ
コンピュータ装置から抜出された時に、適切な装置ドラ
イバをローディングおよびディスパッチングするための
処理論理を備える。好適な実施例の装置ドライバ・ロー
ダ503により行われる処理の詳細を、図7と図8に示
されている流れ図を参照して詳しく説明する。装置ドラ
イバ・スタブRAM区域505は、コンピュータ装置の
初期化時に、またはコンピュータ装置のカードの挿入時
にロードされる装置ドライバ・スタブの記憶のために用
いられるメモリ区域を備える。装置ドライバ・スタブR
AM区域505の内容を、図6aと図6bを参照して詳
しく説明する。PCMCIAソケット・サービス507
は、カードの挿入と抜出しが検出された時に割込みを受
ける。PCMCIAソケット・サービス507により実
行される機能に対応する処理論理は当業者に周知であ
る。図5には、図3を参照して先に説明したカード・メ
モリ区域303も示されている。このカード・メモリ区
域303は装置ドライバ情報ブロック(DDIB)ヘッ
ダ305と、装置ドライバ・スタブ・コード画像307
と、フル装置ドライバ・コード309とを備える。
【0028】カードが挿入されると、PCMCIAソケ
ット・サービス507が受け、割込み、カード挿入に対
して最初に応答する。PCMCIAソケット・サービス
507は、図5に線603により示されているように、
装置ドライバ・ローダ503を起動させる。装置ドライ
バ・ローダ503が起動させられると、PCMCIAソ
ケット・サービス507は装置ドライバ・ローダ503
へ、それに対してカード事象割込みが受けられたソケッ
ト・アダプタおよびソケットの標識を供給する。それか
ら、装置ドライバ・ローダ503は、線605により示
されているように、新たに挿入されたカード上の装置ド
ライバ情報ブロック(DDIB)ヘッダ305をアクセ
スする。DDIBヘッダ305をアクセスすることによ
り、装置ドライバ・ローダ503は、図4を参照して先
に述べたように、カード情報をアクセスする。とくに、
装置ドライバ・ローダ503は装置ドライバ・スタブ特
有識別407と、装置ドライバ・スタブ・コード・オフ
セット421と、装置ドライバ・スタブ・コード長さ4
23と、装置ドライバ・スタブ・データ・オフセット4
25と、装置ドライバ・スタブ・データ長さ427とを
読出すことができる。この情報を用いて、装置ドライバ
・ローダ503は、カード・メモリ区域303のどこに
装置ドライバ・スタブ・コード画像307が存在するか
を判定する。線607により示されるように、装置ドラ
イバ・スタブ・コード画像307の場所とサイズがひと
たび決定されると、装置ドライバ・ローダ503は装置
ドライバ・スタブ・コード画像307の内容を、カード
・メモリ区域303から、図5の線609で示されてい
るように、装置ドライバ・スタブRAM区域505の一
部へコピーする。装置ドライバ・スタブ・コード画像3
07は装置ドライバ・スタブRAM区域505へ書込ま
れ、装置ドライバ・ローダ503により維持されている
装置ドライバ・スタブのリンクされるリストへリンクさ
れる。装置ドライバ・ローダ503により装置ドライバ
・スタブがリンクされるやり方について、図6aと図6
bを参照して説明する。
ット・サービス507が受け、割込み、カード挿入に対
して最初に応答する。PCMCIAソケット・サービス
507は、図5に線603により示されているように、
装置ドライバ・ローダ503を起動させる。装置ドライ
バ・ローダ503が起動させられると、PCMCIAソ
ケット・サービス507は装置ドライバ・ローダ503
へ、それに対してカード事象割込みが受けられたソケッ
ト・アダプタおよびソケットの標識を供給する。それか
ら、装置ドライバ・ローダ503は、線605により示
されているように、新たに挿入されたカード上の装置ド
ライバ情報ブロック(DDIB)ヘッダ305をアクセ
スする。DDIBヘッダ305をアクセスすることによ
り、装置ドライバ・ローダ503は、図4を参照して先
に述べたように、カード情報をアクセスする。とくに、
装置ドライバ・ローダ503は装置ドライバ・スタブ特
有識別407と、装置ドライバ・スタブ・コード・オフ
セット421と、装置ドライバ・スタブ・コード長さ4
23と、装置ドライバ・スタブ・データ・オフセット4
25と、装置ドライバ・スタブ・データ長さ427とを
読出すことができる。この情報を用いて、装置ドライバ
・ローダ503は、カード・メモリ区域303のどこに
装置ドライバ・スタブ・コード画像307が存在するか
を判定する。線607により示されるように、装置ドラ
イバ・スタブ・コード画像307の場所とサイズがひと
たび決定されると、装置ドライバ・ローダ503は装置
ドライバ・スタブ・コード画像307の内容を、カード
・メモリ区域303から、図5の線609で示されてい
るように、装置ドライバ・スタブRAM区域505の一
部へコピーする。装置ドライバ・スタブ・コード画像3
07は装置ドライバ・スタブRAM区域505へ書込ま
れ、装置ドライバ・ローダ503により維持されている
装置ドライバ・スタブのリンクされるリストへリンクさ
れる。装置ドライバ・ローダ503により装置ドライバ
・スタブがリンクされるやり方について、図6aと図6
bを参照して説明する。
【0029】まず、装置ドライバ・スタブRAM区域5
05が示されている図6aを参照する。装置ドライバ・
スタブRAM区域505は、複数の装置ドライバ・スタ
ブ・ブロックに対するメモリ記憶区域を含む。たとえ
ば、図6aはスタブ1ブロック510と、スタブ2ブロ
ック512と、スタブ3ブロック514と、スタブnブ
ロック516とを示す。0からnまでの任意の数の装置
ドライバ・スタブ・ブロックを、装置ドライバ・スタブ
RAM区域505内に常駐させることができることが当
業者には明らかであろう。また、装置ドライバ・スタブ
RAM区域505内のスタブ・ブロックの数を、コンピ
ュータ装置の使用全体を通じてダイナミックに変更でき
ることも当業者には明らかであろう。したがって、装置
ドライバ・スタブをブートストラップ初期化時にメモリ
に固定する必要はない。また、各装置ドライバ・スタブ
・ブロックにより求められるメモリ場所の相対的なサイ
ズと数は、機能カードの機能を制御するために、フル装
置ドライバ・コードと比較して、比較的小さく、かつ少
ないことにも注目すべきである。各装置ドライバ・スタ
ブ・ブロックの比較的小さいサイズのために、多数の装
置ドライバ・スタブを装置ドライバ・スタブRAM区域
505に記憶する機会が与えられる。
05が示されている図6aを参照する。装置ドライバ・
スタブRAM区域505は、複数の装置ドライバ・スタ
ブ・ブロックに対するメモリ記憶区域を含む。たとえ
ば、図6aはスタブ1ブロック510と、スタブ2ブロ
ック512と、スタブ3ブロック514と、スタブnブ
ロック516とを示す。0からnまでの任意の数の装置
ドライバ・スタブ・ブロックを、装置ドライバ・スタブ
RAM区域505内に常駐させることができることが当
業者には明らかであろう。また、装置ドライバ・スタブ
RAM区域505内のスタブ・ブロックの数を、コンピ
ュータ装置の使用全体を通じてダイナミックに変更でき
ることも当業者には明らかであろう。したがって、装置
ドライバ・スタブをブートストラップ初期化時にメモリ
に固定する必要はない。また、各装置ドライバ・スタブ
・ブロックにより求められるメモリ場所の相対的なサイ
ズと数は、機能カードの機能を制御するために、フル装
置ドライバ・コードと比較して、比較的小さく、かつ少
ないことにも注目すべきである。各装置ドライバ・スタ
ブ・ブロックの比較的小さいサイズのために、多数の装
置ドライバ・スタブを装置ドライバ・スタブRAM区域
505に記憶する機会が与えられる。
【0030】装置ドライバ・スタブRAM区域505内
の装置ドライバ・スタブ・ブロックは、3つの要素でお
のおの構成される。次に図6bを参照する。この図には
装置ドライバ・スタブRAM区域505の各スタブ・ブ
ロックの3つの構成要素が示されている。各スタブ・ブ
ロックはスタブ・ヘッダ540と、スタブ・データ54
2と、スタブ・コード544とを有する。スタブ・ヘッ
ダ540は、コンピュータ装置の動作を制御するオペレ
ーティング・システム論理により主として用いられる。
の装置ドライバ・スタブ・ブロックは、3つの要素でお
のおの構成される。次に図6bを参照する。この図には
装置ドライバ・スタブRAM区域505の各スタブ・ブ
ロックの3つの構成要素が示されている。各スタブ・ブ
ロックはスタブ・ヘッダ540と、スタブ・データ54
2と、スタブ・コード544とを有する。スタブ・ヘッ
ダ540は、コンピュータ装置の動作を制御するオペレ
ーティング・システム論理により主として用いられる。
【0031】次に、各スタブ・ブロックのためのスタブ
・ヘッダ540の内容が示されている図7aを参照す
る。スタブ・ヘッダ540は装置ドライバ・リンク情報
630と、装置ドライバ属性情報632と、装置ドライ
バ戦略オフセット634と、装置ドライバ割込みオフセ
ット636と、装置ドライバ・ユニットおよび名称63
8とを含む。コンピュータ装置メモリ102に常駐す
る、スタブ・ヘッダ540の装置ドライバ情報630,
632,634,636,638は、カード常駐DDI
Bヘッダの装置ドライバ情報411,413,415,
417,419に対応する。スタブ装置ドライバがロー
ドされた時に、DDIB装置ドライバ情報がスタブ・ヘ
ッダ540へ転送される。
・ヘッダ540の内容が示されている図7aを参照す
る。スタブ・ヘッダ540は装置ドライバ・リンク情報
630と、装置ドライバ属性情報632と、装置ドライ
バ戦略オフセット634と、装置ドライバ割込みオフセ
ット636と、装置ドライバ・ユニットおよび名称63
8とを含む。コンピュータ装置メモリ102に常駐す
る、スタブ・ヘッダ540の装置ドライバ情報630,
632,634,636,638は、カード常駐DDI
Bヘッダの装置ドライバ情報411,413,415,
417,419に対応する。スタブ装置ドライバがロー
ドされた時に、DDIB装置ドライバ情報がスタブ・ヘ
ッダ540へ転送される。
【0032】装置ドライバ・リンク情報630と、装置
ドライバ属性情報632と、装置ドライバ・ユニットお
よび名称638とは、対応する装置ドライバを識別し、
かつその装置ドライバへリンクするために、オペレーテ
ィング・システムにより用いられる装置ドライバ識別お
よびリンク情報を有する。図6aに線519により示さ
れているように、装置ドライバの前方リンクされたリス
トを作成するために、装置ドライバ・リンク情報630
がオペレーティング・システムにより用いられる。装置
ドライバ・リンク情報630を用いることにより、最後
の装置ドライバ・スタブ・ブロックがオペレーティング
・システム518を指すまで、各装置ドライバ・スタブ
・ブロックの装置ドライバ・リンク情報を用いてリスト
を横切ることによって、リンクされているリスト内の各
装置ドライバ・リンク情報630をオペレーティング・
システム518はアクセスできる。スタブ・ヘッダ54
0は、図6bに線546により示されているように、ス
タブ・カード544への入口点を識別するために用いら
れる装置ドライバ戦略オフセット634と、装置ドライ
バ割込みオフセット636とをも含む。
ドライバ属性情報632と、装置ドライバ・ユニットお
よび名称638とは、対応する装置ドライバを識別し、
かつその装置ドライバへリンクするために、オペレーテ
ィング・システムにより用いられる装置ドライバ識別お
よびリンク情報を有する。図6aに線519により示さ
れているように、装置ドライバの前方リンクされたリス
トを作成するために、装置ドライバ・リンク情報630
がオペレーティング・システムにより用いられる。装置
ドライバ・リンク情報630を用いることにより、最後
の装置ドライバ・スタブ・ブロックがオペレーティング
・システム518を指すまで、各装置ドライバ・スタブ
・ブロックの装置ドライバ・リンク情報を用いてリスト
を横切ることによって、リンクされているリスト内の各
装置ドライバ・リンク情報630をオペレーティング・
システム518はアクセスできる。スタブ・ヘッダ54
0は、図6bに線546により示されているように、ス
タブ・カード544への入口点を識別するために用いら
れる装置ドライバ戦略オフセット634と、装置ドライ
バ割込みオフセット636とをも含む。
【0033】次に、スタブ・データ542の内容が示さ
れている図7bを参照する。スタブ・データ542は、
装置ドライバ・スタブRAM区域505内の装置ドライ
バ・スタブ・ブロックの前方にリンクされたリストおよ
び後方にリンクされたリストを作成するために、装置ド
ライバ・ローダ503により用いられるポインタ660
と662を含む。ポインタ660は、リンクされている
リスト内の以前の装置ドライバ・スタブ・ブロックに対
するポインタである。ポインタ662は、リンクされて
いるリスト内の次の装置ドライバ・スタブ・ブロックに
対するポインタである。この二重にリンクされているリ
スト構造が図6aに線517に示されている。
れている図7bを参照する。スタブ・データ542は、
装置ドライバ・スタブRAM区域505内の装置ドライ
バ・スタブ・ブロックの前方にリンクされたリストおよ
び後方にリンクされたリストを作成するために、装置ド
ライバ・ローダ503により用いられるポインタ660
と662を含む。ポインタ660は、リンクされている
リスト内の以前の装置ドライバ・スタブ・ブロックに対
するポインタである。ポインタ662は、リンクされて
いるリスト内の次の装置ドライバ・スタブ・ブロックに
対するポインタである。この二重にリンクされているリ
スト構造が図6aに線517に示されている。
【0034】図6aを参照すると、装置ドライバ・ロー
ダ503は、リンクされているリスト内の最初の装置ド
ライバ・スタブ・ブロック510に対するポインタを含
む。スタブ1ブロック510のポインタ662はスタブ
2ブロック512を指す。同様に、スタブ1ブロック5
10のポインタ660は装置ドライバ・ローダ503を
指す。同様にして、各装置ドライバ・スタブ・ブロック
のポインタ660と662が、リンクされているリスト
内の前の装置ドライバ・スタブと次の装置ドライバ・ス
タブを指すために用いられる。したがって、装置ドライ
バ・スタブはリンクされているリスト内の前方にリンク
され、および後方にリンクされる。リンクされているリ
スト内の最後の装置ドライバ・スタブ・ブロック(すな
わち、スタブnブロック516)は装置ドライバ・ロー
ダ503を指して二重にリンクされたリストを完了す
る。
ダ503は、リンクされているリスト内の最初の装置ド
ライバ・スタブ・ブロック510に対するポインタを含
む。スタブ1ブロック510のポインタ662はスタブ
2ブロック512を指す。同様に、スタブ1ブロック5
10のポインタ660は装置ドライバ・ローダ503を
指す。同様にして、各装置ドライバ・スタブ・ブロック
のポインタ660と662が、リンクされているリスト
内の前の装置ドライバ・スタブと次の装置ドライバ・ス
タブを指すために用いられる。したがって、装置ドライ
バ・スタブはリンクされているリスト内の前方にリンク
され、および後方にリンクされる。リンクされているリ
スト内の最後の装置ドライバ・スタブ・ブロック(すな
わち、スタブnブロック516)は装置ドライバ・ロー
ダ503を指して二重にリンクされたリストを完了す
る。
【0035】図7bを再び参照する。スタブ・データ5
42はアダプタ識別664とソケット識別666も含
む。アダプタ識別664とソケット識別666は、装置
ドライバ・スタブがリンクさせられるコンピュータ装置
ハードウェア・インターフェイスを一意に識別する。装
置ドライバ・スタブ特有識別668は、図4に示されて
いる機能カード常駐装置ドライバ・スタブ特有識別40
7と同じ識別であって、機能カードに関連する装置ドラ
イバ・スタブを一意に識別する。カード挿入フラッグ6
72が、装置ドライバ・スタブを挿入するか、除去する
かの指示を保持するために用いられる。ドライバ特定デ
ータ区域674は、装置ドライバ・スタブ自身のデータ
を記憶するために、そのドライバ・スタブにより使用す
るために割当てれられるメモリ区域である。
42はアダプタ識別664とソケット識別666も含
む。アダプタ識別664とソケット識別666は、装置
ドライバ・スタブがリンクさせられるコンピュータ装置
ハードウェア・インターフェイスを一意に識別する。装
置ドライバ・スタブ特有識別668は、図4に示されて
いる機能カード常駐装置ドライバ・スタブ特有識別40
7と同じ識別であって、機能カードに関連する装置ドラ
イバ・スタブを一意に識別する。カード挿入フラッグ6
72が、装置ドライバ・スタブを挿入するか、除去する
かの指示を保持するために用いられる。ドライバ特定デ
ータ区域674は、装置ドライバ・スタブ自身のデータ
を記憶するために、そのドライバ・スタブにより使用す
るために割当てれられるメモリ区域である。
【0036】次に、好適な実施例で用いられる処理論理
を示す流れ図が示されている図8〜14を参照する。こ
こで説明する処理論理はコンピュータ装置のプロセッサ
101により実行できることが当業者には明らかであろ
う。
を示す流れ図が示されている図8〜14を参照する。こ
こで説明する処理論理はコンピュータ装置のプロセッサ
101により実行できることが当業者には明らかであろ
う。
【0037】まず、装置ドライバ・ローダ701に関連
する処理論理が示されている図8を参照する。装置ドラ
イバ・ローダ701は、図5と図6aに示されている装
置ドライバ・ローダ503に対応する。ブロック701
でスタートする処理論理は、コンピュータ装置のブート
ストラップ初期化時に、オペレーティング・システムに
より起動できる。装置ドライバ・ローダが起動される
と、処理ブロック702内のオペレーティング・システ
ムにより、カード事象サービスが登録される。オペレー
ティング・システムによるサービス・ルーチンを登録す
るための手段が周知である。このカード事象サービス・
ルーチンはカード挿入事象またはカード除去事象が行わ
れた時に起動される。装置ドライバ・スタブRAM50
5が処理ブロック703において割当てられる。ランダ
ム・アクセス・メモリ102の所定の量が、装置ドライ
バ・スタブRAM区域505に装置ドライバ・スタブを
記録するために割当てられる。処理ブロック705にお
いて、初期設定時間中に、共通に用いられる装置ドライ
バ・スタブのセットを希望により装置ドライバ・スタブ
RAM区域505へ予めロードできる。それらの最初に
ロードされる装置ドライバを大容量記憶装置に記憶で
き、およびそこから装置ドライバ・スタブRAM区域5
05へ転送される。次に、接続され、およびコンピュー
タ装置において、使用するために利用できるカード・ソ
ケット・アダプタの実体とアドレスを決定するために、
ハードウェア・インターフェイスに問合わせる。別の実
施例においては、処理ブロック707において、装置ド
ライバ・ローダにより、カード・ソケット・アダプタの
所定のリストを供給および得ることができる。同様にし
て、処理ブロック707において、各カード・ソケット
・アダプタ内の各カード・ソケットのアドレスまたは実
体が決定される。コンピュータ装置の利用可能なソケッ
トのいずれかに任意の機能カードが実際に挿入されてい
るならば、挿入されているカードの実体またはアドレス
が処理711において得られる。装置ドライバ・ローダ
は今はカード・ソケット・アダプタのリストと、カード
・ソケットのリストと、現在挿入されている機能カード
のリストとを有する。処理ブロック713において、挿
入されているカード内の現在挿入されているカードのう
ちの最初のものを指すためにインデックス・パラメータ
が初期化される。それから、ブロック715において、
現在インデックスされているカードのための装置ドライ
バ・スタブをインストールするために、「カード挿入処
理」と呼ばれる副機能が起動させられる。図9に示すよ
うに、装置ドライバ・ローダ処理はブロックAで続く。
する処理論理が示されている図8を参照する。装置ドラ
イバ・ローダ701は、図5と図6aに示されている装
置ドライバ・ローダ503に対応する。ブロック701
でスタートする処理論理は、コンピュータ装置のブート
ストラップ初期化時に、オペレーティング・システムに
より起動できる。装置ドライバ・ローダが起動される
と、処理ブロック702内のオペレーティング・システ
ムにより、カード事象サービスが登録される。オペレー
ティング・システムによるサービス・ルーチンを登録す
るための手段が周知である。このカード事象サービス・
ルーチンはカード挿入事象またはカード除去事象が行わ
れた時に起動される。装置ドライバ・スタブRAM50
5が処理ブロック703において割当てられる。ランダ
ム・アクセス・メモリ102の所定の量が、装置ドライ
バ・スタブRAM区域505に装置ドライバ・スタブを
記録するために割当てられる。処理ブロック705にお
いて、初期設定時間中に、共通に用いられる装置ドライ
バ・スタブのセットを希望により装置ドライバ・スタブ
RAM区域505へ予めロードできる。それらの最初に
ロードされる装置ドライバを大容量記憶装置に記憶で
き、およびそこから装置ドライバ・スタブRAM区域5
05へ転送される。次に、接続され、およびコンピュー
タ装置において、使用するために利用できるカード・ソ
ケット・アダプタの実体とアドレスを決定するために、
ハードウェア・インターフェイスに問合わせる。別の実
施例においては、処理ブロック707において、装置ド
ライバ・ローダにより、カード・ソケット・アダプタの
所定のリストを供給および得ることができる。同様にし
て、処理ブロック707において、各カード・ソケット
・アダプタ内の各カード・ソケットのアドレスまたは実
体が決定される。コンピュータ装置の利用可能なソケッ
トのいずれかに任意の機能カードが実際に挿入されてい
るならば、挿入されているカードの実体またはアドレス
が処理711において得られる。装置ドライバ・ローダ
は今はカード・ソケット・アダプタのリストと、カード
・ソケットのリストと、現在挿入されている機能カード
のリストとを有する。処理ブロック713において、挿
入されているカード内の現在挿入されているカードのう
ちの最初のものを指すためにインデックス・パラメータ
が初期化される。それから、ブロック715において、
現在インデックスされているカードのための装置ドライ
バ・スタブをインストールするために、「カード挿入処
理」と呼ばれる副機能が起動させられる。図9に示すよ
うに、装置ドライバ・ローダ処理はブロックAで続く。
【0038】次に図9を参照する。装置ドライバ・ロー
ダがブロックAに続く。現在挿入されたカードのリスト
が処理されると、判定ブロック1017において、全て
のカードが処理されたかどうかの判定が行われる。挿入
されているカードのリスト内の全てのカードが処理され
ると、処理は経路1021を通って終了ブロック102
7へ進み、そこで装置ドライバ・ローダの処理が終る。
インストールされているカードのリスト中の各カードが
まだ処理されていなければ、処理は経路1019を通っ
て処理ブロック1023へ進み、そこで、挿入されてい
るカードのリストへのインデックスが次の挿入されてい
るカードへの点まで進ませられて、図8に示すようにブ
ロックGへ処理は続けられる。ブロックGにおいては、
カード挿入処理副機能が、新たにインデックスされた挿
入されているカードに対して再び起動させられる。
ダがブロックAに続く。現在挿入されたカードのリスト
が処理されると、判定ブロック1017において、全て
のカードが処理されたかどうかの判定が行われる。挿入
されているカードのリスト内の全てのカードが処理され
ると、処理は経路1021を通って終了ブロック102
7へ進み、そこで装置ドライバ・ローダの処理が終る。
インストールされているカードのリスト中の各カードが
まだ処理されていなければ、処理は経路1019を通っ
て処理ブロック1023へ進み、そこで、挿入されてい
るカードのリストへのインデックスが次の挿入されてい
るカードへの点まで進ませられて、図8に示すようにブ
ロックGへ処理は続けられる。ブロックGにおいては、
カード挿入処理副機能が、新たにインデックスされた挿
入されているカードに対して再び起動させられる。
【0039】次に、カード事象サービス・ルーチン11
01のための処理が示されている図10を参照する。カ
ード事象サービス・ルーチン1101は、コンピュータ
装置のブートストラップ初期化時にオペレーティング・
システムで登録されるソフトウェア・ルーチンであっ
て、コンピュータ装置に設けられているソケットに機能
カードが挿入された時、またはソケットから機能カード
が抜き出された時に、ハードウェア事象がコンピュータ
装置により検出された時に起動させられる。カード事象
サービス・ルーチン1101が起動させられると、ハー
ドウェア事象に対応するカード・ソケット・アダプタお
よびカード・ソケットの識別が処理ブロック1103で
得られる。カード挿入事象が検出されると、処理経路1
107を通って処理ブロック1108へ処理は進み、そ
の処理ブロックにおいて、新たに挿入されたカードに対
してカード挿入処理補助機能が起動される。それから処
理は戻りブロック1131で終わる。
01のための処理が示されている図10を参照する。カ
ード事象サービス・ルーチン1101は、コンピュータ
装置のブートストラップ初期化時にオペレーティング・
システムで登録されるソフトウェア・ルーチンであっ
て、コンピュータ装置に設けられているソケットに機能
カードが挿入された時、またはソケットから機能カード
が抜き出された時に、ハードウェア事象がコンピュータ
装置により検出された時に起動させられる。カード事象
サービス・ルーチン1101が起動させられると、ハー
ドウェア事象に対応するカード・ソケット・アダプタお
よびカード・ソケットの識別が処理ブロック1103で
得られる。カード挿入事象が検出されると、処理経路1
107を通って処理ブロック1108へ処理は進み、そ
の処理ブロックにおいて、新たに挿入されたカードに対
してカード挿入処理補助機能が起動される。それから処
理は戻りブロック1131で終わる。
【0040】判定ブロック1105を再び参照すると、
カードがソケットに挿入されていないとすると、処理は
経路1109を通って処理ブロック1111へ進む。カ
ード除去事象が検出されると、処理は経路1115を通
って処理ブロック1119へ進み、そのブロックにおい
て、除去されたカードのためのソケットに対応する装置
ドライバ・スタブの検索で、RAM区域505内の装置
ドライバ・スタブのリンクされたリストが調べられる。
除去されたカードに対応する装置ドライバ・スタブがみ
つけられると、処理は経路1125を通って処理ブロッ
ク1127へ進み、そのブロックにおいて、スタブ・デ
ータ内のカード挿入フラッグがリセットされて、対応す
るカードが除去されたことを示す。除去されたカードに
対するカード挿入フラッグがリセットされると、除去さ
れたカードに対応する装置ドライバ・スタブが処理ブロ
ック1129において起動される。除去去れたカードに
対応する装置ドライバ・スタブの起動によって、カード
が挿入されている間に、進行中の活動がおだやかに終了
させられ、除去されたカードに対するそれ以上のアクセ
スを不能にする。それから装置ドライバ・スタブは装置
ドライバ・スタブのリンクされているリストからリンク
を解除される。処理ブロック1129における処理が終
わると、制御は処理ブロック1119へ戻され、そこ
で、カードが除去されたことを検出されたソケットに対
応スケジュール別の装置ドライバ・スタブに対して、ス
タブリンクされたリストが再び調べられる。除去された
カードのあらゆる装置ドライバ・スタブが処理されるま
で、処理ブロック1119と1129の間のループが各
装置ドライバ・スタブに対して継続する。これが起きる
と、処理は経路1123を通って処理ブロック1131
へ進み、そのブロックにおいて、カード事象サービスに
対する処理は終わる。
カードがソケットに挿入されていないとすると、処理は
経路1109を通って処理ブロック1111へ進む。カ
ード除去事象が検出されると、処理は経路1115を通
って処理ブロック1119へ進み、そのブロックにおい
て、除去されたカードのためのソケットに対応する装置
ドライバ・スタブの検索で、RAM区域505内の装置
ドライバ・スタブのリンクされたリストが調べられる。
除去されたカードに対応する装置ドライバ・スタブがみ
つけられると、処理は経路1125を通って処理ブロッ
ク1127へ進み、そのブロックにおいて、スタブ・デ
ータ内のカード挿入フラッグがリセットされて、対応す
るカードが除去されたことを示す。除去されたカードに
対するカード挿入フラッグがリセットされると、除去さ
れたカードに対応する装置ドライバ・スタブが処理ブロ
ック1129において起動される。除去去れたカードに
対応する装置ドライバ・スタブの起動によって、カード
が挿入されている間に、進行中の活動がおだやかに終了
させられ、除去されたカードに対するそれ以上のアクセ
スを不能にする。それから装置ドライバ・スタブは装置
ドライバ・スタブのリンクされているリストからリンク
を解除される。処理ブロック1129における処理が終
わると、制御は処理ブロック1119へ戻され、そこ
で、カードが除去されたことを検出されたソケットに対
応スケジュール別の装置ドライバ・スタブに対して、ス
タブリンクされたリストが再び調べられる。除去された
カードのあらゆる装置ドライバ・スタブが処理されるま
で、処理ブロック1119と1129の間のループが各
装置ドライバ・スタブに対して継続する。これが起きる
と、処理は経路1123を通って処理ブロック1131
へ進み、そのブロックにおいて、カード事象サービスに
対する処理は終わる。
【0041】判定ブロック1111を再び参照すると、
カード事象サービス・ルーチンを起動させるハードウェ
ア事象がカード挿入事象でも、カード除去事象でもない
とすると、処理は経路1123を通って処理ブロック1
131へ進み、そのブロックにおいて、識別されていな
い事象が記録される。それから処理はブロック1131
で終わる。
カード事象サービス・ルーチンを起動させるハードウェ
ア事象がカード挿入事象でも、カード除去事象でもない
とすると、処理は経路1123を通って処理ブロック1
131へ進み、そのブロックにおいて、識別されていな
い事象が記録される。それから処理はブロック1131
で終わる。
【0042】次に、カード挿入処理補助機能800が示
されている図11を参照する。カード挿入処理800
が、図8に示されている処理ブロック715から、また
は図10に示されている処理ブロック1108から起動
させられる。カード挿入処理800は、新たに挿入され
た機能カードに対応する装置ドライバ・スタブの割当て
とローディングを行う。処理ブロック801から始まっ
て、新たに挿入されたカードのカード・メモリ区域がア
クセスされる。装置ドライバ情報ブロック(DDIB)
が新たに挿入されたカードのカード・メモリ区域に存在
するものとすると、処理は経路805を通って処理ブロ
ック807へ進む。そのカード・メモリ区域にDDIB
が存在しないものとすると、処理は経路803を通って
図13に示されているブロックCへ進み、そこでブロッ
ク1017においてカード挿入処理は終わる。必ずしも
全ての機能カードが装置ドライバを要求するものではな
いから、装置ドライバを要求しないカードのために処理
経路803が設けられる。
されている図11を参照する。カード挿入処理800
が、図8に示されている処理ブロック715から、また
は図10に示されている処理ブロック1108から起動
させられる。カード挿入処理800は、新たに挿入され
た機能カードに対応する装置ドライバ・スタブの割当て
とローディングを行う。処理ブロック801から始まっ
て、新たに挿入されたカードのカード・メモリ区域がア
クセスされる。装置ドライバ情報ブロック(DDIB)
が新たに挿入されたカードのカード・メモリ区域に存在
するものとすると、処理は経路805を通って処理ブロ
ック807へ進む。そのカード・メモリ区域にDDIB
が存在しないものとすると、処理は経路803を通って
図13に示されているブロックCへ進み、そこでブロッ
ク1017においてカード挿入処理は終わる。必ずしも
全ての機能カードが装置ドライバを要求するものではな
いから、装置ドライバを要求しないカードのために処理
経路803が設けられる。
【0043】処理ブロック807においては、新たに挿
入されたカードのDDIBのヘッダが読取られる。判定
ブロック809は、新たに挿入されたカードに対する装
置ドライバ・スタブが以前にロードされたか否かを、装
置ドライバ・スタブに独自の識別を基にして判定する。
この装置ドライバ・スタブが以前にロードされたとする
と、装置ドライバ・スタブが実行可能なコードを再びロ
ードする必要はない。したがって、装置ドライバ・スタ
ブが既にロードされていたとすると、処理は経路811
を通って判定ブロック821へ進み、そこで装置ドライ
バ・スタブRAM505内に利用できる空間があるかど
うかが検査される。装置ドライバ・スタブ・データとス
タブ・ヘッダのために利用できるRAM空間が存在する
ものとすると、処理は経路825を通って図12に示さ
れているブロックBへ進む。判定ブロック821におい
て、利用できる十分なRAM空間がないと判定される
と、処理は経路823を通って処理ブロック824へ進
み、そこで装置ドライバのローディングの誤りが知らせ
られる。それから図13に示されているブロックCでカ
ード挿入処理は終わる。
入されたカードのDDIBのヘッダが読取られる。判定
ブロック809は、新たに挿入されたカードに対する装
置ドライバ・スタブが以前にロードされたか否かを、装
置ドライバ・スタブに独自の識別を基にして判定する。
この装置ドライバ・スタブが以前にロードされたとする
と、装置ドライバ・スタブが実行可能なコードを再びロ
ードする必要はない。したがって、装置ドライバ・スタ
ブが既にロードされていたとすると、処理は経路811
を通って判定ブロック821へ進み、そこで装置ドライ
バ・スタブRAM505内に利用できる空間があるかど
うかが検査される。装置ドライバ・スタブ・データとス
タブ・ヘッダのために利用できるRAM空間が存在する
ものとすると、処理は経路825を通って図12に示さ
れているブロックBへ進む。判定ブロック821におい
て、利用できる十分なRAM空間がないと判定される
と、処理は経路823を通って処理ブロック824へ進
み、そこで装置ドライバのローディングの誤りが知らせ
られる。それから図13に示されているブロックCでカ
ード挿入処理は終わる。
【0044】判定ブロック809を再び参照する。新た
に挿入されたカードに対する装置ドライバ・スタブが以
前にロードされないとすると、処理は経路813を通っ
て判定ブロック815へ進み、そこで装置ドライバ・ス
タブRAM505内に、装置ドライバ・スタブが実行可
能なコードと、装置ドライバ・スタブ・データと、スタ
ブ・ヘッダを記憶するために十分な空間があるかどうか
が検査される。利用できる十分なRAM空間が存在する
ものとすると、処理は経路819を通って図12に示さ
れているブロックBへ進む。しかし、判定ブロック81
5において行われた判定の結果として、利用できる十分
なRAM空間がないと判定されると、処理は経路817
を通って処理ブロック824へ進み、そこで装置ドライ
バのローディング処理の誤りが知らせられる。それから
図13に示されているブロックCでカード挿入処理は終
わる。
に挿入されたカードに対する装置ドライバ・スタブが以
前にロードされないとすると、処理は経路813を通っ
て判定ブロック815へ進み、そこで装置ドライバ・ス
タブRAM505内に、装置ドライバ・スタブが実行可
能なコードと、装置ドライバ・スタブ・データと、スタ
ブ・ヘッダを記憶するために十分な空間があるかどうか
が検査される。利用できる十分なRAM空間が存在する
ものとすると、処理は経路819を通って図12に示さ
れているブロックBへ進む。しかし、判定ブロック81
5において行われた判定の結果として、利用できる十分
なRAM空間がないと判定されると、処理は経路817
を通って処理ブロック824へ進み、そこで装置ドライ
バのローディング処理の誤りが知らせられる。それから
図13に示されているブロックCでカード挿入処理は終
わる。
【0045】次に図12を参照する。カード挿入処理は
ブロックBで続く。この点で、新たに挿入された機能カ
ードに対する装置ドライバ・スタブの記憶のために、装
置ドライバ・スタブRAM区域505に十分な空間を利
用できることが判定されている。処理ブロック827に
おいて、新たに挿入された機能カードからのDDIBヘ
ッダの一部が予め割当てられた装置ドライバ・スタブR
AM区域へコピーされる。とくに、DDIBヘッダのフ
ィールド411,413,415,417,419がス
タブ・ヘッダ630,632,634,636,638
へそれぞれコピーされる。処理ブロック829におい
て、装置ドライバ・スタブRAM区域内のRAMの付加
部分が装置ドライバ・スタブ・データのためにとってお
かれる。このスタブ・データ区域のサイズはDDIBヘ
ッダ内のパラメータ427により指定される。装置ドラ
イバ・スタブが機能カードから以前にロードされなかっ
たか、予めロードされた装置ドライバ・スタブのリスト
がコンピュータ装置のブートストラップ初期化の間にロ
ードされたとすると、処理は処理経路911を通って処
理ブロック913へ進む。処理ブロック913において
は、装置ドライバ・スタブ除去可能なコードが新たに挿
入された機能カードから、装置ドライバ・スタブRAM
区域505内の予め割当てえられた装置ドライバ・スタ
ブRAM区域へコピーされる。新たにロードされたコー
ドを正しく参照するために、処理ブロック915におい
て戦略オフセットと割込みオフセットがロードされる。
判定ブロック907を再び参照する。装置ドライバ・ス
タブが従来に機能カードまたは希望の初期化プレロード
・リストから以前にロードされたとすると、処理は処理
経路909を通って処理ブロック910へ進み、そこで
戦略およびオフセットリンクが以前にロードされた実行
可能なコードへセットされる。このようにして、以前に
ロードされた装置ドライバ・スタブを阻止できる。それ
から処理ブロック917で続く。
ブロックBで続く。この点で、新たに挿入された機能カ
ードに対する装置ドライバ・スタブの記憶のために、装
置ドライバ・スタブRAM区域505に十分な空間を利
用できることが判定されている。処理ブロック827に
おいて、新たに挿入された機能カードからのDDIBヘ
ッダの一部が予め割当てられた装置ドライバ・スタブR
AM区域へコピーされる。とくに、DDIBヘッダのフ
ィールド411,413,415,417,419がス
タブ・ヘッダ630,632,634,636,638
へそれぞれコピーされる。処理ブロック829におい
て、装置ドライバ・スタブRAM区域内のRAMの付加
部分が装置ドライバ・スタブ・データのためにとってお
かれる。このスタブ・データ区域のサイズはDDIBヘ
ッダ内のパラメータ427により指定される。装置ドラ
イバ・スタブが機能カードから以前にロードされなかっ
たか、予めロードされた装置ドライバ・スタブのリスト
がコンピュータ装置のブートストラップ初期化の間にロ
ードされたとすると、処理は処理経路911を通って処
理ブロック913へ進む。処理ブロック913において
は、装置ドライバ・スタブ除去可能なコードが新たに挿
入された機能カードから、装置ドライバ・スタブRAM
区域505内の予め割当てえられた装置ドライバ・スタ
ブRAM区域へコピーされる。新たにロードされたコー
ドを正しく参照するために、処理ブロック915におい
て戦略オフセットと割込みオフセットがロードされる。
判定ブロック907を再び参照する。装置ドライバ・ス
タブが従来に機能カードまたは希望の初期化プレロード
・リストから以前にロードされたとすると、処理は処理
経路909を通って処理ブロック910へ進み、そこで
戦略およびオフセットリンクが以前にロードされた実行
可能なコードへセットされる。このようにして、以前に
ロードされた装置ドライバ・スタブを阻止できる。それ
から処理ブロック917で続く。
【0046】処理ブロック917において、装置ドライ
バ・スタブRAM区域505内のスタブ・ヘッダ区域と
スタブ・データ区域が初期化される。それらの区域の初
期化はリンク・ポインタと、アダプタおよびソケット識
別情報と、装置ドライバ・スタブ独自識別とのローディ
ングを含む。カードに常駐するDDIBヘッダから対応
する情報を転送することによりそれらの区域にロードで
きる。処理ブロック919において、スタブ・データ内
のカード挿入フラッグがセットされて、カードがソケッ
トへ挿入されたこと、およびコンピュータ装置がアドレ
ス可能であることを示す。それから処理は図13に示さ
れているようにブロックEで終わる。
バ・スタブRAM区域505内のスタブ・ヘッダ区域と
スタブ・データ区域が初期化される。それらの区域の初
期化はリンク・ポインタと、アダプタおよびソケット識
別情報と、装置ドライバ・スタブ独自識別とのローディ
ングを含む。カードに常駐するDDIBヘッダから対応
する情報を転送することによりそれらの区域にロードで
きる。処理ブロック919において、スタブ・データ内
のカード挿入フラッグがセットされて、カードがソケッ
トへ挿入されたこと、およびコンピュータ装置がアドレ
ス可能であることを示す。それから処理は図13に示さ
れているようにブロックEで終わる。
【0047】次に図13を参照する。処理ブロック10
01において、新たに挿入された装置ドライバ・スタブ
がオペレーティング・システムにより維持されている装
置ドライバのリンクされたリストへ加えられる。新たに
挿入された装置ドライバ・スタブをこのリンクされたリ
ストへ加えることは、リンクされたリスト内の次の装置
ドライバ・ブロックを指すためにスタブ・ヘッダ内のポ
インタをセットすることを含む。同様に、以前の装置ド
ライバ・ブロックのスタブ・ヘッダ・ポインタがセット
されて新たに挿入された装置ドライバ・スタブを指す。
新たに挿入されたカードに対応する装置ドライバ・スタ
ブが処理ブロック1009において起動される。装置ド
ライバ・スタブの起動の結果として、装置ドライバ・ス
タブは、新たに挿入されたカードに常駐するフル装置ド
ライバ・コード309の起動を可能にする。カードに常
駐するフル装置ドライバ・コード309の起動は可能に
され、新たに挿入されたカードへのマッピングが許され
る。したがって、装置ドライバ・スタブはコンピュータ
装置ソフトウェアとカードに常駐する装置ドライバおよ
びカードに常駐する機能の間のリンクを行う。
01において、新たに挿入された装置ドライバ・スタブ
がオペレーティング・システムにより維持されている装
置ドライバのリンクされたリストへ加えられる。新たに
挿入された装置ドライバ・スタブをこのリンクされたリ
ストへ加えることは、リンクされたリスト内の次の装置
ドライバ・ブロックを指すためにスタブ・ヘッダ内のポ
インタをセットすることを含む。同様に、以前の装置ド
ライバ・ブロックのスタブ・ヘッダ・ポインタがセット
されて新たに挿入された装置ドライバ・スタブを指す。
新たに挿入されたカードに対応する装置ドライバ・スタ
ブが処理ブロック1009において起動される。装置ド
ライバ・スタブの起動の結果として、装置ドライバ・ス
タブは、新たに挿入されたカードに常駐するフル装置ド
ライバ・コード309の起動を可能にする。カードに常
駐するフル装置ドライバ・コード309の起動は可能に
され、新たに挿入されたカードへのマッピングが許され
る。したがって、装置ドライバ・スタブはコンピュータ
装置ソフトウェアとカードに常駐する装置ドライバおよ
びカードに常駐する機能の間のリンクを行う。
【0048】新たに挿入されたカードのためのカード・
メモリ区域内に別の装置ドライバ情報が存在するものと
すると、処理は処理経路1013を通って図11に示さ
れているブロックFへ進み、それから処理ブロック80
7において以後の装置ドライバ情報ブロックが読取られ
る。機能カードは2セット以上の機能を含むことができ
るから、カード当たり2つ以上の装置ドライバを存在さ
せることができる。しかし、新たに挿入されたカードの
ために他の装置ドライバ情報ブロックが存在しないとす
ると、処理は処理経路1017を通って処理ブロック1
017へ進み、そこで挿入処理は終わる。
メモリ区域内に別の装置ドライバ情報が存在するものと
すると、処理は処理経路1013を通って図11に示さ
れているブロックFへ進み、それから処理ブロック80
7において以後の装置ドライバ情報ブロックが読取られ
る。機能カードは2セット以上の機能を含むことができ
るから、カード当たり2つ以上の装置ドライバを存在さ
せることができる。しかし、新たに挿入されたカードの
ために他の装置ドライバ情報ブロックが存在しないとす
ると、処理は処理経路1017を通って処理ブロック1
017へ進み、そこで挿入処理は終わる。
【0049】次に、各装置ドライバ・スタブのための処
理論理が示されている図14を参照する。この装置ドラ
イバ・スタブ処理論理はカード挿入事象またはカード除
去事象に応じて起動される。たとえば、図10に示され
ている処理ブロック1129と図13に示されている処
理ブロック1009において、装置ドライバ・スタブ論
理に応じて装置ドライバ・スタブ処理論理は実行され
る。
理論理が示されている図14を参照する。この装置ドラ
イバ・スタブ処理論理はカード挿入事象またはカード除
去事象に応じて起動される。たとえば、図10に示され
ている処理ブロック1129と図13に示されている処
理ブロック1009において、装置ドライバ・スタブ論
理に応じて装置ドライバ・スタブ処理論理は実行され
る。
【0050】ロードされた後で装置ドライバの動作を初
期化するために装置ドライバ・スタブが起動されるもの
とすると、処理は処理経路1207を通って判定ブロッ
ク1204へ進む。装置ドライバ・スタブの起動がカー
ド挿入事象の結果であるとすると、処理は処理経路12
06を通って処理ブロック1210へ進み、そこで挿入
されたカードのカード・メモリ区域がアクセスされる。
処理ブロック1214において、必要な構成情報または
カード区画情報が装置ドライバ・スタブにより得られ
る。機能カードに常駐するフル装置ドライバへのマッピ
ングが処理ブロック1213において可能にされる。カ
ードに常駐するフル装置ドライバへのアクセスが処理ブ
ロック1216において可能にされる。カードに常駐す
るフル装置ドライバへのアクセスが可能にされた結果と
して、それに続いて処理制御をカードに常駐するフル装
置ドライバへ転送でき、そこで機能カードの機能を完全
に利用できる。カードに常駐するフル装置ドライバを実
行することにより、コンピュータ装置において実行する
ために、フル装置ドライバが実行できるコードをコンピ
ュータ装置のメモリへ転送する必要はない。
期化するために装置ドライバ・スタブが起動されるもの
とすると、処理は処理経路1207を通って判定ブロッ
ク1204へ進む。装置ドライバ・スタブの起動がカー
ド挿入事象の結果であるとすると、処理は処理経路12
06を通って処理ブロック1210へ進み、そこで挿入
されたカードのカード・メモリ区域がアクセスされる。
処理ブロック1214において、必要な構成情報または
カード区画情報が装置ドライバ・スタブにより得られ
る。機能カードに常駐するフル装置ドライバへのマッピ
ングが処理ブロック1213において可能にされる。カ
ードに常駐するフル装置ドライバへのアクセスが処理ブ
ロック1216において可能にされる。カードに常駐す
るフル装置ドライバへのアクセスが可能にされた結果と
して、それに続いて処理制御をカードに常駐するフル装
置ドライバへ転送でき、そこで機能カードの機能を完全
に利用できる。カードに常駐するフル装置ドライバを実
行することにより、コンピュータ装置において実行する
ために、フル装置ドライバが実行できるコードをコンピ
ュータ装置のメモリへ転送する必要はない。
【0051】判定ブロック1204を再び参照する。装
置ドライバ・スタブがカード挿入事象に応じて起動され
ないとすると、カード除去事象がとられる。この場合に
は、処理は処理経路1205を通って処理ブロック12
18へ進み、そこでカードの除去に応じてフル装置ドラ
イバに対するアクセスが不能にされる。このようにし
て、コンピュータ装置ソフトウェアが除去されたカード
を不注意でアクセスすることを試みることが阻止され
る。
置ドライバ・スタブがカード挿入事象に応じて起動され
ないとすると、カード除去事象がとられる。この場合に
は、処理は処理経路1205を通って処理ブロック12
18へ進み、そこでカードの除去に応じてフル装置ドラ
イバに対するアクセスが不能にされる。このようにし
て、コンピュータ装置ソフトウェアが除去されたカード
を不注意でアクセスすることを試みることが阻止され
る。
【0052】判定ブロック1203を再び参照する。装
置ドライバ・スタブの初期化のために装置ドライバ・ス
タブが起動されないとすると、処理は処理経路1205
を通って判定ブロック1209へ進む。初期化の後の装
置ドライバ・スタブの正常な動作の間に処理経路120
5をたどることが起きていた。この場合には、装置ドラ
イバ・スタブに対応するカードの存在が処理ブロック1
209において検査される。カードが除去されていたと
すると、処理は処理経路1211を通って処理ブロック
1217へ進み、そこで装置ドライバが決定した誤りが
戻され、ブロック1219において処理は終わる。しか
し、装置ドライバ・スタブに対応するカードが依然とし
て存在し、かつ起動されているとすると、処理は処理経
路1213を通って処理ブロック1215へ進み、そこ
で正常な装置ドライバ要求がフルカード常駐装置ドライ
バによりサービスされる。処理ブロック1215におい
て正常な要求が終わると、ブロック1219において処
理は終わる。以上、システム資源の装置ドライバをダイ
ナミックに構成するための方法と手段を有するコンピュ
ータ装置を説明した。
置ドライバ・スタブの初期化のために装置ドライバ・ス
タブが起動されないとすると、処理は処理経路1205
を通って判定ブロック1209へ進む。初期化の後の装
置ドライバ・スタブの正常な動作の間に処理経路120
5をたどることが起きていた。この場合には、装置ドラ
イバ・スタブに対応するカードの存在が処理ブロック1
209において検査される。カードが除去されていたと
すると、処理は処理経路1211を通って処理ブロック
1217へ進み、そこで装置ドライバが決定した誤りが
戻され、ブロック1219において処理は終わる。しか
し、装置ドライバ・スタブに対応するカードが依然とし
て存在し、かつ起動されているとすると、処理は処理経
路1213を通って処理ブロック1215へ進み、そこ
で正常な装置ドライバ要求がフルカード常駐装置ドライ
バによりサービスされる。処理ブロック1215におい
て正常な要求が終わると、ブロック1219において処
理は終わる。以上、システム資源の装置ドライバをダイ
ナミックに構成するための方法と手段を有するコンピュ
ータ装置を説明した。
【図面の簡単な説明】
【図1】本発明が動作するコンピュータ装置のアーキテ
クチャのブロック図である。
クチャのブロック図である。
【図2】複数の機能カード挿入スロットを含むコンピュ
ータ・ハウジングの例である。
ータ・ハウジングの例である。
【図3】除去可能な電子機能カードの内容のブロック図
である。
である。
【図4】装置ドライバ情報ブロック・ヘッダの内容を示
す。
す。
【図5】機能カード・メモリの内容に関連する装置ドラ
イバ情報の内容を示す。
イバ情報の内容を示す。
【図6】装置ドライバ・スタブRAM区域の内容(a)
とスタブ・ブロックの内容(b)を示す。
とスタブ・ブロックの内容(b)を示す。
【図7】スタブ・ヘッダの内容(a)とスタブ・データ
区域の内容を示す。
区域の内容を示す。
【図8】好適な実施例の処理論理を示す流れ図である。
【図9】好適な実施例の処理論理を示す流れ図である。
【図10】好適な実施例の処理論理を示す流れ図であ
る。
る。
【図11】好適な実施例の処理論理を示す流れ図であ
る。
る。
【図12】好適な実施例の処理論理を示す流れ図であ
る。
る。
【図13】好適な実施例の処理論理を示す流れ図であ
る。
る。
【図14】好適な実施例の処理論理を示す流れ図であ
る。
る。
101 プロセッサ 102 ランダム・アクセス・メモリ 103 読出し専用メモリ 104 入力装置 105 表示装置 106 データ記憶装置 107 出力装置 108 除去可能な機能カード・インターフェイス
Claims (2)
- 【請求項1】 プロセッサと、システム・メモリと、除
去可能なシステム資源を受けるためのインターフェイス
とを有するコンピュータ装置で除去可能なコンピュータ
装置資源の装置ドライバをダイナミックに構成する方法
において、 装置ドライバ・スタブ処理論理と全装置ドライバ処理論
理を含む資源メモリを有する除去可能なシステム資源が
前記インターフェイスへ結合されたことの指示を受ける
過程と、 前記装置ドライバ・スタブ処理論理を前記システム・メ
モリへコピーする過程と、 前記システム・メモリから装置ドライバ・スタブ処理論
理を実行する過程と、 前記装置ドライバ・スタブ処理論理により前記全装置ド
ライバ処理論理をアクセスすることを可能にする過程
と、 前記資源メモリから前記全装置ドライバ処理論理を実行
する過程と、を備える除去可能なコンピュータ装置資源
の装置ドライバをダイナミックに構成する方法。 - 【請求項2】 プロセッサと、システム・メモリと、除
去可能なシステム資源を受けるためのインターフェイス
とを有するコンピュータ装置の、除去可能なコンピュー
タ装置資源の装置ドライバをダイナミックに構成する装
置において、 装置ドライバ・スタブ処理論理と全装置ドライバ処理論
理を含む資源メモリを有する除去可能なシステム資源が
前記インターフェイスへ結合されたことの指示を受ける
手段と、 前記装置ドライバ・スタブ処理論理を前記システム・メ
モリへコピーする手段と、 前記システム・メモリから装置ドライバ・スタブ処理論
理を実行する手段と、 前記装置ドライバ・スタブ処理論理により前記全装置ド
ライバ処理論理をアクセスすることを可能にする手段
と、 前記資源メモリから前記全装置ドライバ処理論理を実行
する手段と、を備える除去可能なコンピュータ装置資源
の装置ドライバをダイナミックに構成する装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/815,331 US5319751A (en) | 1991-12-27 | 1991-12-27 | Device driver configuration in a computer system |
US815,331 | 1991-12-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05265919A true JPH05265919A (ja) | 1993-10-15 |
Family
ID=25217482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4358809A Pending JPH05265919A (ja) | 1991-12-27 | 1992-12-28 | 除去可能なコンピュータ装置資源の装置ドライバをダイナミックに構成する方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (4) | US5319751A (ja) |
JP (1) | JPH05265919A (ja) |
DE (1) | DE4244266C2 (ja) |
GB (1) | GB2262825B (ja) |
Families Citing this family (299)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0820975B2 (ja) * | 1990-03-29 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムおよびコンピュータ上で実行されるトレース方法 |
US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
JP2986299B2 (ja) * | 1992-04-15 | 1999-12-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 周辺装置接続検出システム |
JP2724078B2 (ja) * | 1992-09-29 | 1998-03-09 | 株式会社日立製作所 | 二重化メモリの保守方法 |
US5535342A (en) * | 1992-11-05 | 1996-07-09 | Giga Operations Corporation | Pld connector for module having configuration of either first PLD or second PLD and reconfigurable bus for communication of two different bus protocols |
EP0620933A4 (en) * | 1992-11-12 | 1995-03-01 | New Media Corp | RECONFIGURABLE INTERFACE BETWEEN A COMPUTER AND PERIPHERAL DEVICES. |
US5590376A (en) * | 1992-11-13 | 1996-12-31 | Toshiba America Information Systems, Inc. | Apparatus and method for detecting and updating status of removable storage system using shared interrupt and software flag |
EP0669023A1 (en) * | 1992-11-16 | 1995-08-30 | Microsoft Corporation | Method and system for loading device drivers; method for organizing a read only memory unit to be used in a computer system operable without a storage disk |
US5991530A (en) * | 1993-02-05 | 1999-11-23 | Canon Denshi Kabushiki Kaisha | Interface device receivable in card storage device slot of host computer |
EP0610677A3 (en) * | 1993-02-12 | 1995-08-02 | Ibm | Communication device management module operating in two modes. |
US5530858A (en) * | 1993-04-01 | 1996-06-25 | Intel Corporation | Method and apparatus for background processing for PCMCIA card services |
US5696970A (en) * | 1993-04-01 | 1997-12-09 | Intel Corporation | Architecture for implementing PCMCIA card services under the windows operating system in enhanced mode |
US5664195A (en) * | 1993-04-07 | 1997-09-02 | Sequoia Systems, Inc. | Method and apparatus for dynamic installation of a driver on a computer system |
US5638530A (en) * | 1993-04-20 | 1997-06-10 | Texas Instruments Incorporated | Direct memory access scheme using memory with an integrated processor having communication with external devices |
US5537654A (en) * | 1993-05-20 | 1996-07-16 | At&T Corp. | System for PCMCIA peripheral to execute instructions from shared memory where the system reset signal causes switching between modes of operation by alerting the starting address |
CA2126950A1 (en) * | 1993-07-30 | 1995-01-31 | Bryan M. Willman | Booting a computer system using a last known good set of configuration data |
CN1113302C (zh) * | 1993-07-30 | 2003-07-02 | 佳能株式会社 | 通过通信线路控制设备的控制器和方法 |
JPH0765540A (ja) * | 1993-08-27 | 1995-03-10 | Olympus Optical Co Ltd | 光カードの情報管理装置 |
US7137011B1 (en) * | 1993-09-01 | 2006-11-14 | Sandisk Corporation | Removable mother/daughter peripheral card |
US5887145A (en) * | 1993-09-01 | 1999-03-23 | Sandisk Corporation | Removable mother/daughter peripheral card |
US5537597A (en) * | 1993-09-27 | 1996-07-16 | Intel Corporation | Method and apparatus for supporting real mode card services clients with a protected mode card services implementation |
US5628027A (en) * | 1993-10-29 | 1997-05-06 | Compaq Computer Corporation | Method of determining the configuration of devices installed on a computer bus |
US5870609A (en) * | 1993-12-17 | 1999-02-09 | Xircom, Inc. | Technique for bootstrapping executable code to an adapter |
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 |
US5446869A (en) * | 1993-12-30 | 1995-08-29 | International Business Machines Corporation | Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card |
US5633890A (en) * | 1994-02-24 | 1997-05-27 | Ricoh Company, Ltd. | Method for intelligent data terminal equipment (DTE) data communication |
US5519851A (en) * | 1994-03-14 | 1996-05-21 | Sun Microsystems, Inc. | Portable PCMCIA interface for a host computer |
US5655148A (en) | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
US5787246A (en) * | 1994-05-27 | 1998-07-28 | Microsoft Corporation | System for configuring devices for a computer system |
US6763454B2 (en) * | 1994-05-27 | 2004-07-13 | Microsoft Corp. | System for allocating resources in a computer system |
US5748980A (en) * | 1994-05-27 | 1998-05-05 | Microsoft Corporation | System for configuring a computer system |
WO1995034863A1 (en) * | 1994-06-15 | 1995-12-21 | Thomson Consumer Electronics, Inc. | Smart card message transfer without microprocessor intervention |
GB2296156A (en) * | 1994-07-09 | 1996-06-19 | Vision 1 Int Ltd | Digitally networked video camera |
GB9413870D0 (en) * | 1994-07-09 | 1994-08-31 | Vision 1 Int Ltd | Digitally-networked active-vision camera |
JPH10503396A (ja) * | 1994-08-05 | 1998-03-31 | シーメンス アクチエンゲゼルシヤフト | 歯科x線診断装置 |
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 |
US5802558A (en) * | 1994-09-30 | 1998-09-01 | Intel Corporation | Method and apparatus for upgrading reprogrammable memory contents in a PCMCIA card |
US5664198A (en) * | 1994-10-26 | 1997-09-02 | Intel Corporation | High speed access to PC card memory using interrupts |
US5613095A (en) * | 1994-10-31 | 1997-03-18 | Motorola, Inc. | Peripheral card having independent functionally and method used therewith |
US5701476A (en) * | 1994-11-29 | 1997-12-23 | Intel Corporation | Method and apparatus for dynamically loading a driver routine in a computer memory |
US5745762A (en) * | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture supporting multiple system emulations |
US5745761A (en) * | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture with extension capability |
US5715459A (en) * | 1994-12-15 | 1998-02-03 | International Business Machines Corporation | Advanced graphics driver architecture |
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 |
US5636357A (en) * | 1994-12-21 | 1997-06-03 | Eurotronics Company | Memory card and method for operation in a plurality of systems having incompatible object code format requirements |
US5581768A (en) * | 1995-02-27 | 1996-12-03 | Intel Corporation | Method and apparatus for executing applications in place from write once/seldom memories |
US5628028A (en) * | 1995-03-02 | 1997-05-06 | Data Translation, Inc. | Reprogrammable PCMCIA card and method and apparatus employing same |
US5648990A (en) * | 1995-05-01 | 1997-07-15 | Motorola, Inc. | Radio accessory for communicating with a programmable computing device and method therefor |
US5802365A (en) * | 1995-05-05 | 1998-09-01 | Apple Computer, Inc. | Dynamic device matching using driver candidate lists |
US5630076A (en) * | 1995-05-05 | 1997-05-13 | Apple Computer, Inc. | Dynamic device matching using driver candidate lists |
US6446199B1 (en) * | 1995-06-06 | 2002-09-03 | International Business Machines Corporation | Disk drive incompatible firmware recovery |
US5802544A (en) * | 1995-06-07 | 1998-09-01 | International Business Machines Corporation | Addressing multiple removable memory modules by remapping slot addresses |
US6104876A (en) * | 1995-06-07 | 2000-08-15 | Cirrus Logic, Inc. | PCI bus master retry fixup |
US5732282A (en) * | 1995-06-30 | 1998-03-24 | Sun Microsystems, Inc. | Virtual device driver registry having a globally unique identifier supplying virtual driver call information to the requesting program |
EP0752646B1 (en) * | 1995-07-07 | 2002-03-27 | Sun Microsystems, Inc. | Data access implementation of device driver interface |
KR100244836B1 (ko) * | 1995-11-02 | 2000-02-15 | 포만 제프리 엘 | 컴퓨터시스템 및 다수의 기능카드 중 한개의 기능카드를 격리하는 방법 |
US6393492B1 (en) * | 1995-11-03 | 2002-05-21 | Texas Instruments Incorporated | Method and arrangement for operating a mass memory storage peripheral computer device connected to a host computer |
US5652832A (en) * | 1995-11-13 | 1997-07-29 | Systemsoft Corporation | Method and apparatus for diagnosis and correction of peripheral device allocation faults |
US5752032A (en) * | 1995-11-21 | 1998-05-12 | Diamond Multimedia Systems, Inc. | Adaptive device driver using controller hardware sub-element identifier |
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 |
US6289396B1 (en) * | 1995-11-21 | 2001-09-11 | Diamond Multimedia Systems, Inc. | Dynamic programmable mode switching device driver architecture |
US5794245A (en) * | 1995-12-15 | 1998-08-11 | International Business Machines Corporation | Generic wrapper for decompressing DOS driver sys files |
US5835772A (en) * | 1995-12-29 | 1998-11-10 | Intel Corporation | Method and apparatus for providing an interface between a system and a peripheral device |
US5734822A (en) * | 1995-12-29 | 1998-03-31 | Powertv, Inc. | Apparatus and method for preprocessing computer programs prior to transmission across a network |
US6094600A (en) * | 1996-02-06 | 2000-07-25 | Fisher-Rosemount Systems, Inc. | System and method for managing a transaction database of records of changes to field device configurations |
JP3080875B2 (ja) * | 1996-02-29 | 2000-08-28 | 株式会社東芝 | コンピュータシステムおよびその節電方法 |
US5719860A (en) * | 1996-03-22 | 1998-02-17 | Tellabs Wireless, Inc. | Wideband bus for wireless base station |
US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
US6421704B1 (en) | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
US6578044B1 (en) | 1997-11-17 | 2003-06-10 | Sun Microsystems, Inc. | Method and system for typesafe attribute matching |
US6463446B1 (en) | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
US6560656B1 (en) * | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
US6466947B2 (en) | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
US6708171B1 (en) | 1996-04-23 | 2004-03-16 | Sun Microsystems, Inc. | Network proxy |
US6832223B1 (en) | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6237024B1 (en) | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
US6138238A (en) | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
US5668996A (en) * | 1996-04-29 | 1997-09-16 | Microsoft Corporation | Rendering CD redbook audio using alternative storage locations and formats |
US5881285A (en) * | 1996-05-07 | 1999-03-09 | Intel Corporation | Associating a physical driver object with its logical contents |
US5974473A (en) * | 1996-06-14 | 1999-10-26 | Texas Instruments Incorporated | System for controlling insertion, locking, and removal of modules by removing plurality of device drivers for module to be removed from BIOS and informing BIOS of module removal |
US5862393A (en) * | 1996-10-07 | 1999-01-19 | Lxe, Inc. | System for managing power of a computer with removable devices |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US6728737B2 (en) | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
US6282675B1 (en) * | 1997-08-06 | 2001-08-28 | Macronix International Co., Ltd. | Fault-tolerant architecture for in-circuit programming |
US6151657A (en) * | 1996-10-28 | 2000-11-21 | Macronix International Co., Ltd. | Processor with embedded in-circuit programming structures |
US6842820B2 (en) | 1997-10-03 | 2005-01-11 | Macronix International Co., Ltd. | Processor with embedded in-circuit programming structures |
US6493788B1 (en) | 1996-10-28 | 2002-12-10 | Macronix International Co., Ltd. | Processor with embedded in-circuit programming structures |
US5875349A (en) * | 1996-12-04 | 1999-02-23 | Intersect Technologies, Inc. | Method and arrangement for allowing a computer to communicate with a data storage device |
US6003093A (en) * | 1996-12-19 | 1999-12-14 | Canon Kabushiki Kaisha | Architecture for image processing application |
KR100436003B1 (ko) * | 1996-12-23 | 2004-10-08 | 삼성전자주식회사 | 디바이스드라이버적재방법 |
US6279069B1 (en) * | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
US6260102B1 (en) * | 1996-12-26 | 2001-07-10 | Intel Corporation | Interface for flash EEPROM memory arrays |
US6125408A (en) * | 1997-03-10 | 2000-09-26 | Compaq Computer Corporation | Resource type prioritization in generating a device configuration |
US5901330A (en) * | 1997-03-13 | 1999-05-04 | Macronix International Co., Ltd. | In-circuit programming architecture with ROM and flash memory |
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 |
US6418485B1 (en) * | 1997-04-21 | 2002-07-09 | International Business Machines Corporation | System and method for managing device driver logical state information in an information handling system |
US5872956A (en) * | 1997-04-24 | 1999-02-16 | International Business Machines Corporation | Design methodology for device drivers supporting various operating systems network protocols and adapter hardware |
US6170028B1 (en) | 1997-05-13 | 2001-01-02 | Micron Electronics, Inc. | Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6247898B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Computer fan speed control system |
US6122758A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for mapping environmental resources to memory for program access |
US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
US6148355A (en) * | 1997-05-13 | 2000-11-14 | Micron Electronics, Inc. | Configuration management method for hot adding and hot replacing devices |
US6192434B1 (en) | 1997-05-13 | 2001-02-20 | Micron Electronics, Inc | System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
US6182180B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Apparatus for interfacing buses |
US5987554A (en) * | 1997-05-13 | 1999-11-16 | Micron Electronics, Inc. | Method of controlling the transfer of information across an interface between two buses |
US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
US6526333B1 (en) | 1997-05-13 | 2003-02-25 | Micron Technology, Inc. | Computer fan speed control system method |
US6292905B1 (en) | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
US6134668A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method of selective independent powering of portion of computer system through remote interface from remote interface power supply |
US6138250A (en) * | 1997-05-13 | 2000-10-24 | Micron Electronics, Inc. | System for reading system log |
US6249828B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver |
US6179486B1 (en) * | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver |
US6202111B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
US6253334B1 (en) | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
US6163849A (en) * | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
US6163853A (en) | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method for communicating a software-generated pulse waveform between two servers in a network |
US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
US6122746A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for powering up and powering down a server |
US6073255A (en) * | 1997-05-13 | 2000-06-06 | Micron Electronics, Inc. | Method of reading system log |
US6338150B1 (en) * | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6266721B1 (en) | 1997-05-13 | 2001-07-24 | Micron Electronics, Inc. | System architecture for remote access and control of environmental management |
US6282673B1 (en) | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
US6134673A (en) * | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method for clustering software applications |
US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
US6269417B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Method for determining and displaying the physical slot number of an expansion bus device |
US6499073B1 (en) | 1997-05-13 | 2002-12-24 | Micron Electronics, Inc. | System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals |
US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
US6304929B1 (en) | 1997-05-13 | 2001-10-16 | Micron Electronics, Inc. | Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
US5892928A (en) * | 1997-05-13 | 1999-04-06 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver |
US6219734B1 (en) | 1997-05-13 | 2001-04-17 | Micron Electronics, Inc. | Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver |
US6173346B1 (en) | 1997-05-13 | 2001-01-09 | Micron Electronics, Inc. | Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals |
US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
US6032201A (en) * | 1997-06-19 | 2000-02-29 | Cirrus Logic, Inc. | Plug and play system using proxy for retrieving correct information about current device from system registry when current device is not the newly installed device |
US5978862A (en) * | 1997-08-08 | 1999-11-02 | Toshiba America Information Systems, Inc. | PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device |
JPH1185526A (ja) * | 1997-09-12 | 1999-03-30 | Hitachi Ltd | プログラムロード方法 |
US6009480A (en) * | 1997-09-12 | 1999-12-28 | Telxon Corporation | Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device |
US6088816A (en) * | 1997-10-01 | 2000-07-11 | Micron Electronics, Inc. | Method of displaying system status |
US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for automatically configuring a server after hot add of a device |
US6154835A (en) * | 1997-10-01 | 2000-11-28 | Micron Electronics, Inc. | Method for automatically configuring and formatting a computer system and installing software |
US6175490B1 (en) | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
US6035420A (en) * | 1997-10-01 | 2000-03-07 | Micron Electronics, Inc. | Method of performing an extensive diagnostic test in conjunction with a bios test routine |
US6138179A (en) * | 1997-10-01 | 2000-10-24 | Micron Electronics, Inc. | System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk |
US6065053A (en) * | 1997-10-01 | 2000-05-16 | Micron Electronics, Inc. | System for resetting a server |
EP0911729A1 (en) * | 1997-10-06 | 1999-04-28 | Canon Kabushiki Kaisha | Twain architecture |
US5926775A (en) * | 1997-10-08 | 1999-07-20 | National Instruments Corporation | Mini driver software architecture for a data acquisition system |
US6047124A (en) * | 1997-10-31 | 2000-04-04 | Sun Microsystems, Inc. | System and method for tracing device drivers using a computer |
US6292847B1 (en) * | 1997-12-03 | 2001-09-18 | Kabushiki Kaisha Kobe Seiko Sho. | Digital information reproducing apparatus and digital information distributing system |
GB2347576B (en) * | 1998-01-07 | 2002-07-10 | Intel Corp | Automatic transfer of image information between imaging device and host system |
JPH11203231A (ja) * | 1998-01-09 | 1999-07-30 | Fuji Xerox Co Ltd | 電子装置拡張システム |
JP2002505473A (ja) | 1998-02-26 | 2002-02-19 | サンマイクロシステムズ インコーポレーテッド | 決定性ハッシュでリモートメソッドを識別する方法とシステム |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
JP2002505467A (ja) * | 1998-02-26 | 2002-02-19 | サン・マイクロシステムズ・インコーポレーテッド | 分散システムにおける動的参照サービス |
US6065067A (en) * | 1998-03-05 | 2000-05-16 | Compaq Computer Corporation | System, method and program for controlling access to an input/output device possible resource settings data in an advanced configuration and power interface operating system |
US6594708B1 (en) | 1998-03-26 | 2003-07-15 | Sun Microsystems, Inc. | Apparatus and method for object-oriented memory system |
US6189050B1 (en) * | 1998-05-08 | 2001-02-13 | Compaq Computer Corporation | Method and apparatus for adding or removing devices from a computer system without restarting |
US6178468B1 (en) * | 1998-06-19 | 2001-01-23 | Hewlett-Packard Company | Real time supply PF plug-and-play installation resources |
US6434694B1 (en) | 1998-06-29 | 2002-08-13 | Sun Microsystems, Inc. | Security for platform-independent device drivers |
US6202146B1 (en) * | 1998-06-29 | 2001-03-13 | Sun Microsystems, Inc. | Endianness checking for platform-independent device drivers |
US6202147B1 (en) | 1998-06-29 | 2001-03-13 | Sun Microsystems, Inc. | Platform-independent device drivers |
US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
US6567860B1 (en) | 1998-10-30 | 2003-05-20 | Computer Associates Think, Inc. | Method and apparatus for new device driver installation by an operating system |
US6279030B1 (en) * | 1998-11-12 | 2001-08-21 | International Business Machines Corporation | Dynamic JAVA™ class selection and download based on changeable attributes |
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 |
US6256059B1 (en) * | 1999-01-07 | 2001-07-03 | Intel Corporation | Automatic transfer of image information between imaging device and host system |
US6490493B1 (en) | 1999-01-21 | 2002-12-03 | Rosemount Inc. | Industrial process device management software |
US6360364B1 (en) * | 1999-03-17 | 2002-03-19 | Microsoft Corporation | System and method for installing an application on a portable computer |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
FI991167A (fi) * | 1999-05-24 | 2000-11-25 | Nokia Mobile Phones Ltd | Menetelmä käyttöliittymäohjelmiston lataamiseksi |
US8212893B2 (en) * | 1999-06-08 | 2012-07-03 | Verisign, Inc. | Digital camera device and methodology for distributed processing and wireless transmission of digital images |
US6532279B1 (en) * | 1999-06-11 | 2003-03-11 | David D. Goodman | High-speed data communication over a residential telephone wiring network |
US6618630B1 (en) | 1999-07-08 | 2003-09-09 | Fisher-Rosemount Systems, Inc. | User interface that integrates a process control configuration system and a field device management system |
IL137503A0 (en) * | 1999-07-27 | 2001-07-24 | Inline Connection Corp | Universal serial bus adapter with automatic installation |
US20040230710A1 (en) * | 1999-07-27 | 2004-11-18 | Inline Connection Corporation | System and method of automatic installation of computer peripherals |
US6704824B1 (en) * | 1999-07-27 | 2004-03-09 | Inline Connection Corporation | Universal serial bus adapter with automatic installation |
WO2001011474A1 (fr) * | 1999-08-04 | 2001-02-15 | Fujitsu Limited | Procede et appareil de traitement des informations, et support associe |
US6539476B1 (en) * | 1999-08-12 | 2003-03-25 | Handspring, Inc. | Mobile computer system capable for copying set-up application including removal routine from peripheral device for removing device programs after the device is removed |
US6832379B1 (en) * | 1999-08-17 | 2004-12-14 | Emc Corporation | Computer architecture utilizing layered device drivers |
CN1142669C (zh) * | 2000-01-20 | 2004-03-17 | 国际商业机器公司 | 手持设备、智能卡接口设备及数据传输方法 |
US6728787B1 (en) * | 2000-03-31 | 2004-04-27 | Mitsubishi Electric Research Labs, Inc | System and method for locating and installing device drivers for peripheral devices |
US8135796B1 (en) | 2000-05-09 | 2012-03-13 | Oracle America, Inc. | Mechanism and apparatus for accessing and addressing services in a distributed computing environment |
US6792466B1 (en) | 2000-05-09 | 2004-09-14 | Sun Microsystems, Inc. | Trusted construction of message endpoints in a distributed computing environment |
US6789077B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment |
US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
US6643650B1 (en) | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US8001232B1 (en) | 2000-05-09 | 2011-08-16 | Oracle America, Inc. | Event message endpoints in a distributed computing environment |
US6789126B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
US7716492B1 (en) | 2000-05-09 | 2010-05-11 | Oracle America, Inc. | Method and apparatus to obtain service capability credentials |
US8082491B1 (en) | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
US6760815B1 (en) | 2000-06-02 | 2004-07-06 | Sun Microsystems, Inc. | Caching mechanism for a virtual heap |
US6763440B1 (en) | 2000-06-02 | 2004-07-13 | Sun Microsystems, Inc. | Garbage collection using nursery regions for new objects in a virtual heap |
US6934755B1 (en) | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US7065769B1 (en) * | 2000-06-30 | 2006-06-20 | Intel Corporation | Method for automatically installing and updating drivers |
JP2002041257A (ja) * | 2000-07-24 | 2002-02-08 | Minolta Co Ltd | プリンタドライバのインストール方法、プリンタドライバ用インストールプログラムを記録した記録媒体、およびプリンタドライバ用インストール装置 |
JP2002055824A (ja) * | 2000-08-09 | 2002-02-20 | Sony Corp | 電子装置、それを使用する機器及びデータ読み込み方法 |
US7610331B1 (en) * | 2000-09-13 | 2009-10-27 | Lightsurf Technologies, Inc. | System and method for dynamic uploading and execution of applications and drivers between devices |
US6834331B1 (en) | 2000-10-24 | 2004-12-21 | Starfish Software, Inc. | System and method for improving flash memory data integrity |
US11467856B2 (en) * | 2002-12-12 | 2022-10-11 | Flexiworld Technologies, Inc. | Portable USB device for internet access service |
US10915296B2 (en) | 2000-11-01 | 2021-02-09 | Flexiworld Technologies, Inc. | Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails |
US20020051200A1 (en) * | 2000-11-01 | 2002-05-02 | Chang William Ho | Controller for device-to-device pervasive digital output |
US10860290B2 (en) | 2000-11-01 | 2020-12-08 | Flexiworld Technologies, Inc. | Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11 |
US11204729B2 (en) | 2000-11-01 | 2021-12-21 | Flexiworld Technologies, Inc. | Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service |
AU2002239325A1 (en) | 2000-11-20 | 2002-05-27 | Flexiworld Technologies, Inc. | Systems and methods for mobile and pervasive output |
US7076536B2 (en) * | 2000-12-21 | 2006-07-11 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier |
US7165109B2 (en) * | 2001-01-12 | 2007-01-16 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device |
US20020097417A1 (en) * | 2001-01-19 | 2002-07-25 | Chang William Ho | System for universal data output |
US6591358B2 (en) * | 2001-01-26 | 2003-07-08 | Syed Kamal H. Jaffrey | Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU |
EP1248193A1 (en) * | 2001-04-02 | 2002-10-09 | Hewlett-Packard Company | Initialisation module for a device driver |
US20020152336A1 (en) * | 2001-04-17 | 2002-10-17 | Frank Tso | System and method of installing a driver of an expansion card on a portable electronic device |
KR100671153B1 (ko) * | 2001-04-25 | 2007-01-17 | 엘지전자 주식회사 | 디바이스 드라이버 설치방법 |
US6900980B2 (en) * | 2001-05-02 | 2005-05-31 | Palm, Inc. | Synchronization cradle with expansion card slots |
US20020188938A1 (en) * | 2001-06-11 | 2002-12-12 | Dong Mimi Chu | System and method for providing application software for a peripheral device |
US7155560B2 (en) * | 2001-06-27 | 2006-12-26 | Intel Corporation | Method and apparatus for storing data in flash memory |
US7228366B2 (en) * | 2001-06-29 | 2007-06-05 | Intel Corporation | Method and apparatus for deterministic removal and reclamation of work items from an expansion bus schedule |
CN1122281C (zh) * | 2001-06-30 | 2003-09-24 | 深圳市朗科科技有限公司 | 一种多功能半导体存储装置 |
GB2378531B (en) * | 2001-07-11 | 2003-04-16 | Sendo Int Ltd | Software driver code usage |
US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US7093265B1 (en) * | 2001-09-21 | 2006-08-15 | Lsi Logic Corporation | Method and apparatus for providing highly-transparent, host-based multi-pathing support |
US6944867B2 (en) * | 2001-10-04 | 2005-09-13 | Lenovo (Singapore) Pte. Ltd. | Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems |
KR100418964B1 (ko) * | 2001-10-23 | 2004-02-14 | 엘지전자 주식회사 | 피시아이 시스템 이중화 장치 |
US7724281B2 (en) * | 2002-02-04 | 2010-05-25 | Syniverse Icx Corporation | Device facilitating efficient transfer of digital content from media capture device |
US7017034B2 (en) * | 2002-08-07 | 2006-03-21 | Hewlett-Packard Development Company, L.P. | System and method for using a firmware interface table to dynamically load multiple ACPI SSDT tables |
US6990576B2 (en) * | 2002-08-07 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | System and method for using a firmware interface table to dynamically load an ACPI SSDT |
US20040109188A1 (en) | 2002-09-13 | 2004-06-10 | Kunihiro Akiyoshi | Image forming apparatus and methods used in the image forming apparatus |
TW556905U (en) * | 2002-09-27 | 2003-10-01 | Carry Computer Eng Co Ltd | Memory card adapting device |
US20040064828A1 (en) * | 2002-10-01 | 2004-04-01 | Cox David Payton | Supplanting first device objects with second device objects |
TW200410140A (en) * | 2002-12-03 | 2004-06-16 | Via Tech Inc | An initialization process in a device driver |
WO2004055638A2 (en) | 2002-12-12 | 2004-07-01 | Flexiworld Technologies, Inc. | Wireless communication between computing devices |
US20040122973A1 (en) * | 2002-12-19 | 2004-06-24 | Advanced Micro Devices, Inc. | System and method for programming hyper transport routing tables on multiprocessor systems |
US7076648B2 (en) * | 2003-02-19 | 2006-07-11 | American Megatrends, Inc. | Methods and computer systems for selection of a DSDT |
US7058801B2 (en) * | 2003-02-19 | 2006-06-06 | American Megatrends, Inc. | Methods and computer systems for updating values of a DSDT |
US8805981B2 (en) * | 2003-03-25 | 2014-08-12 | Advanced Micro Devices, Inc. | Computing system fabric and routing configuration and description |
EP1473630A3 (en) * | 2003-04-11 | 2007-10-10 | Samsung Electronics Co., Ltd. | Computer system and method of setting an interface card therein |
CN101208657B (zh) | 2003-04-11 | 2017-11-14 | 富意科技 | 一种便携式集成电路存储设备及其运行方法 |
US8041915B1 (en) * | 2003-06-11 | 2011-10-18 | Globalfoundries Inc. | Faster memory access in non-unified memory access systems |
EP1639802A1 (en) * | 2003-06-30 | 2006-03-29 | Thomson Licensing | Removable media storage device for a video recording or reproducing device |
US20050015536A1 (en) * | 2003-07-14 | 2005-01-20 | Kuei-Jung Lee | Peripheral device having a personal disk used for storing device drivers |
US7523453B2 (en) | 2003-07-31 | 2009-04-21 | International Business Machines Corporation | System, method and program product for maintaining session information during dynamic resource additions or updates |
DE10337856A1 (de) * | 2003-08-18 | 2005-03-17 | Fujitsu Siemens Computers Gmbh | Verfahren zum Starten eines Computersystems mit einem Speichermedium |
US7434053B2 (en) * | 2003-08-28 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Methods and systems for providing an identification key to a printing device |
US7251753B2 (en) * | 2003-09-17 | 2007-07-31 | International Business Machines Corporation | Apparatus, system, and method for identifying a faulty communication module |
US20050080973A1 (en) * | 2003-09-30 | 2005-04-14 | Kuei-Jung Lee | Peripheral device having a personal disk used for storing device drivers and driving method thereof |
US7421710B2 (en) * | 2003-10-08 | 2008-09-02 | Lsi Corporation | System and method of creating virtual data paths using a multiple-path driver |
US20050086640A1 (en) * | 2003-10-21 | 2005-04-21 | Mikko Kolehmainen | Initiating execution of application programs on a data processing arrangement |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
JP2005267089A (ja) * | 2004-03-17 | 2005-09-29 | Fuji Xerox Co Ltd | ドライバ管理方法および装置並びにプログラム |
CA2561130C (en) * | 2004-03-26 | 2018-01-30 | Absolute Software Corporation | Persistent servicing agent |
DE102004015834B3 (de) * | 2004-03-31 | 2005-03-03 | Fujitsu Siemens Computers Gmbh | Verfahren zur benutzerspezifischen Konfiguration eines Computers aus einer Gruppe von vorbereiteten Computern |
JP2005301513A (ja) * | 2004-04-08 | 2005-10-27 | Fujitsu Ltd | プログラム内蔵デバイス |
DE102004019367B4 (de) * | 2004-04-21 | 2006-03-16 | Infineon Technologies Ag | Verfahren zum Verifizieren von elektronischen Schaltungseinheiten und Vorrichtung zur Durchführung des Verfahrens |
US7613862B2 (en) * | 2004-08-10 | 2009-11-03 | Intel Corporation | Embedded driver for bus-connected device |
US7716386B1 (en) * | 2004-10-15 | 2010-05-11 | Broadcom Corporation | Component identification and transmission system |
US20060143621A1 (en) * | 2004-12-29 | 2006-06-29 | Wang Dan T S | Self-installing PCMCIA network card |
US8418226B2 (en) * | 2005-03-18 | 2013-04-09 | Absolute Software Corporation | Persistent servicing agent |
US20070016913A1 (en) * | 2005-07-13 | 2007-01-18 | Ibrahim Wael M | Computer device driver and method of operation |
US20070260760A1 (en) * | 2006-03-21 | 2007-11-08 | Chang Hsien-I | Method of loading device driver used with open firmware to optimize boot time and required memory |
US7783878B2 (en) * | 2006-04-28 | 2010-08-24 | Nokia Corporation | Methods for decoupling hardware settings from software |
US9395968B1 (en) * | 2006-06-30 | 2016-07-19 | American Megatrends, Inc. | Uniquely identifying and validating computer system firmware |
US7590835B1 (en) | 2006-06-30 | 2009-09-15 | American Megatrends, Inc. | Dynamically updating a computer system firmware image |
US7797696B1 (en) | 2006-06-30 | 2010-09-14 | American Megatrends, Inc. | Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure |
US8001314B2 (en) | 2006-09-12 | 2011-08-16 | Apple Inc. | Storing a driver for controlling a memory |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
JP5229855B2 (ja) * | 2007-03-29 | 2013-07-03 | 株式会社メガチップス | メモリシステム及びコンピュータシステム |
US7870327B1 (en) | 2007-04-25 | 2011-01-11 | Apple Inc. | Controlling memory operations using a driver and flash memory type tables |
US8458730B2 (en) * | 2008-02-05 | 2013-06-04 | International Business Machines Corporation | Multi-level driver configuration |
US20090259771A1 (en) * | 2008-04-09 | 2009-10-15 | Tanik Haluk K | Identification of memory cards by host |
US8473941B2 (en) * | 2008-07-08 | 2013-06-25 | Sandisk Il Ltd. | Dynamic file system restriction for portable storage devices |
TW201005529A (en) * | 2008-07-24 | 2010-02-01 | Jmicron Technology Corp | Method and system for dynamical managing removable device |
EP2390786A4 (en) * | 2009-01-26 | 2012-08-08 | Fujitsu Ltd | INFORMATION PROCESSOR WITH CONFIGURATION CHANGE FUNCTION, SYSTEM CONFIGURATION CHANGE METHOD, AND SYSTEM CONFIGURATION CHANGE PROGRAM |
US8463976B2 (en) * | 2009-06-23 | 2013-06-11 | Lg Electronics Inc. | Dual modem device and controlling method thereof |
TW201109927A (en) * | 2009-09-04 | 2011-03-16 | Giga Byte Tech Co Ltd | Operation system and operating method |
KR101303535B1 (ko) * | 2009-12-04 | 2013-09-03 | 한국전자통신연구원 | 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치 |
US8978044B2 (en) * | 2010-01-09 | 2015-03-10 | International Business Machines Corporation | Storage-system-based driver distribution apparatus and method |
US9396147B1 (en) | 2010-02-24 | 2016-07-19 | Open Invention Network Llc | Interconnection of peripheral devices on different electronic devices |
US8554957B1 (en) * | 2010-02-24 | 2013-10-08 | Open Invention Network, Llc | Method for creation of device drivers and device objects for peripheral devices |
US8554956B1 (en) * | 2010-02-24 | 2013-10-08 | Open Invention Network Llc | Method for creation of a device driver for a peripheral device |
US8935434B1 (en) | 2010-02-24 | 2015-01-13 | Open Invention Network, Llc | Interconnection of peripheral devices on different electronic devices |
US8533418B2 (en) * | 2010-06-30 | 2013-09-10 | International Business Machines Corporation | Memory allocation with identification of requesting loadable kernel module |
US9927788B2 (en) | 2011-05-19 | 2018-03-27 | Fisher-Rosemount Systems, Inc. | Software lockout coordination between a process control system and an asset management system |
US9547499B2 (en) | 2011-12-09 | 2017-01-17 | Microsoft Technology Licensing, Llc | Device configuration with cached pre-assembled driver state |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4237535A (en) * | 1979-04-11 | 1980-12-02 | Sperry Rand Corporation | Apparatus and method for receiving and servicing request signals from peripheral devices in a data processing system |
US4589063A (en) * | 1983-08-04 | 1986-05-13 | Fortune Systems Corporation | Data processing system having automatic configuration |
US4775931A (en) * | 1984-05-11 | 1988-10-04 | Hewlett-Packard Company | Dynamically configured computing device |
US5029077A (en) * | 1986-01-17 | 1991-07-02 | International Business Machines Corporation | System and method for controlling physical resources allocated to a virtual terminal |
JPH0664536B2 (ja) * | 1986-01-17 | 1994-08-22 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 仮想端末サブシステムの制御方法 |
US5109484A (en) * | 1986-04-09 | 1992-04-28 | International Business Machines Corporation | Self configuring terminal which polls loop network and generates list of connected devices for use in selectively downloading control programs |
JPH0644251B2 (ja) * | 1986-08-28 | 1994-06-08 | 日本電気株式会社 | デ−タ処理装置 |
US4905182A (en) * | 1987-03-13 | 1990-02-27 | Apple Computer, Inc. | Self-configuring memory management system with on card circuitry for non-contentious allocation of reserved memory space among expansion cards |
US5038320A (en) * | 1987-03-13 | 1991-08-06 | International Business Machines Corp. | Computer system with automatic initialization of pluggable option cards |
US4837680A (en) * | 1987-08-28 | 1989-06-06 | International Business Machines Corporation | Controlling asynchronously operating peripherals |
JP2569092B2 (ja) * | 1987-12-11 | 1997-01-08 | 株式会社日立製作所 | 入出力機器制御プログラムのアドレス解決方法 |
US5014193A (en) * | 1988-10-14 | 1991-05-07 | Compaq Computer Corporation | Dynamically configurable portable computer system |
US5214761A (en) * | 1989-05-08 | 1993-05-25 | Wang Laboratories, Inc. | Real-time adjustable-transform device driver for physical devices |
US5359713A (en) * | 1989-06-01 | 1994-10-25 | Legato Systems, Inc. | Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system |
US5136712A (en) * | 1989-06-29 | 1992-08-04 | Digital Equipment Corporation | Temporary object handling system and method in an object based computer operating system |
US5210875A (en) * | 1989-08-25 | 1993-05-11 | International Business Machines Corporation | Initial bios load for a personal computer system |
JPH0776952B2 (ja) * | 1990-02-02 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 追加デバイスのコンピュータ・モニタリング・システム |
JP3275261B2 (ja) * | 1990-03-09 | 2002-04-15 | セイコーエプソン株式会社 | 情報処理装置 |
WO1991014986A1 (en) * | 1990-03-23 | 1991-10-03 | Eastman Kodak Company | Virtual memory management and allocation arrangement for digital data processing system |
US5175820A (en) * | 1990-08-31 | 1992-12-29 | Advanced Micro Devices, Inc. | Apparatus for use with a computing device controlling communications with a plurality of peripheral devices including a feedback bus to indicate operational modes |
US5307491A (en) * | 1991-02-12 | 1994-04-26 | International Business Machines Corporation | Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error |
US5265252A (en) * | 1991-03-26 | 1993-11-23 | International Business Machines Corporation | Device driver system having generic operating system interface |
US5291585A (en) * | 1991-07-29 | 1994-03-01 | Dell Usa, L.P. | Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format |
US5319751A (en) * | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
JPH0821015B2 (ja) * | 1992-01-20 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータならびにそのシステム再構成化装置および方法 |
US5404524A (en) * | 1992-04-03 | 1995-04-04 | International Business Machines Corporation | System for identifying attached input pointing devices, loading associated software routines, and interacting with anyone input pointing device while disabling the others |
US5317695A (en) * | 1992-04-03 | 1994-05-31 | International Business Machines Corporation | Method and system for permitting communication between a data processing system and input pointing devices of multiple types |
US5302947A (en) * | 1992-07-31 | 1994-04-12 | Motorola, Inc. | Method and apparatus for loading a software program from a radio modem into an external computer |
US5325532A (en) * | 1992-09-25 | 1994-06-28 | Compaq Computer Corporation | Automatic development of operating system boot image |
US5339432A (en) * | 1992-10-13 | 1994-08-16 | Microsoft Corporation | Method and system for providing user control of device driver configuration |
-
1991
- 1991-12-27 US US07/815,331 patent/US5319751A/en not_active Expired - Lifetime
-
1992
- 1992-10-15 GB GB9221631A patent/GB2262825B/en not_active Expired - Fee Related
- 1992-12-28 JP JP4358809A patent/JPH05265919A/ja active Pending
- 1992-12-28 DE DE4244266A patent/DE4244266C2/de not_active Expired - Fee Related
-
1993
- 1993-01-22 US US08/007,580 patent/US5404494A/en not_active Expired - Lifetime
- 1993-01-22 US US08/007,849 patent/US5412798A/en not_active Expired - Lifetime
- 1993-02-19 US US08/019,798 patent/US6081850A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB2262825A (en) | 1993-06-30 |
US5319751A (en) | 1994-06-07 |
US5412798A (en) | 1995-05-02 |
US5404494A (en) | 1995-04-04 |
US6081850A (en) | 2000-06-27 |
DE4244266A1 (ja) | 1993-07-01 |
GB2262825B (en) | 1995-05-24 |
DE4244266C2 (de) | 1997-02-27 |
GB9221631D0 (en) | 1992-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05265919A (ja) | 除去可能なコンピュータ装置資源の装置ドライバをダイナミックに構成する方法および装置 | |
US5787019A (en) | System and method for handling dynamic changes in device states | |
KR100247719B1 (ko) | 주변 디바이스의 자동 인에이블 방법, 및 주변 디바이스의 자동 인에이블 프로그램을 저장한 기억 매체 | |
US5634058A (en) | Dynamically configurable kernel | |
US6591358B2 (en) | Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU | |
US5797031A (en) | Method and apparatus for peripheral device control by clients in plural memory addressing modes | |
US7430662B2 (en) | Techniques for initializing a device on an expansion card | |
US6550006B1 (en) | Method and apparatus to perform a remote boot | |
US5854905A (en) | Extensible bios for boot support of devices on multiple hierarchical buses | |
US5586268A (en) | Multiple peripheral adapter device driver architecture | |
US6658489B1 (en) | Method for replacing a device driver during system operation | |
US6311242B1 (en) | Method and apparatus for supporting dynamic insertion and removal of PCI devices | |
US5729767A (en) | System and method for accessing peripheral devices on a non-functional controller | |
US20030110369A1 (en) | Firmware extensions | |
WO1999066399A9 (en) | Method to reflect bios setup changes into acpi machine language | |
US7565521B2 (en) | Method for managing memory space during system initialization | |
US20030061312A1 (en) | Reduction of configuration time upon deployment of a configurable device in a shared resource environment | |
US8539214B1 (en) | Execution of a program module within both a PEI phase and a DXE phase of an EFI firmware | |
US6446139B1 (en) | Multiple chip single image BIOS | |
EP0581698A1 (en) | Programmable microprocessor booting technique | |
US7484083B1 (en) | Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment | |
US7757012B2 (en) | Configurable mapping of devices to bus functions | |
US8078637B1 (en) | Memory efficient peim-to-peim interface database | |
CN110928582A (zh) | 信息处理设备和配置信息处理设备的目标装置的方法 | |
EP0978789A2 (en) | Apparatus, method and system for upgrading a device with an incompatible processor |