JP3274604B2 - 周辺デバイスの自動イネーブル方法 - Google Patents

周辺デバイスの自動イネーブル方法

Info

Publication number
JP3274604B2
JP3274604B2 JP10665296A JP10665296A JP3274604B2 JP 3274604 B2 JP3274604 B2 JP 3274604B2 JP 10665296 A JP10665296 A JP 10665296A JP 10665296 A JP10665296 A JP 10665296A JP 3274604 B2 JP3274604 B2 JP 3274604B2
Authority
JP
Japan
Prior art keywords
card
device driver
operating
mode
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10665296A
Other languages
English (en)
Other versions
JPH09293041A (ja
Inventor
村 正 彦 篠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP10665296A priority Critical patent/JP3274604B2/ja
Priority to KR1019970006337A priority patent/KR100247719B1/ko
Priority to US08/829,561 priority patent/US5935228A/en
Publication of JPH09293041A publication Critical patent/JPH09293041A/ja
Application granted granted Critical
Publication of JP3274604B2 publication Critical patent/JP3274604B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パーソナル・コン
ピュータを始めとする情報処理システムに係り、特に、
PCカードなどの周辺デバイスを標準装備又は外部接続
するとともに、対応するデバイス・ドライバによって各
周辺デバイスを駆動するタイプの情報処理システムに関
する。更に詳しくは、本発明は、かかる情報処理システ
ムにおいて適用可能で、新たに着脱された周辺デバイス
を自動的にイネーブル/ディセーブルするための自動イ
ネーブル方法、及び周辺デバイスの自動イネーブル・プ
ロセスを実現するためのコンピュータ・プログラムを有
形的に格納したコンピュータ可読記憶媒体に関する。
【0002】
【従来の技術】昨今の技術革新に伴い、デスクトップ
型、ノートブック型など各種パーソナル・コンピュータ
(PC)が開発され市販されている。PCは、CPUや
メイン・メモリなどの基本的なデバイス類を標準装備し
た形態で出荷される一方、エンド・ユーザは自身のニー
ズに応じて周辺デバイスを拡張できるようになってい
る。また、PCは、一般には、オペレーティング・シス
テム(OS)と呼ばれる基本ソフトウェアの制御下で各
種コンピュータ処理を実行するようになっている。
【0003】PCカード:従来、周辺デバイスの拡張
は、パーソナル・コンピュータに用意されたバス・スロ
ットに「拡張アダプタ・カード」を装着する、という形
態で行われていた(図7(a)参照)。ビデオ・アダプ
タや、通信アダプタ、増設メモリ、SCSI(Small Co
mputer System interface)インターフェースなどが拡
張アダプタ・カードの最たる例である。
【0004】拡張アダプタ・カードによるシステム構成
の拡張は、とりわけデスクトップ・コンピュータにとっ
ては有効であった。しかしながら、ノートブック・コン
ピュータの場合、小型軽量を特徴とした結果として、本
体内の実装密度が極度に高くなり、提供できるバス・ス
ロット数やメディアの収納空間が著しく制限されてい
る。すなわち、ノートブック・コンピュータにとって
は、拡張アダプタ・カードによるシステム構成の増設に
は、限界があった。
【0005】いわゆるPCカードは、ノートブック・コ
ンピュータの拡張性を補うことを初期目的として開発さ
れた、クレジット・カード大の周辺デバイスである。ノ
ートブック・コンピュータは、PCカードを収容するた
めの収納空間とこれを電気的に接続するためのコネクタ
を持つスロット(すなわちPCカード・スロット)を備
えることによって、比較的容易にシステム構成を拡張す
ることができる(図7(b)参照)。PCカードの機械
的及び電気的な仕様に関するガイドラインは、PCMC
IA(Personal Computer Memory Card International
Association)とJEIDA(Japan Electronic Indust
ry Development Association)が中心となって、国際標
準として策定されている。現在、3.3mm厚のTyp
eI、5.5mm厚のTypeII、10.5mm厚の
TypeIIIという3種類のPCカードが出荷されて
いる。TypeIは主にメモリ・カードとして利用され
ている。TypeIIはファクシミリ/モデムやEth
ernetアダプタ、SCSIアダプタなどの用とに使
われている。また、TypeIIIは主にハード・ディ
スク内蔵カードとして利用されている。最近では、PC
カードの品揃えが豊富になってきたこと、低価格化して
きたことなどにより、ノートブックのみならずデスクト
ップ・コンピュータも、PCカード・スロットを装備す
るようになってきた。1994年夏に米国政府が「全て
のデスクトップ・コンピュータにPCカード・スロット
を装備すること」を調達基準として打ち出したことか
ら、PCカードの普及はさらに拍車がかかってきてい
る。
【0006】PCカードの利用形態の大きな特徴は、頻
繁に着脱されるという点である。これは、ユーザのニー
ズが多様化してきたこと、ノートブック・コンピュータ
のような携行型のPCは使用場所ごとに必要なデバイス
類が変動すること、PCが装備可能なカード・スロット
数に制限があること、などの理由に依拠するものであ
る。そもそも、PCカードは、拡張アダプタのように本
体に固定して使用することを前提としていない。例え
ば、そのフォームファクタは、着脱性を考量して、カー
トリッジ式に形成されており、また、電気的に活性挿抜
(ホットプラグ)可能に設計されている。
【0007】一方、PCカードを着脱するなどしてシス
テム構成が変動したときには、PC本体(以下、「シス
テム」ともいう)側では、システム・リソースを再配分
しなければならない。ここで言うシステム・リソースと
は、例えばI/Oアドレス、メモリ・アドレス、DMA
(Direct Memory Access)レベル、IRQ(割り込み要
求)レベルなどのことを指す。CPUは、各周辺デバイ
スに割り当てられたI/Oアドレスに基づいてアクセス
することができる。また、各周辺機器は、自身に予約さ
れたDMAレベルやIRQレベルに従ってCPUに要求
や応答を行うことができる。したがって、各周辺デバイ
ス間で競合(コンフリクト)が起きないように、システ
ム・リソースを割り振る必要がある。また、システム・
リソースには限りがある(例えばISA(Industry Sta
ndard Architecture)システムでは、DMAレベルは8
個、IRQレベルは16個しか用意されていない)の
で、無駄なくシステム・リソースを配分する必要があ
る。例えば、既に抜き取られてシステム構成上に存在し
ていない周辺デバイスのシステム・リソースは解放する
べきであり、また、IRQを利用しない周辺デバイスに
IRQレベルを予約するべきではない。したがって、P
Cカードを好適に活用するためには、システム・リソー
スを動的かつ効率的に再配分する必要がある訳である。
【0008】旧来の周辺デバイスでは、ジャンパやDI
Pスイッチによって自身の使用するシステム・リソース
を定義するようになっている。各周辺デバイス間でシス
テム・リソースが競合しないようにジャンパやDIPス
イッチを操作することは、一般ユーザにとっては困難な
作業である。このため、米Microsoft社と米I
ntel社は、周辺デバイスの着脱に応じてシステム・
リソースなどのシステム環境を自動設定するための規
格"Plug&Play"(プラグ・アンド・プレイ:以
下、"PnP"という)を提唱している。PnPによれ
ば、システムの稼働中に周辺デバイスが活性挿抜されて
も、動的にシステム・リソースが割り振られ又は解放さ
れる。また、システム・リソースが競合したときには、
自動的に退避される。すなわち、PnPとは、従来人手
で行っていたセットアップ作業を、システム自身に行わ
せることなのである。
【0009】PCMCIA/JEIDAが策定したPC
カード仕様は、PC上で使われているインターフェース
の中でも、最も早くからPnPに対応して設計されたア
ーキテクチャである。例えば、PCカードをシステムに
差し込むだけで、システムがPCカードを自動認識し、
カード専用のソフトウェア(「カード・サービス」や
「ソケット・サービス」:後述)がPCカードに対して
システム・リソースを割り振り、PCカードをシステム
構成に自動的に組み込むようになっている。このため、
PCカードには、ジャンパやDIPスイッチは不要であ
る。
【0010】PCカードのためのPnPサポート:ここ
で、PCカードのPnPの仕組みについて、図8を参照
しながら説明しておく。
【0011】DOS(Disk Operating System:但し、
ここではWindows3.1を含む。以下、"DOS
/Windows3.x"ともいう)環境下では、PC
カードのPnPは、「ソケット・サービス」と「カード
・サービス」と呼ばれる、2種類のカード用デバイス・
ドライバによって実現されている。ソケット・サービス
とカード・サービスは、DOSがPCカードを認識する
ための重要なソフトウェア・レイヤであり、全てのPC
カードにとって必要である。これら2つのソフトウェア
・レイヤの上位には、対応するPCカードを駆動するた
めに必要なPCカード自体のデバイス・ドライバ(クラ
イアント・ドライバ)が存在する。
【0012】ソケット・サービスとは、ハードウェアで
あるPCカード・コントローラを抽象化するためのソフ
トウェア・レイヤであり、PCカード・コントローラを
直接制御するためのファンクション・コールを備えてい
る。上位のソフトウェア・レイヤは、このソケット・サ
ービスを通じて、ハードウェアと交信することができ
る。
【0013】カード・サービスとは、カード・スロット
に挿入されたPCカードのシステム・リソースを管理す
るためのソフトウェア・レイヤである。カード・サービ
スは、ソケット・サービスに対するファンクション・コ
ールを備えるとともに、自身にクライアント登録されて
いる上位デバイス・ドライバ(クライアント・デバイス
・ドライバ)に対しては、プログラミング・インターフ
ェース(PI)を提供している。
【0014】クライアント・デバイス・ドライバとは、
PCカード自体のデバイス・ドライバ、するわち、各P
Cカード毎に用意された専用のデバイス・ドライバのこ
とである。クライアント・デバイス・ドライバの例は、
LANカードを駆動するためのLANカード・ドライ
バ、メモリ・カードを駆動するためのメモリ・カード・
ドライバ、SCSIカードを駆動するためのSCSIカ
ード・ドライバなどである。これらクライアント・デバ
イス・ドライバは、カード・サービスに対してクライア
ント登録1)することによって、PCカードの着脱などの
イベントを受け取ることができるとともに、カード・サ
ービスに対してシステム・リソースの割り振り/解放
や、PCカードへの給電の開始/停止を要求することが
できる。但し、PnP機能をサポートするためには、ク
ライアント・ドライバ・ドライバは予めシステムにロー
ドされ(すなわちメイン・メモリに常駐し)、且つカー
ド・サービスにクライアント登録されていることが前提
となる。
【0015】DOS/Windows3.x環境下で例
えばPCカードがスロットに差し込まれると、PCカー
ド・コントローラを経由して、ソケット・サービスとカ
ード・サービスがこれを認識する。次いで、カード・サ
ービスは、自身にクライアント登録されている各クライ
アント・デバイス・ドライバに対してイベント(カード
挿入事象)を通知する(図8中の矢印P1)。通知を受
けた各クライアント・デバイス・ドライバは、順次、P
Cカード内のメモリから属性情報(タプルともいう)を
読み出す(同矢印P2,P3)。そして、タプルの内容
より自身がPCカードに対応するドライバであると判っ
たクライアント・デバイス・ドライバは、同タプルの内
容からPCカードに必要なシステム構成を知り、カード
・サービスに対してシステム・リソースの割り振りを要
求する(同矢印P4)。カード・サービスは、使えるシ
ステム・リソースが見つかったら、これをカード・サー
ビス内のリソース・テーブルに書き込むとともに、クラ
イアント・デバイス・ドライバにシステム・リソースの
利用を認める(同矢印P5)。次いで、クライアント・
デバイス・ドライバは、カード・サービス及びソケット
・サービスを通じてPCカード・コントローラをプログ
ラムして(同矢印P6)、PCカードをシステム構成に
組み込む。さらにクライアント・ドライバは、スロット
への給電開始を要求する。この結果、PCカードはシス
テム上でイネーブルされたことになる。
【0016】ソケット・サービスやカード・サービスの
仕様は、Rel2.1以降のPCMCIA(若しくはV
er4.2以降のJEIDA)で既に標準化されてい
る。ソケット・サービスやカード・サービスは、PCカ
ード・スロットにアクセスするためのソフトウェアであ
り、PCカード・スロット用のデバイス・ドライバと把
えることもできよう。但し、ソケット・サービスやカー
ド・サービスなどのPCカード制御用ソフトウェアは、
従来のDOSには標準装備されていない。このため、こ
れら2階層のデバイス・ドライバは、一般には、OSメ
ーカ以外のPCカード・ソフトのメーカによって提供さ
れている。例えば日本アイ・ビー・エム(株)が市販す
る"PlayAtWill"("PlayAtWill"は
米IBM社の商標)は、ソケット・サービスとカード・
サービスをパッケージ化したソフトウェア製品である。
【0017】オペレーティング・システム:一方、オペ
レーティング・システム(OS)とは、既に周知なよう
に、PCのハードウェア及びソフトウェアを総合的に管
理するための基本ソフトウェアのことである。OSは、
一般には、ハード・ディスク・ドライブ(HDD)など
の補助記憶装置へのファイルの書き込み/読み出しを管
理するための「ファイル・マネージャ」、メモリ空間を
管理するための「メモリ・マネージャ」、タスク実行の
優先度を管理するための「スケジューラ」などを含んで
いる。また、画面表示やコマンド入力、マウス操作を処
理するための「ユーザ・インターフェース」もOSに含
まれる。
【0018】最近のOSの代表例は、1995年に米M
icroSoft社よりリリースされた"Window
s95"である。Windows95は、32ビット・
アーキテクチャのCPU(例えば米Intel社の80
486SX以上)を前提にした、32ビットのアドレス
空間で動作可能な「32ビットOS」である。これに対
して、旧来のDOS/Windows3.xは、16ビ
ット・アーキテクチャのCPU(例えば米Intel社
の80386)を前提にした、16ビット・アドレス空
間で動作する「16ビットOS」であった。Windo
ws95は、DOS/Windows3.xの2倍の速
度でデータをCPUに取り込み、処理することができ
る、ハイ・パフォーマンスなOSと言えよう。この一方
で、Windows95は、DOS/Windows
3.x系のアプリケーションとの互換性を確保するため
に、16ビット互換モードも備えている。但し、16ビ
ット互換モードで動作中には、OSのカーネル(中核部
分)では適宜16ビット・モードと32ビット・モード
との間でスイッチングが行われるため、パフォーマンス
の低下を伴う。
【0019】Windows95は、情報機器(OA機
器や通信機器など)の統合を図ったOSでもあり、その
主な特徴として、「マルチタスク対応」と「PnP対
応」が挙げられよう。マルチタスク対応にした目的は、
複数の処理を並行して実行することが情報機器の統合の
鍵となるからである(例えば、動画再生中に電話やファ
クシミリを受け付けたり、バックグラウンドでサーバの
データベースにアクセスしながらフォアグラウンド(デ
ィスプレイ画面上)では電子メールを読むなど)。ま
た、PnP対応にした目的は、オフィスでのPCの運用
コストの抑制にある。いろいろな種類の周辺機器をPC
に装着する可能性が高まり、複雑化してきたシステム構
成を自動的に管理することによって、運用コストが抑え
られ、以て情報機器の統合が図られるという訳である。
【0020】図9には、Windows95のPnPア
ーキテクチャを図解している。図示のように、Wind
ows95では、システム中の各サブシステム(例えば
ISAバス、PCI(Peripheral Component Interconn
ect)バス、SCSI(SmallComputer System Interfac
e)バス、PCMCIAバス)毎にバス・エニュメレー
タ(Enumerator)を用意するとともに、バス・エニュメ
レータの上位に「コンフィギュレーション・マネージ
ャ」と呼ばれるソフトウェア層を用意している。例えば
PCMCIAバス・エニュメレータは、PCMCIA
Rel2.1準拠のソケット・サービスやカード・サー
ビスの他、PCカードをイネーブルするためのコモン・
イネーブラ、クライアント・デバイス・ドライバを自動
ロードするためのデバイス・ドライバ・ローダ、コンフ
ィギュレーション・マネージャと対話するためのC/M
インターフェースなどを装備している2)
【0021】OSには、既に膨大な種類のデバイス・ド
ライバが存在しているが、これらが互いにリソースの衝
突を起こしてはシステムは好適に動作することができな
い。Windows95では、各バス・エニュメレータ
によってバス単位で各デバイス・ドライバ間の強調が図
られるとともに、コンフィギュレーション・マネージャ
によってシステム全体のリソースを管理することによっ
て、PnP化を実現している。例えばPCカードがカー
ド・スロットに挿入されると、PCMCIAバス・エニ
ュメレータを介して、まずローカルにPCカードが自動
認識されるとともに、コンフィギュレーション・マネー
ジャによって他のバス上の周辺デバイスと競合しないよ
うにシステム・リソースが割り振られ、結果としてシス
テム構成に組み込まれる。
【0022】さらに、Windows95のPnP機能
によれば、システム・リソースの自動設定だけでなく、
デバイス・ドライバの自動ローディングも行うようにな
っている。例えばPCMCIAバス・エニュメレータ
は、PCカードがシステムに挿入されると、PCカード
にシステム・リソースを割り振るとともに、適切なPC
カード用デバイス・ドライバ(クライアント・ドライ
バ)を自動的にロードする。この点は、クライアント・
ドライバがメモリ常駐であることを前提とするDOS/
Windows3.xとは相違しており、デバイス・ド
ライバのためのメモリ空間を節約することができる。
【0023】オペレーティング・システムとデバイス・
ドライバの共存:PCカードの規格化団体であるPCM
CIA/JEIDAは、ホスト・システム側の進化に対
応した仕様の作成に努めている。例えば1995年にリ
リースした仕様"PC Card Standard"で
は、高速のPCI(Peripheral Component Interconnec
t)バスに対応するために、32ビット・バスマスタ機
能付きの「カードバス(CardBus)」が盛り込ま
れている。カードバスによれば、高品位な動画取り込み
などマルチメディア関連の機能もPCカードで実現する
ことが可能になる。
【0024】一方、OSも、情報処理機器の統合を究極
目標として、マルチタスク化やPnP化に努めている。
例えば、Windows95では、OSが積極的にハー
ドウェアのリソース管理に乗り出している。例えばPC
カードを自動認識するためのソケット・サービスやカー
ド・サービスも、Windows95に標準添付されて
いる(前述)。
【0025】ところが、PCカードとOSは、必ずしも
同期的に進化するものではない。これは、PCカードが
PCMCIA/JEIDAによって規格化され、PCカ
ード・ベンダによって開発される一方で、OSは米Mi
crosoft社を代表例とするOSメーカによって開
発されている、すなわち両者は個別に開発されていると
いう、ごく単純な理由に依拠している。より具体的な例
は、「カードバス」への対応である。1995年にリリ
ースされたWindows95のPCMCIA機能(す
なわちWindows95版のソケット・サービスやカ
ード・サービス)は、32ビット系ではあるが、機能的
には1993年に策定された"PCMCIA Rel
2.1"(すなわち1世代前の仕様)に準拠したもので
あり、最新の"カードバス"仕様に対応するにはさらに時
間を要する見込みである。これに対して、PCカード・
メーカは、1996年中には、カードバスに対応したP
Cカードやデバイス・ドライバを出荷し、また、PCメ
ーカも同年内にカードバスを装備したPCを出荷するで
あろう。他方、PCカード・メーカが供給するカードバ
ス対応デバイス・ドライバは、一般には16ビット系で
あり、Windows95の32ビット・モードでは使
用できない。カードバス対応デバイス・ドライバが16
ビット系としてデザインされるのは、Windows9
5がカードバスに対応していないためである。
【0026】略言すれば、Windows95ネイティ
ブのデバイス・ドライバは32ビット系の高機能なデバ
イス・ドライバであるが最新のPCMCIA/JEID
A仕様に準拠したPCカードを動かせない一方で、PC
カード・メーカが供給するデバイス・ドライバは最新の
PCカードを駆動可能であるが16ビット系(すなわち
DOS/Windows3.x用)のデバイス・ドライ
バに過ぎない、というパラドックスを生じている訳なの
である3)
【0027】Windows95ネイティブ・モードで
は、カードバス対応のPCカードを使えない。もしユー
ザがカードバス対応のPCカードを使いたい場合には、
DOS/Windows3.x用の16ビット系デバイ
ス・ドライバを使用する他ない。しかしながら、Win
dows95では、32ビット・モードと16ビット・
モードとは排他的なので、例えばPCカードを16ビッ
ト・モードで動かす場合には、対応する32ビット系の
サブシステム(すなわちPCMCIAバス・エニュメレ
ータ)を起動時にディセーブルしておかなければならな
い。また、32ビット・モードと16ビット・モードと
の切り替えは静的なものであり、起動時にディセーブル
された32ビット・モードを起動中にイネーブルするこ
とはできない。
【0028】したがって、Windows95ネイティ
ブ・モード下でPCカードを使用するには、以下の問題
点を伴うことになる。すなわち: (1)カードバス対応のPCカードを使用する場合に
は、DOS/Windows3.x用のカードバス対応
ドライバ(すなわち16ビット・ドライバ)をロードす
るとともに、予めPCMCIAバス・エニュメレータ
(すなわち32ビット・ドライバ)をディセーブルして
おかなければならない。この場合、Windows95
ネイティブのデバイス・ドライバを全く使用できないの
で、その後Windows95対応のPCカードを装着
しても、DOS/Windows3.x用の16ビット
・ドライバで駆動し続けるしかない(又はPCカードを
動かせない)。この結果、クライアント・ドライバの自
動ローディングを始めとするWindows95ネイテ
ィブ・ドライバの長所を全く活用することができなくな
る。 (2)Windows95の一部のサブシステムを16
ビット・モードで動かしていることの帰結として、OS
のカーネルでは絶えず32ビット〜16ビット間のスイ
ッチングが行われ、システム全体のパフォーマンスが低
下してしまう。 (3)逆に、PCMCIAバス・エニュメレータ(すな
わち32ビット・ドライバ)をイネーブルしているとき
にカードバス対応のPCカードを挿入しても、これに対
応したデバイス・ドライバ(すなわちWindows9
5外の16ビット・ドライバ)を使用できないので、P
Cカードを使用できない。すなわち、バージョンの異な
るPCカードを自由に交換できないことも起こり得るの
である。これでは、PCカードのPnP機能を著しく損
なうことになる。また、ノートブックPCのようにシス
テム構成の動的な変動が要求されているマシンは、ユー
ザビリティを失う結果となる。
【0029】この他、PCMCIA/JEIDAの古い
バージョンにしか対応していないため、Windows
95ネイティブ・ドライバでは動かせない既存のPCカ
ードもある。このような既存製品のユーザは、DOS/
Windows3.x用の既存デバイス・ドライバを使
用するしかなく、上記と同様の問題点に悩まされること
になるであろう。
【0030】《注釈》 1)カード・サービスは、クライアント・ドライバに対
するコールバック・ルートンのエントリ・ポイント(す
なわちイベント・レコードをクライアントに引き渡す際
の共通アドレス)を登録することによって、クライアン
ト登録を行う。 2)Windows95のPCMCIAバス・エニュメ
レータは、ソケット・サービス部分とその他の部分との
間にプロクラミング・インターフェース(PI)を用意
している。従って、例えば他のPCカード・メーカは、
Windows95に標準添付されたソケット・サービ
ス部分を自社製のものに置き換えることができる。 3)1993年版のPCカード仕様である"PCMCI
A Rel2.1/JEIDA Ver4.2"では、
カード属性情報(CIS)や、カード・サービス、ソケ
ット・サービス、インターフェースなどについて規定し
ている。これに対して、1995年版のPCカード仕様
である"PC Card Standard"では、さら
に、既存の各仕様をグレード・アップした他、カードバ
スやパワー・マネージメント仕様、マルチファンクショ
ンについても記述している。
【0031】
【発明が解決しようとする課題】本発明の目的は、第1
のアドレッシング・モードで動作するデバイス・ドライ
バによって駆動される周辺デバイスと第2のアドレッシ
ング・モードで動作するデバイス・ドライバが共存する
タイプの情報処理システムに適用可能であって、適切な
デバイス・ドライバによって周辺デバイスをイネーブル
し駆動することができる、優れたを周辺デバイスの自動
イネーブル方法を提供することにある。
【0032】本発明の更なる目的は、16ビット系のデ
バイス・ドライバによって駆動されるPCカードと32
ビット系のデバイス・ドライバが共存するタイプの情報
処理システムに適用可能であって、適切なデバイス・ド
ライバによってPCカードをイネーブルし且つ駆動する
ことができる、優れたPCカードの自動イネーブル方法
を提供することにある。
【0033】本発明の更なる目的は、DOS/Wind
ows3.x系のデバイス・ドライバでしか動かないP
Cカードが挿入されたときには該デバイス・ドライバに
よってPCカードをイネーブルする一方、Window
s95ネイティブのデバイス・ドライバで動くPCカー
ドが挿入されたときには該デバイス・ドライバによって
PCカードをイネーブルすることができる、優れたPC
カードの自動イネーブル方法を提供することにある。
【0034】本発明の更なる目的は、Windows9
5内のあるサブシステム(例えばPCMCIA系のサブ
システム)を、32ビット・モードと16ビット・モー
ドの間で見かけ上は動的に切り替えることができる、優
れたPCカードの自動イネーブル方法を提供することに
ある。
【0035】
【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、第1のアドレッシング・モードで動作するデバイス
・ドライバによって駆動される周辺デバイスと第2のア
ドレッシング・モードで動作するデバイス・ドライバに
よって駆動される周辺デバイスの双方を装着することが
できるタイプの情報処理システム上で適用される、周辺
デバイスの自動イネーブル方法において、(a)周辺デ
バイスが前記情報処理システムに装着されたことを検出
するステップと、(b)周辺デバイスの装着に応答し
て、第1のアドレッシング・モードで動作するデバイス
・ドライバに対して優先的に該周辺デバイスをイネーブ
ルする機会を与えるステップと、(c)周辺デバイスの
装着に応答して、第1のアドレッシング・モードで動作
するデバイス・ドライバによって該周辺デバイスがイネ
ーブルされなかったときのみ、第2のアドレッシング・
モードで動作するデバイス・ドライバに対して該周辺デ
バイスをイネーブルする機会を与えるステップと、を具
備することを特徴とする周辺デバイスの自動イネーブル
方法である。
【0036】また、本発明の第2の側面は、16ビット
・モードで動作するデバイス・ドライバによって駆動さ
れるPCカードと32ビット・モードで動作するデバイ
ス・ドライバによって駆動されるPCカードの双方を装
着することができるタイプの情報処理システム上で適用
される、PCカードの自動イネーブル方法において、
(a)PCカードが前記情報処理システムに装着された
ことを検出するステップと、(b)PCカードの装着に
応答して、16ビット・モードで動作するデバイス・ド
ライバに対して優先的に該PCカードをイネーブルする
機会を与えるステップと、(c)PCカードの装着に応
答して、16ビット・モードで動作するデバイス・ドラ
イバによって該PCカードがイネーブルされなかったと
きのみ、32ビット・モードで動作するデバイス・ドラ
イバに対して該PCカードをイネーブルする機会を与え
るステップと、を具備することを特徴とするPCカード
の自動イネーブル方法である。
【0037】また、本発明の第3の側面は、32ビット
・モード又は16ビット・モードのいずれか一方で動作
可能なオペレーティング・システムの制御下に置かれる
とともに、32ビット・モード及び16ビット・モード
の複数のデバイス・ドライバが共存しているタイプの情
報処理システム上で適用される、PCカードの自動イネ
ーブル方法において、(a)PCカードが前記情報処理
システムに装着されたことを検出するステップと、
(b)PCカードの装着に応答して、16ビット・モー
ドで動作するデバイス・ドライバに対して優先的に該P
Cカードをイネーブルする機会を与えるステップと、
(c)PCカードの装着に応答して、16ビット・モー
ドで動作するデバイス・ドライバによって該PCカード
がイネーブルされなかったときのみ、32ビット・モー
ドで動作するデバイス・ドライバに対して該PCカード
をイネーブルする機会を与えるステップと、を具備する
ことを特徴とするPCカードの自動イネーブル方法であ
る。
【0038】また、本発明の第4の側面は、第1のアド
レッシング・モードで動作するデバイス・ドライバによ
って駆動される周辺デバイスと第2のアドレッシング・
モードで動作するデバイス・ドライバによって駆動され
る周辺デバイスの双方を装着することができるタイプの
情報処理システム上で適用される、周辺デバイスの自動
イネーブル方法において、(a)周辺デバイスが前記情
報処理システムに装着されたことを検出するステップ
と、(b)周辺デバイスの装着に応答して、第1のアド
レッシング・モードで動作するデバイス・ドライバに対
して優先的に、自身が該周辺デバイスを駆動可能なデバ
イス・ドライバかどうかを確認する機会を与えるステッ
プと、(c)前記(b)ステップで肯定応答したデバイ
ス・ドライバが、装着された周辺デバイスのためのシス
テム・リソースの割り振りを要求するステップと、
(d)前記(c)ステップにおける要求に応答して、装
着された周辺デバイスのためのシステム・リソースを設
定するステップと、(e)周辺デバイスの装着に応答し
て、第1のアドレッシング・モードで動作するデバイス
・ドライバによって該周辺デバイスがイネーブルされな
かったときのみ、第2のアドレッシング・モードで動作
するデバイス・ドライバに対して、自身が該周辺デバイ
スを駆動可能なデバイス・ドライバかどうかを確認する
機会を与えるステップと、(f)前記(e)ステップで
肯定応答したデバイス・ドライバが、装着された周辺デ
バイスのためのシステム・リソースの割り振りを要求す
るステップと、(g)前記(f)ステップにおける要求
に応答して、装着された周辺デバイスのためのシステム
・リソースを設定するステップと、を具備することを特
徴とする周辺デバイスの自動イネーブル方法である。
【0039】また、本発明の第5の側面は、16ビット
・モードで動作するデバイス・ドライバによって駆動さ
れるPCカードと32ビット・モードで動作するデバイ
ス・ドライバによって駆動されるPCカードの双方を装
着することができるタイプの情報処理システム上で適用
される、PCカードの自動イネーブル方法において、
(a)PCカードが前記情報処理システムに装着された
ことを検出するステップと、(b)PCカードの装着に
応答して、16ビット・モードで動作するデバイス・ド
ライバに対して優先的に、自身が該PCカードを駆動可
能なデバイス・ドライバかどうかを確認する機会を与え
るステップと、(c)前記(b)ステップで肯定応答し
たデバイス・ドライバが、装着されたPCカードのため
のシステム・リソースの割り振りを要求するステップ
と、(d)前記(c)ステップにおける要求に応答し
て、装着されたPCカードのためのシステム・リソース
を設定するステップと、(e)PCカードの装着に応答
して、16ビット・モードで動作するデバイス・ドライ
バによって該PCカードがイネーブルされなかったとき
のみ、32ビット・モードで動作するデバイス・ドライ
バに対して、自身が該PCカードを駆動可能なデバイス
・ドライバかどうかを確認する機会を与えるステップ
と、(f)前記(e)ステップで肯定応答したデバイス
・ドライバが、装着されたPCカードのためのシステム
・リソースの割り振りを要求するステップと、(g)前
記(f)ステップにおける要求に応答して、装着された
PCカードのためのシステム・リソースを設定するステ
ップと、を具備することを特徴とするPCカードの自動
イネーブル方法である。
【0040】また、本発明の第6の側面は、32ビット
・モード又は16ビット・モードのいずれか一方で動作
可能なオペレーティング・システムの制御下に置かれる
とともに、32ビット・モード及び16ビット・モード
の複数のデバイス・ドライバが共存しているタイプの情
報処理システム上で適用される。PCカードの自動イネ
ーブル方法において、(a)PCカードが前記情報処理
システムに装着されたことを検出するステップと、
(b)PCカードの装着に応答して、16ビット・モー
ドで動作するデバイス・ドライバに対して優先的に、自
身が該PCカードを駆動可能なデバイス・ドライバかど
うかを確認する機会を与えるステップと、(c)前記
(b)ステップで肯定応答したデバイス・ドライバが、
装着されたPCカードのためのシステム・リソースの割
り振りを要求するステップと、(d)前記(c)ステッ
プにおける要求に応答して、装着されたPCカードのた
めのシステム・リソースを設定するステップと、(e)
PCカードの装着に応答して、16ビット・モードで動
作するデバイス・ドライバによって該PCカードがイネ
ーブルされなかったときのみ、32ビット・モードで動
作するデバイス・ドライバに対して、自身が該PCカー
ドを駆動可能なデバイス・ドライバかどうかを確認する
機会を与えるステップと、(f)前記(e)ステップで
肯定応答したデバイス・ドライバが、装着されたPCカ
ードのためのシステム・リソースの割り振りを要求する
ステップと、(g)前記(f)ステップにおける要求に
応答して、装着されたPCカードのためのシステム・リ
ソースを設定するステップと、を具備することを特徴と
するPCカードの自動イネーブル方法である。
【0041】また、本発明の第7の側面は、第1のアド
レッシング・モードで動作するデバイス・ドライバによ
って駆動される周辺デバイスと第2のアドレッシング・
モードで動作するデバイス・ドライバによって駆動され
る周辺デバイスの双方を装着することができるタイプの
情報処理システム上で適用される、周辺デバイスの自動
イネーブル方法において、(a)装着中の周辺デバイス
が抜き取られたことを検出するステップと、(b)抜き
取られた周辺デバイスが第1のアドレッシング・モード
で動作するデバイス・ドライバで駆動されていれば、該
デバイス・ドライバに対して抜き取られたことを通知す
るステップと、(c)前記(b)における通知に応答し
て、第1のアドレッシング・モードで動作するデバイス
・ドライバが、抜き取られた周辺デバイスに割り振られ
ていたシステム・リソースを解放することによって、該
周辺デバイスをディセーブルするステップと、(d)抜
き取られた周辺デバイスが第2のアドレッシング・モー
ドで動作するデバイス・ドライバで駆動されていれば、
該デバイス・ドライバに対して抜き取られたことを通知
するステップと、(e)前記(d)における通知に応答
して、第2のアドレッシング・モードで動作するデバイ
ス・ドライバが、抜き取られた周辺デバイスに割り振ら
れていたシステム・リソースを解放することによって、
該周辺デバイスをディセーブルするステップと、を具備
することを特徴とする周辺デバイスの自動イネーブル方
法である。
【0042】また、本発明の第8の側面は、16ビット
・モードで動作するデバイス・ドライバによって駆動さ
れるPCカードと32ビット・モードで動作するデバイ
ス・ドライバによって駆動されるPCカードの双方を装
着することができるタイプの情報処理システム上で適用
される、PCカードの自動イネーブル方法において、
(a)装着中のPCカードが抜き取られたことを検出す
るステップと、(b)抜き取られたPCカードが16ビ
ット・モードで動作するデバイス・ドライバで駆動され
ていれば、該デバイス・ドライバに対して抜き取られた
ことを通知するステップと、(c)前記(b)における
通知に応答して、16ビット・モードで動作するデバイ
ス・ドライバが、抜き取られたPCカードに割り振られ
ていたシステム・リソースを解放することによって、該
PCカードをディセーブルするステップと、(d)抜き
取られたPCカードが32ビット・モードで動作するデ
バイス・ドライバで駆動されていれば、該デバイス・ド
ライバに対して抜き取られたことを通知するステップ
と、(e)前記(d)における通知に応答して、32ビ
ット・モードで動作するデバイス・ドライバが、抜き取
られたPCカードに割り振られていたシステム・リソー
スを解放することによって、該PCカードをディセーブ
ルするステップと、を具備することを特徴とするPCカ
ードの自動イネーブル方法である。
【0043】また、本発明の第9の側面は、32ビット
・モード又は16ビット・モードのいずれか一方で動作
可能なオペレーティング・システムの制御下に置かれる
とともに、32ビット・モード及び16ビット・モード
の複数のデバイス・ドライバが共存しているタイプの情
報処理システム上で適用される、PCカードの自動イネ
ーブル方法において、(a)装着中のPCカードが抜き
取られたことを検出するステップと、(b)抜き取られ
たPCカードが16ビット・モードで動作するデバイス
・ドライバで駆動されていれば、該デバイス・ドライバ
に対して抜き取られたことを通知するステップと、
(c)前記(b)における通知に応答して、16ビット
・モードで動作するデバイス・ドライバが、抜き取られ
たPCカードに割り振られていたシステム・リソースを
解放することによって、該PCカードをディセーブルす
るステップと、(d)抜き取られたPCカードが32ビ
ット・モードで動作するデバイス・ドライバで駆動され
ていれば、該デバイス・ドライバに対して抜き取られた
ことを通知するステップと、(e)前記(f)における
通知に応答して、32ビット・モードで動作するデバイ
ス・ドライバが、抜き取られたPCカードに割り振られ
ていたシステム・リソースを解放することによって、該
PCカードをディセーブルするステップと、を具備する
ことを特徴とするPCカードの自動イネーブル方法であ
る。
【0044】また、本発明の第10の側面は、第1のア
ドレッシング・モード又は第2のアドレッシング・モー
ドで動作するタイプのコンピュータ・システム上におけ
る周辺デバイスの自動イネーブル・プロセスを実現する
ためのコンピュータ・プログラムを有形的に格納したコ
ンピュータ可読記憶媒体であって、前記プロセスは、
(a)周辺デバイスが前記情報処理システムに装着され
たことを検出するステップと、(b)周辺デバイスの装
着に応答して、第1のアドレッシング・モードで動作す
るデバイス・ドライバに対して優先的に、自身が該周辺
デバイスを駆動可能なデバイス・ドライバかどうかを確
認する機会を与えるステップと、(c)前記(b)ステ
ップで肯定応答したデバイス・ドライバが、装着された
周辺デバイスのためのシステム・リソースの割り振りを
要求するステップと、(d)前記(c)ステップにおけ
る要求に応答して、装着された周辺デバイスのためのシ
ステム・リソースを設定するステップと、(e)周辺デ
バイスの装着に応答して、第1のアドレッシング・モー
ドで動作するデバイス・ドライバによって該周辺デバイ
スがイネーブルされなかったときのみ、第2のアドレッ
シング・モードで動作するデバイス・ドライバに対し
て、自身が該周辺デバイスを駆動可能なデバイス・ドラ
イバかどうかを確認する機会を与えるステップと、
(f)前記(e)ステップで肯定応答したデバイス・ド
ライバが、装着された周辺デバイスのためのシステム・
リソースの割り振りを要求するステップと、(g)前記
(f)ステップにおける要求に応答して、装着された周
辺デバイスのためのシステム・リソースを設定するステ
ップと、を具備することを特徴とするコンピュータ可読
記憶媒体である。
【0045】また、本発明の第11の側面は、16ビッ
ト・モード又は32ビット・モードで動作するタイプの
コンピュータ・システム上におけるPCカードの自動イ
ネーブル・プロセスを実現するためのコンピュータ・プ
ログラムを有形的に格納したコンピュータ可読記憶媒体
であって、前記プロセスは、(a)PCカードが前記情
報処理システムに装着されたことを検出するステップ
と、(b)PCカードの装着に応答して、16ビット・
モードで動作するデバイス・ドライバに対して優先的
に、自身が該PCカードを駆動可能なデバイス・ドライ
バかどうかを確認する機会を与えるステップと、(c)
前記(b)ステップで肯定応答したデバイス・ドライバ
が、装着されたPCカードのためのシステム・リソース
の割り振りを要求するステップと、(d)前記(c)ス
テップにおける要求に応答して、装着されたPCカード
のためのシステム・リソースを設定するステップと、
(e)PCカードの装着に応答して、16ビット・モー
ドで動作するデバイス・ドライバによって該PCカード
がイネーブルされなかったときのみ、32ビット・モー
ドで動作するデバイス・ドライバに対して、自身が該P
Cカードを駆動可能なデバイス・ドライバかどうかを確
認する機会を与えるステップと、(f)前記(e)ステ
ップで肯定応答したデバイス・ドライバが、装着された
PCカードのためのシステム・リソースの割り振りを要
求するステップと、(g)前記(f)ステップにおける
要求に応答して、装着されたPCカードのためのシステ
ム・リソースを設定するステップと、を具備することを
特徴とするコンピュータ可読記憶媒体である。
【0046】また、本発明の第12の側面は、32ビッ
ト・モード及び16ビット・モードの複数のデバイス・
ドライバが共存しているタイプのコンピュータ・システ
ム上におけるPCカードの自動イネーブル・プロセスを
実現するためのコンピュータ・プログラムを有形的に格
納したコンピュータ可読記憶媒体であって、前記プロセ
スは、(a)PCカードが前記情報処理システムに装着
されたことを検出するステップと、(b)PCカードの
装着に応答して、16ビット・モードで動作するデバイ
ス・ドライバに対して優先的に、自身が該PCカードを
駆動可能なデバイス・ドライバかどうかを確認する機会
を与えるステップと、(c)前記(b)ステップで肯定
応答したデバイス・ドライバが、装着されたPCカード
のためのシステム・リソースの割り振りを要求するステ
ップと、(d)前記(c)ステップにおける要求に応答
して、装着されたPCカードのためのシステム・リソー
スを設定するステップと、(e)PCカードの装着に応
答して、16ビット・モードで動作するデバイス・ドラ
イバによって該PCカードがイネーブルされなかったと
きのみ、32ビット・モードで動作するデバイス・ドラ
イバに対して、自身が該PCカードを駆動可能なデバイ
ス・ドライバかどうかを確認する機会を与えるステップ
と、(f)前記(e)ステップで肯定応答したデバイス
・ドライバが、装着されたPCカードのためのシステム
・リソースの割り振りを要求するステップと、(g)前
記(f)ステップにおける要求に応答して、装着された
PCカードのためのシステム・リソースを設定するステ
ップと、を具備することを特徴とするコンピュータ可読
記憶媒体である。
【0047】しかして、本発明の第1乃至第6の側面に
係る周辺デバイス/PCカードの自動イネーブル方法に
よれば、コンピュータ・システムのPCカード・スロッ
トにDOS/Windows3.x互換の16ビット・
デバイス・ドライバでしか動かないPCカードが挿入さ
れたときには、対応する16ビット・デバイス・ドライ
バによってPCカードが自動的にイネーブルされる。ま
た、Windows95ネイティブの32ビット・デバ
イス・ドライバで動くPCカードが挿入されたときに
は、対応する32ビット・デバイス・ドライバによって
PCカードが自動的にイネーブルされる。
【0048】また、DOS/Windows3.x互換
モードでしか動作しないPCカードからWindows
95ネイティブ・モードで動作可能なPCカードに交換
されたときや、逆に、Windows95ネイティブ・
モードで動作可能なPCカードからDOS/Windo
ws3.x互換モードでしか動作しないPCカードに交
換されたときにも、それぞれの場合に適当なデバイス・
ドライバによってPCカードが自動的にイネーブルされ
る。すなわち、見かけ上は、システムがWindows
95ネイティブ・モードとDOS/Windows3.
x互換モードの間を動的に切り換えることができるので
ある。
【0049】また、本発明の第7乃至第9の側面に係る
周辺デバイス/PCカードの自動イネーブル方法によれ
ば、DOS/Windows3.x互換の16ビット・
デバイス・ドライバで動作中のPCカードが抜き取ら
れ、又は、Windows95ネイティブの32ビット
・デバイス・ドライバで動作中のPCカードが抜き取ら
れたときには、それぞれの場合に対応するデバイス・ド
ライバに対してカード抜き取り事象事象が通知されるよ
うになっている。この結果、対応するデバイス・ドライ
バは、PCカードに割り振られていたシステム・リソー
スを解放させることによって、PCカードをディセーブ
ルすることかできる。
【0050】また、本発明の第10乃至第12の側面に
係るコンピュータ可読記憶媒体は、コンピュータ・プロ
グラムの機能を実現するための、コンピュータ・プログ
ラムと記憶媒体との構造上又は機能上の協働的関係を定
義したものである。換言すれば、該コンピュータ可読記
憶媒体をコンピュータ・システムに組み込むことによっ
て、コンピュータ・システム上では協働的作用が発揮さ
れ、本発明の第1乃至第6の側面と同様の効果を得るこ
とができるのである。
【0051】本発明は、例えば、PCカード・コントロ
ーラを直接ハードウエア操作するソケット・サービスが
16ビット・カード・サービス及び32ビット・カード
・サービスの各々に対して適切に振る舞うという形態に
よって、好適に実現されよう。すなわち、Window
s95に添付されたソケット・サービスを置き換えるこ
とによって好適に実現される訳である。換言すれば、1
6ビット・カード・サービス及び32ビット・カード・
サービス、並びに各カード・サービスのクライアント・
デバイス・ドライバは、本発明の実現のみを目的として
設計変更する必要は全くない。詳細は次の[発明の実施
の形態]の項を参照されたい。
【0052】なお、本発明の第2、第3、第5、及び第
6の側面、及び本発明の第11及び第12の側面によれ
ば、16ビット系のデバイス・ドライバに対して優先的
にPCカードをイネーブルする機会を与えるようにして
いる。これは主に、以下の理由に依る。すなわち、 (1)Windows95は、自身にネイティブのデバ
イス・ドライバを自動ローディングできる一方、挿入さ
れたPCカードに対応するデバイス・ドライバがインス
トールされていなければ、システムが「デバイス・ドラ
イバをインストールしなさい」という旨のユーザ・メッ
セージを表示するように設計されている。このため、W
indows95ネイティブ・モードを優先させた場
合、16ビット・デバイス・ドライバでのみ駆動するP
Cカードが挿入されたときには、ユーザ・メッセージ状
態(すなわちウェイト状態)に陥り、16ビット・デバ
イス・ドライバへの問合せに進行することができない。 (2)16ビット・デバイス・ドライバはDOS/Wi
ndows3.x互換ドライバであり、ユーザが"co
nfig.sys"ファイルに記述することによって各
デバイス・ドライバのインストールの有無をコントロー
ルするようになっている。オペレーティング・システム
がWindows95のように設計されていない場合に
は、16ビット系のデバイス・ドライバへの問合せを優
先させる積極的な理由はなく、逆に32ビット系のデバ
イス・ドライバに優先権を与えても、同様の効果を奏す
るであろう。
【0053】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0054】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
【0055】A.システム構成 ハードウェア構成: 図1には、本発明を実現するのに適
した典型的なパーソナル・コンピュータ(PC)100
のハードウェア・アーキテクチャを模式的に示してい
る。
【0056】PC100は、CPU11と、メイン・メ
モリ12と、ROM13と、表示装置14と、入力手段
としてのキーボード/マウス15と、ハード・ディスク
・ドライブ(HDD)16及びフロッピー・ディスク・
ドライブ(FDD)17と、PCカード・コントローラ
18と、PCカード・スロット19を含んでいる。
【0057】メイン・コントローラであるCPU11
は、OS(後述)の制御下で、各種プログラムを実行す
るようになっている。CPU11は、データ信号線、ア
ドレス信号線、コントロール信号線などを含む共通信号
伝送路(バス)20を介して、他のハードウェア構成要
素と相互接続されている。
【0058】メイン・メモリ12は、DRAM(ダイナ
ミックRAM)などの書き込み可能なメモリで構成さ
れ、CPU11が実行する各プログラム(OSやPCカ
ード用デバイス・ドライバを含む)をロードしたり、各
プログラム実行のための作業領域として用いられる。ま
た、ROM13は、所定のコードを恒久的に格納するた
めの不揮発性メモリである。ここでいう「所定のコー
ド」には、システム始動時の実行プログラム(POS
T)などが含まれる。
【0059】HDD16やFDD17は、いわゆる外部
記憶装置であり、コンピュータ・プログラムやその作業
データの保管場所である。本発明を実現する上で協働的
に作用するOSや各種デバイス・ドライバも、HDD1
6やFDD17にインストールされており、システムの
起動時、又は稼働中に適宜メイン・メモリ12にロード
されるようになっている。HDD16やFDD17は、
PC100に標準装備されたものでも、着脱自在な形態
でオプション接続されたものでもよい。
【0060】PCカード・スロット19は、PCMCI
A/JEIDAの規格に準拠したPCカードを収容可能
にデザインされている。スロット19は、一般には、T
ypeI/IIカードをを2枚重ねで、若しくはTyp
eIIIカードを1枚収容することができる。
【0061】PCカード・コントローラ18は、PCカ
ード・スロット19に収容されたPCカードとシステム
100との間でのインターフェース・プロトコルを実現
するための専用コントローラである。該コントローラ1
8は、スロット19へのPCカードの挿脱状況を示すレ
ジスタ(カード挿脱レジスタ)などの複数のレジスタ
(図示しない)を含んでいる。CPU11が実行する上
位プログラムは、ソケット・サービス経由でPCカード
・コントローラ18をハードウェア操作することができ
る。また、カード・サービスなどの上位プログラムは、
ソケット・サービス経由でカード挿脱レジスタをポーリ
ング(すなわち定期的な監視)を行うことによってカー
ドの挿脱を検出することができる(但し、ポーリングで
はなくて割り込み要求(IRQ)を発行することによっ
てカードの挿脱を通知するようにしても、同様に動作す
ることは言うまでもない)。
【0062】なお、コンピュータ・システム100を構
成するためには、図1に示した以外にも多くのハードウ
ェア構成要素が必要である。但し、これらは当業者には
周知であり、また、本発明の要旨を構成するものではな
いので、本明細書中では省略している。
【0063】ソフトウェア構成:図2には、本発明によ
るPnP機能をサポートするためのソフトウェア・アー
キテクチャ(特にPCMCIA系のサブシステム)を模
式的に示している。同図中、斜線のブロックは32ビッ
ト・モード(Windows95ネイティブ・モード)
で動作可能なソフトウェアであり、斜線無しのブロック
は16ビット・モード(DOS/Windows3.x
互換モード)で動作可能なソフトウェアである。
【0064】ソフトウェアの最下層は、ソケット・サー
ビス51である。ソケット・サービス51は、ハードウ
ェア層の相違を吸収するためのデバイス・ドライバであ
り、PCカード・コントローラに直接アクセスするため
のファンクション・コールを備えている。本実施例のソ
ケット・サービス51の特筆すべき機能は、上位の各カ
ード・サービス(後述)からのポーリングに対しては所
定の手続に従ってPCカード・スロット19での事象
(イベント)を通知する点である。この所定の手続に従
った動作については、後続のB項を参照されたい。な
お、Windows95ネイティブのソケット・サービ
スは該機能を備えていないので、該機能を装備したソケ
ット・サービス51に置き換えることによって、本発明
は実現可能となる(Windows95ネイティブのソ
ケット・サービスを置換可能な点は既述)。
【0065】PCMCIAバス・エニュメレータ52
は、PCカードのシステム・リソースを管理するための
カード・サービスや、PCカードをイネーブルするため
のコモン・イネーブラ、32ビット・クライアント・デ
バイス・ドライバを自動ロードするためのデバイス・ド
ライバ・ローダ、コンフィギュレーション・マネージャ
(C/M)と対話するためのC/Mインターフェースを
装備している。このうちカード・サービス部分(以下、
「32ビット・カード・サービス」という)は、ソケッ
ト・サービス51に対するファンクション・コールを備
え、且つ、ソケット・サービス51経由でPCカード・
スロット19の状況をポーリングするようになってい
る。また、コモン・イネーブラは、システム100にイ
ンストール済みのクライアント・デバイス・ドライバ5
3によって駆動可能なPCカードをイネーブル処理する
ようになっている。本実施例のPCMCIAバス・エニ
ュメレータ52は、Windows95ネイティブのP
CMCIAバス・エニュメレータ(但し、ソケット・サ
ービス部分を除く)でよい。
【0066】コンフィギュレーション・マネージャ54
は、システム全体のリソースを管理するためのソフトウ
ェアである。コンフィギュレーション・マネージャ54
は、例えばPCMCIAバス・エニュメレータ52が使
用要求するシステム・リソースが他のサブシステムで使
用中のシステム・リソースと競合しないように調停作業
を行うようになっている。コンフィギュレーション・マ
ネージャ54は、Windows95ネイティブのもの
でよい。
【0067】参照番号53は、32ビット・カード・サ
ービスにクライアント登録された32ビット・クライア
ント・ドライバである。32ビット・クライアント・ド
ライバは、Windows95対応のPCカード(若し
くはPCMCIA Rel2.1準拠のPCカード)を
駆動するために用いられる。但し、PCMCIAバス・
エニュメレータ52は自動ローディング機能を備えてい
るので、32ビット・クライアント・ドライバはメモリ
に常駐する必要はない。
【0068】16ビット・カード・サービス61は、W
indows95ネイティブ・モードではイネーブルで
きないタイプのPCカードのシステム・リソースを管理
するために設けられている。ここで言うWindows
95ネイティブ・モードではイネーブルできないPCカ
ードとは、最新のPCMCIA/JEIDA仕様(すな
わち"PC Card Standard")に準拠した
PCカードや、PCMCIA Rel2.1以前の仕様
に準拠した古いタイプのPCカードのことである。ま
た、カード・サービス61は、ソケット・サービス51
に対するファンクション・コールを備えるとともに、ソ
ケット・サービス51経由でPCカード・スロット19
の状況をポーリングするようになっている。なお、16
ビット・カード・サービス61はWindows95ネ
イティブではなく、また、これに標準添付されてもいな
い。したがって、Windows95のユーザは、16
ビット・デバイス・ドライバでPCカードを駆動させた
い場合には、自身でカード・サービス61をインストー
ルしなければならない。
【0069】参照番号62は、16ビット・カード・サ
ービス61にクライアント登録された16ビット・クラ
イアント・デバイス・ドライバである。16ビット・ク
ライアント・ドライバは、Windows95に対応し
ないPCカードを駆動するために用いられる。DOS/
Windows3.xでは自動ローディング機能を備え
ていないので、16ビット・クライアント・デバイス・
ドライバはメモリに常駐する(すなわち"confi
g.sys"ファイル中で指定する)必要がある。
【0070】参照番号63及び64は、いわゆる仮想デ
バイス・ドライバ(VxD)である。VxDは、アドレ
ッシング・モードの違いを吸収するために設けられたも
のであり、VxDはソケット・サービス51とカード・
サービス61の間を、また、VxD64はカード・サー
ビス61とコンフィギュレーション・マネージャ54と
の間を、それぞれ取り持つようになっている。VxDの
構成や動作は本発明の要旨とは直接関連しないので、こ
れ以上詳しく言及しない。
【0071】参照番号71は、いわゆるアプリケーショ
ン・プログラムである。PCカードの利用の便宜を図る
ためのPCMCIAユーティリティ等はアプリケーショ
ン・プログラムに該当する。
【0072】B.PnPサポート・オペレーション 前項までで、本発明を具現するコンピュータ・システム
100のハードウェア及びソフトウェア構成を説明して
きた。本項では、該システムの動作とともに本発明の作
用について説明することにする。
【0073】B−1.PCカード・インサーション・オ
ペレーション 図3には、PCカードがシステム100に挿入されたと
きに各デバイス・ドライバが行う協働的動作を、フロー
チャート化して示している。
【0074】PCカードがPCカード・スロット19に
挿入されたことによって処理が開始する(ステップS1
00)。
【0075】この間、16ビット・カード・サービス6
1や32ビット・カード・サービスはそれぞれ、ソケッ
ト・サービス51経由で、PCカード・スロット19の
状況をポーリングしている(ステップS102)。
【0076】ソケット・サービス51は、ポーリング要
求を受け取った時には、まず、16ビット・カード・サ
ービス61がシステム100にロードされているかどう
かを判断する(ステップS104)。16ビット・カー
ド・サービス61が存在しなければDOS/Windo
ws3.x互換モードによるPCカードのイネーブル処
理を成し得ないので、該判断ステップの分岐"No"に抜
けて、Windows95ネイティブ・モードによるP
Cカードのイネーブル処理を試みる(ステップS11
6:後述)。なお、ソケット・サービスは、一般に、起
動時に各カード・サービスとプログラミング・インター
フェースを交換するようになっており、該処理の有無に
よって16ビット・カード・サービス61の存在を検知
することができる。
【0077】一方、判断ステップS104の結果が肯定
的であれば、次ステップS106に進み、ソケット・サ
ービス51は、受け取ったポーリング要求が16ビット
・カード・サービス61によるものかどうかを判断す
る。16ビット・カード・サービス61以外によるポー
リング要求であれば、ステップS102に復帰して、1
6ビット・カード・サービス61からのポーリング要求
まで待機する。
【0078】ポーリング要求が16ビット・カード・サ
ービス61によるものであれば、ソケット・サービス5
1は、16ビット・カード・サービス61に対してカー
ド挿入事象(インサーション・イベント)を通知する
(ステップS108)。
【0079】カード挿入事象を通知された16ビット・
カード・サービス61は、自身によるPCカードのイネ
ーブル処理(すなわちDOS/Windows3.x互
換モードによるイネーブル処理)を試みる(ステップS
110)。該イネーブル処理の詳細は後述する。
【0080】次いで、ステップS112では、16ビッ
ト・カード・サービス61によってPCカードのイネー
ブルが実際に行われたかどうかを判断する。該判断は、
例えばソケット・サービス51自身が新しいシステム・
リソースの内容をPCカード・コントローラ18にプロ
グラムしたかどうかを覚えておくことによって可能であ
る。
【0081】16ビット・カード・サービス61によっ
てPCカードのイネーブル処理が行われていなければ、
32ビット・カード・サービス(すなわちWindow
s95ネイティブ・モード)によってPCカードのイネ
ーブル処理を試みる必要がある。このため、判断ステッ
プS112の分岐"No"からステップS116に進み、
Windows95ネイティブ・モードによるPCカー
ドのイネーブル処理を試みる。
【0082】一方、16ビット・カード・サービス61
によってPCカードのイネーブル処理が済んでいれば、
判断ステップS112の分岐"Yes"に進んで、全処理
を終了する(ステップS114)。以後、ソケット・サ
ービス51は、32ビット・カード・サービスからのポ
ーリングに対しては無視し続ける。このため、32ビッ
ト・カード・サービスは、PCカードが現実に挿入され
ているにも拘らず、カードの挿入を知らされないままで
あり、Windows95ネイティブ・モードによるP
Cカードのイネーブル処理が行われることはない。ま
た、PCカードの駆動は、16ビット・クライアント・
デバイス・ドライバによって行われることになる。
【0083】なお、該フローチャートで2つの判断ステ
ップS104及びS106を設けることによって、16
ビット・カード・ドライバ61に対して優先的にカード
挿入事象を通知して、DOS/Windows3.x互
換モードによるPCカードのイネーブル処理を優先する
ようにしている。これは主に、* Windows95
は、自身にネイティブのデバイス・ドライバを自動ロー
ディングできる一方、挿入されたPCカードに対応する
デバイス・ドライバがインストールされていなければ、
システムが「デバイス・ドライバをインストールしなさ
い」という旨のユーザ・メッセージを表示するように設
計されている。このため、Windows95ネイティ
ブ・モードを優先させた場合、16ビット・クライアン
ト・デバイス・ドライバでのみ駆動するPCカードが挿
入されたときには、ユーザ・メッセージ状態(すなわち
ウェイト状態)に陥り、DOS/Windows互換モ
ード(すなわち16ビット・カード・サービス61)に
よるイネーブル処理に進行できない。 *という理由に
依拠するものである。オペレーティング・システムがW
indows95のように設計されていない場合には、
16ビット系のデバイス・ドライバを優先させる積極的
な理由はなく、逆に32ビット系のデバイス・ドライバ
に優先権を与えるようにしてもよい。
【0084】DOS/Windows互換モード下での
イネーブル処理:図4には、DOS/Windows互
換モード下でPCカードをイネーブルするための処理手
順(すなわち図3のステップS110)を、さらに詳細
にフローチャート化して示している。
【0085】ポーリングの結果としてカード挿入事象を
受け取った16ビット・カード・サービス61は、自身
にクライアント登録している各クライアント・デバイス
・ドライバ62…に対してカード挿入事象を順次通知す
る(ステップS202)。
【0086】各クライアント・デバイス・ドライバ62
…は、それぞれカード・サービス61及びソケット・サ
ービス51経由で、PCカード内のメモリからカード属
性情報(タプル)を読み取り(ステップS204)、タ
プルの内容に従って、自身が駆動すべきPCカードかど
うかを判断する(ステップS206)。
【0087】自身が駆動すべきPCカードでないと判断
したクライアント・デバイス・ドライバは、ステップS
208に進んで、カード挿入事象を無視して、イネーブ
ル処理を行わない。
【0088】これに対して、自身が駆動すべきPCカー
ドである判断したクライアント・デバイス・ドライバ
は、ステップS210に進んで、タプルの内容からPC
カードに必要なシステム・リソースを知り、16ビット
・カード・サービス61に対してシステム・リソースの
割り振りを要求する。
【0089】16ビット・カード・サービス61は、自
身のリソース・テーブルを参照するとともに、仮想デバ
イス・ドライバ64経由でコンフィギュレーション・マ
ネージャ54に問合せて、システム・リソースの使用を
確認する。そして、システム・リソースの使用が確認さ
れると、クライアント・デバイス・ドライバは、16ビ
ット・カード・サービス61経由でPCカード・コント
ローラ18をプログラムして、PCカードをシステム構
成に組み込む。(ステップS212)。この結果、PC
カードはDOS/Windows3.x互換モードでイ
ネーブルされたことになる。
【0090】Windows95ネイティブ・モード下
でのイネーブル処理:図5には、Windows95ネ
イティブ・モード下でPCカードをイネーブルするため
の処理手順(すなわち図3のステップS116)を、さ
らに詳細にフローチャート化して示している。
【0091】まず、32ビット・カード・サービスは、
ソケット・サービス51に対してポーリングを要求する
ことによって、カード挿入事象を受け取る(ステップS
302)。
【0092】次いで、PCMCIAバス・エニュメレー
タ内のコモン・イネーブラは、32ビット・カード・サ
ービス及びソケット・サービス51経由で、PCカード
内のメモリからカード属性情報(タプル)を読み取る
(ステップS304)。また、必要に応じて、FDD1
7等の補助記憶装置から、PCカード駆動のための情報
を格納しているINFファイルを読み出す。
【0093】タプルやINFファイルの内容により、コ
モン・イネーブラがイネーブルできるPCカードである
ことが判った場合には、コモン・イネーブラは、コンフ
ィギュレーション・マネージャ54に対して、PCカー
ドのシステム・リソース使用を要求する。次いで、コモ
ン・イネーブラは、32ビット・カード・サービス及び
ソケット・サービス51経由でPCカード・コントロー
ラ18をプログラムする(ステップS306)。この結
果、PCカードはWindows95ネイティブ・モー
ドでイネーブルされたことになる。
【0094】逆に、コモン・イネーブラによってイネー
ブルできないPCカードであることが判った場合には、
対応するクライアント・デバイス・ドライバのシステム
100へのインストール(すなわちHDD17へのコピ
ー)を促すユーザ・メッセージを表示する(ステップS
308)。そして、ユーザが指定されたクライアント・
デバイス・ドライバをインストールすると、該クライア
ント・デバイス・ドライバに対してカード挿入事象を通
知して、PCカードのイネーブル処理(すなわちシステ
ム・リソースの割り振り)を行わせる(ステップS31
0)。この結果、PCカードはWindows95ネイ
ティブ・モードでイネーブルされたことになる。
【0095】PCカードがイネーブルされると、PCM
CIAバス・エニュメレータ内のデバイス・ドライバ・
ローダは、INFファイルに記述されているクライアン
ト・デバイス・ドライバをメモリ12に自動ロードする
(S312)この結果、システム100がPCカードを
利用可能になる。
【0096】B−2.PCカード・リムーバル・オペレ
ーション:図6には、PCカードがシステム100から
抜き取られたときに、本実施例に係る各デバイス・ドラ
イバが行う協働的動作を、フローチャート化して示して
いる。
【0097】PCカードが抜き取られると(ステップS
402)、ソケット・サービス51は、該PCカードが
32ビット・カード・サービス又は16ビット・カード
・サービス61のいずれの管理下に置かれているたを判
断する(ステップS404)。
【0098】PCカードが16ビット・カード・サービ
ス61の管理下であれば、ソケット・サービス51は、
16ビット・カード・サービス61からのポーリングに
対してのみカード抜き取り事象(リムーバル・イベン
ト)を通知する(ステップS406)。この結果、16
ビット・カード・サービス61は、対応するクライアン
ト・デバイス・ドライバに該事象を報告する。報告を受
けたクライアント・デバイス・ドライバは、PCカード
に割り振られていたシステム・リソースを解放させて、
PCカードをディセーブルする。
【0099】一方、PCカードが32ビット・カード・
サービスの管理下であれば、ソケット・サービス51
は、32ビット・カード・サービスからのポーリングに
対してのみカード抜き取り事象(リムーバル・イベン
ト)を通知する(ステップS408)。この結果、32
ビット・カード・サービスは、対応するクライアント・
デバイス・ドライバに該事象を報告する。報告を受けた
クライアント・デバイス・ドライバは、PCカードに割
り振られていたシステム・リソースを解放させて、PC
カードをディセーブルする。
【0100】このようにして、PCカードがディセーブ
ルされた後には、ソケット・サービス51は次にPCカ
ードが挿入されるまで待機する。
【0101】C.追補 以上、特定の実施例を参照しながら、本発明について詳
解してきた。しかしながら、本発明の要旨を逸脱しない
範囲で当業者が該実施例の修正や代用を成し得ることは
自明である。本明細書では、PCMCIA/JEIDA
の規格に準拠したPCカードの自動イネーブルを例にと
って説明しているが、本発明の要旨はこれに限定される
ものではない。他の所定の規格に準拠したメモリ・カー
ド、I/Oカード等の周辺デバイスを標準装備又はオプ
ション装備可能な情報処理システムに対しても、本発明
を適用することは可能である。要するに、例示という形
態で本発明を開示してきたのであり、限定的に解釈され
るべきではない。本発明の要旨を判断するためには、冒
頭に記載した特許請求の範囲の欄を参酌すべきである。
【0102】
【発明の効果】以上詳記したように、本発明によれば、
第1のアドレッシング・モードで動作するデバイス・ド
ライバによって駆動される周辺デバイスと第2のアドレ
ッシング・モードで動作するデバイス・ドライバが共存
するタイプの情報処理システムに適用可能であって、適
切なデバイス・ドライバによって周辺デバイスをイネー
ブルし駆動することができる、優れたを周辺デバイスの
自動イネーブル方法を提供することができる。
【0103】より具体的には、本発明によれば、DOS
/Windows3.x系のデバイス・ドライバでしか
動かないPCカードが挿入されたときには該デバイス・
ドライバによってPCカードをイネーブルする一方、W
indows95ネイティブのデバイス・ドライバで動
くPCカードが挿入されたときには該デバイス・ドライ
バによってPCカードをイネーブルすることができる。
すなわち、見かけ上は、PCMCIA系のサブシステム
は、Windows95ネイティブ・モードとDOS/
Windows3.x互換モードとの間を動的に切り換
わる訳である。
【図面の簡単な説明】
【図1】図1は、本発明を実現するのに適した典型的な
パーソナル・コンピュータ(PC)のハードウェア・ア
ーキテクチャを模式的に示した図である。
【図2】図2は、本発明によるPnP機能をサポートす
るためのソフトウェア・アーキテクチャを模式的に示し
た図である。
【図3】図3は、PCカードがシステム100に挿入さ
れたときに、本実施例に係る各デバイス・ドライバが行
う協働的動作を、フローチャート化して示した図であ
る。
【図4】図4は、DOS/Windows3.x互換モ
ード下で、挿入されたPCカードにシステム・リソース
を割り振るための手順をフローチャート化して示した図
である。
【図5】図5は、Windows95ネイティブ・モー
ド下で、挿入されたPCカードにシステム・リソースを
割り振るための手順をフローチャート化して示した図で
ある。
【図6】図6は、PCカードがシステム100から抜き
取られたときに、本実施例に係る各デバイス・ドライバ
が行う協働的動作を、フローチャート化して示した図で
ある。
【図7】図7は、パーソナル・コンピュータに周辺デバ
イスを拡張する様子を示した図である。より具体的に
は、図7(a)はデスクトップ・コンピュータに拡張ア
ダプタ・カードを装着する、図7(b)はノートブック
・コンピュータにPCカードを装着する様子を、それぞ
れ示している。
【図8】図8は、PCカードをサポートするソフトウェ
ア・アーキテクチャを図解したブロック図である。
【図9】図9は、Windows95のPnPアーキテ
クチャを図解したブロック図である。
【符号の説明】
11…CPU、12…メイン・メモリ、13…ROM、
14…表示装置、15…入力手段、16…HDD、17
…FDD、18…PCカード・コントローラ、19…P
Cカード・スロット、20…バス、51…ソケット・サ
ービス、52…PCMCIAバス・エニュメレータ、5
3…32ビット・クライアント・デバイス・ドライバ、
54…コンフィギュレーション・マネージャ、61…1
6ビット・デバイス・ドライバ、62…16ビット・ク
ライアント・デバイス・ドライバ、63,64…仮想デ
バイス・ドライバ、71…アプリケーション・プログラ
ム、100…コンピュータ・システム。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 13/10 - 13/14

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】第1のアドレッシング・モードで動作する
    デバイス・ドライバによって駆動される周辺デバイスと
    第2のアドレッシング・モードで動作するデバイス・ド
    ライバによって駆動される周辺デバイスの双方を装着す
    ることができるタイプの情報処理システム上で適用され
    る、周辺デバイスの自動イネーブル方法において、 (a)周辺デバイスが前記情報処理システムに装着され
    たことを検出するステップと、 (b)周辺デバイスの装着に応答して、第1のアドレッ
    シング・モードで動作するデバイス・ドライバに対して
    優先的に該周辺デバイスをイネーブルする機会を与える
    ステップと、 (c)周辺デバイスの装着に応答して、第1のアドレッ
    シング・モードで動作するデバイス・ドライバによって
    該周辺デバイスがイネーブルされなかったときのみ、第
    2のアドレッシング・モードで動作するデバイス・ドラ
    イバに対して該周辺デバイスをイネーブルする機会を与
    えるステップと、 を具備することを特徴とする周辺デバイスの自動イネー
    ブル方法。
  2. 【請求項2】16ビット・モードで動作するデバイス・
    ドライバによって駆動されるPCカードと32ビット・
    モードで動作するデバイス・ドライバによって駆動され
    るPCカードの双方を装着することができるタイプの情
    報処理システム上で適用される、PCカードの自動イネ
    ーブル方法において、 (a)PCカードが前記情報処理システムに装着された
    ことを検出するステップと、 (b)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバに対して優先的に該P
    Cカードをイネーブルする機会を与えるステップと、 (c)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバによって該PCカード
    がイネーブルされなかったときのみ、32ビット・モー
    ドで動作するデバイス・ドライバに対して該PCカード
    をイネーブルする機会を与えるステップと、 を具備することを特徴とするPCカードの自動イネーブ
    ル方法。
  3. 【請求項3】32ビット・モード又は16ビット・モー
    ドのいずれか一方で動作可能なオペレーティング・シス
    テムの制御下に置かれるとともに、32ビット・モード
    及び16ビット・モードの複数のデバイス・ドライバが
    共存しているタイプの情報処理システム上で適用され
    る、PCカードの自動イネーブル方法において、 (a)PCカードが前記情報処理システムに装着された
    ことを検出するステップと、 (b)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバに対して優先的に該P
    Cカードをイネーブルする機会を与えるステップと、 (c)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバによって該PCカード
    がイネーブルされなかったときのみ、32ビット・モー
    ドで動作するデバイス・ドライバに対して該PCカード
    をイネーブルする機会を与えるステップと、 を具備することを特徴とするPCカードの自動イネーブ
    ル方法。
  4. 【請求項4】第1のアドレッシング・モードで動作する
    デバイス・ドライバによって駆動される周辺デバイスと
    第2のアドレッシング・モードで動作するデバイス・ド
    ライバによって駆動される周辺デバイスの双方を装着す
    ることができるタイプの情報処理システム上で適用され
    る、周辺デバイスの自動イネーブル方法において、 (a)周辺デバイスが前記情報処理システムに装着され
    たことを検出するステップと、 (b)周辺デバイスの装着に応答して、第1のアドレッ
    シング・モードで動作するデバイス・ドライバに対して
    優先的に、自身が該周辺デバイスを駆動可能なデバイス
    ・ドライバかどうかを確認する機会を与えるステップ
    と、 (c)前記(b)ステップで肯定応答したデバイス・ド
    ライバが、装着された周辺デバイスのためのシステム・
    リソースの割り振りを要求するステップと、 (d)前記(c)ステップにおける要求に応答して、装
    着された周辺デバイスのためのシステム・リソースを設
    定するステップと、 (e)周辺デバイスの装着に応答して、第1のアドレッ
    シング・モードで動作するデバイス・ドライバによって
    該周辺デバイスがイネーブルされなかったときのみ、第
    2のアドレッシング・モードで動作するデバイス・ドラ
    イバに対して、自身が該周辺デバイスを駆動可能なデバ
    イス・ドライバかどうかを確認する機会を与えるステッ
    プと、 (f)前記(e)ステップで肯定応答したデバイス・ド
    ライバが、装着された周辺デバイスのためのシステム・
    リソースの割り振りを要求するステップと、 (g)前記(f)ステップにおける要求に応答して、装
    着された周辺デバイスのためのシステム・リソースを設
    定するステップと、 を具備することを特徴とする周辺デバイスの自動イネー
    ブル方法。
  5. 【請求項5】16ビット・モードで動作するデバイス・
    ドライバによって駆動されるPCカードと32ビット・
    モードで動作するデバイス・ドライバによって駆動され
    るPCカードの双方を装着することができるタイプの情
    報処理システム上で適用される、PCカードの自動イネ
    ーブル方法において、 (a)PCカードが前記情報処理システムに装着された
    ことを検出するステップと、 (b)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバに対して優先的に、自
    身が該PCカードを駆動可能なデバイス・ドライバかど
    うかを確認する機会を与えるステップと、 (c)前記(b)ステップで肯定応答したデバイス・ド
    ライバが、装着されたPCカードのためのシステム・リ
    ソースの割り振りを要求するステップと、 (d)前記(c)ステップにおける要求に応答して、装
    着されたPCカードのためのシステム・リソースを設定
    するステップと、 (e)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバによって該PCカード
    がイネーブルされなかったときのみ、32ビット・モー
    ドで動作するデバイス・ドライバに対して、自身が該P
    Cカードを駆動可能なデバイス・ドライバかどうかを確
    認する機会を与えるステップと、 (f)前記(e)ステップで肯定応答したデバイス・ド
    ライバが、装着されたPCカードのためのシステム・リ
    ソースの割り振りを要求するステップと、 (g)前記(f)ステップにおける要求に応答して、装
    着されたPCカードのためのシステム・リソースを設定
    するステップと、 を具備することを特徴とするPCカードの自動イネーブ
    ル方法。
  6. 【請求項6】32ビット・モード又は16ビット・モー
    ドのいずれか一方で動作可能なオペレーティング・シス
    テムの制御下に置かれるとともに、32ビット・モード
    及び16ビット・モードの複数のデバイス・ドライバが
    共存しているタイプの情報処理システム上で適用され
    る、PCカードの自動イネーブル方法において、 (a)PCカードが前記情報処理システムに装着された
    ことを検出するステップと、 (b)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバに対して優先的に、自
    身が該PCカードを駆動可能なデバイス・ドライバかど
    うかを確認する機会を与えるステップと、 (c)前記(b)ステップで肯定応答したデバイス・ド
    ライバが、装着されたPCカードのためのシステム・リ
    ソースの割り振りを要求するステップと、 (d)前記(c)ステップにおける要求に応答して、装
    着されたPCカードのためのシステム・リソースを設定
    するステップと、 (e)PCカードの装着に応答して、16ビット・モー
    ドで動作するデバイス・ドライバによって該PCカード
    がイネーブルされなかったときのみ、32ビット・モー
    ドで動作するデバイス・ドライバに対して、自身が該P
    Cカードを駆動可能なデバイス・ドライバかどうかを確
    認する機会を与えるステップと、 (f)前記(e)ステップで肯定応答したデバイス・ド
    ライバが、装着されたPCカードのためのシステム・リ
    ソースの割り振りを要求するステップと、 (g)前記(f)ステップにおける要求に応答して、装
    着されたPCカードのためのシステム・リソースを設定
    するステップと、 を具備することを特徴とするPCカードの自動イネーブ
    ル方法。
  7. 【請求項7】第1のアドレッシング・モードで動作する
    デバイス・ドライバによって駆動される周辺デバイスと
    第2のアドレッシング・モードで動作するデバイス・ド
    ライバによって駆動される周辺デバイスの双方を装着す
    ることができるタイプの情報処理システム上で適用され
    る、周辺デバイスの自動イネーブル方法において、 (a)装着中の周辺デバイスが抜き取られたことを検出
    するステップと、 (b)抜き取られた周辺デバイスが第1のアドレッシン
    グ・モードで動作するデバイス・ドライバで駆動されて
    いれば、該デバイス・ドライバに対して抜き取られたこ
    とを通知するステップと、 (c)前記(b)における通知に応答して、第1のアド
    レッシング・モードで動作するデバイス・ドライバが、
    抜き取られた周辺デバイスに割り振られていたシステム
    ・リソースを解放することによって、該周辺デバイスを
    ディセーブルするステップと、 (d)抜き取られた周辺デバイスが第2のアドレッシン
    グ・モードで動作するデバイス・ドライバで駆動されて
    いれば、該デバイス・ドライバに対して抜き取られたこ
    とを通知するステップと、 (e)前記(f)における通知に応答して、第2のアド
    レッシング・モードで動作するデバイス・ドライバが、
    抜き取られた周辺デバイスに割り振られていたシステム
    ・リソースを解放することによって、該周辺デバイスを
    ディセーブルするステップと、 を具備することを特徴とする周辺デバイスの自動イネー
    ブル方法。
  8. 【請求項8】16ビット・モードで動作するデバイス・
    ドライバによって駆動されるPCカードと32ビット・
    モードで動作するデバイス・ドライバによって駆動され
    るPCカードの双方を装着することができるタイプの情
    報処理システム上で適用される、PCカードの自動イネ
    ーブル方法において、 (a)装着中のPCカードが抜き取られたことを検出す
    るステップと、 (b)抜き取られたPCカードが16ビット・モードで
    動作するデバイス・ドライバで駆動されていれば、該デ
    バイス・ドライバに対して抜き取られたことを通知する
    ステップと、 (c)前記(b)における通知に応答して、16ビット
    ・モードで動作するデバイス・ドライバが、抜き取られ
    たPCカードに割り振られていたシステム・リソースを
    解放することによって、該PCカードをディセーブルす
    るステップと、 (d)抜き取られたPCカードが32ビット・モードで
    動作するデバイス・ドライバで駆動されていれば、該デ
    バイス・ドライバに対して抜き取られたことを通知する
    ステップと、 (e)前記(d)における通知に応答して、32ビット
    ・モードで動作するデバイス・ドライバが、抜き取られ
    たPCカードに割り振られていたシステム・リソースを
    解放することによって、該PCカードをディセーブルす
    るステップと、 を具備することを特徴とするPCカードの自動イネーブ
    ル方法。
  9. 【請求項9】32ビット・モード又は16ビット・モー
    ドのいずれか一方で動作可能なオペレーティング・シス
    テムの制御下に置かれるとともに、32ビット・モード
    及び16ビット・モードの複数のデバイス・ドライバが
    共存しているタイプの情報処理システム上で適用され
    る、PCカードの自動イネーブル方法において、 (a)装着中のPCカードが抜き取られたことを検出す
    るステップと、 (b)抜き取られたPCカードが16ビット・モードで
    動作するデバイス・ドライバで駆動されていれば、該デ
    バイス・ドライバに対して抜き取られたことを通知する
    ステップと、 (c)前記(b)における通知に応答して、16ビット
    ・モードで動作するデバイス・ドライバが、抜き取られ
    たPCカードに割り振られていたシステム・リソースを
    解放することによって、該PCカードをディセーブルす
    るステップと、 (d)抜き取られたPCカードが32ビット・モードで
    動作するデバイス・ドライバで駆動されていれば、該デ
    バイス・ドライバに対して抜き取られたことを通知する
    ステップと、 (e)前記(d)における通知に応答して、32ビット
    ・モードで動作するデバイス・ドライバが、抜き取られ
    たPCカードに割り振られていたシステム・リソースを
    解放することによって、該PCカードをディセーブルす
    るステップと、 を具備することを特徴とするPCカードの自動イネーブ
    ル方法。
JP10665296A 1996-04-26 1996-04-26 周辺デバイスの自動イネーブル方法 Expired - Fee Related JP3274604B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10665296A JP3274604B2 (ja) 1996-04-26 1996-04-26 周辺デバイスの自動イネーブル方法
KR1019970006337A KR100247719B1 (ko) 1996-04-26 1997-02-27 주변 디바이스의 자동 인에이블 방법, 및 주변 디바이스의 자동 인에이블 프로그램을 저장한 기억 매체
US08/829,561 US5935228A (en) 1996-04-26 1997-03-28 Method for automatically enabling peripheral devices and a storage medium for storing automatic enable program for peripheral devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10665296A JP3274604B2 (ja) 1996-04-26 1996-04-26 周辺デバイスの自動イネーブル方法

Publications (2)

Publication Number Publication Date
JPH09293041A JPH09293041A (ja) 1997-11-11
JP3274604B2 true JP3274604B2 (ja) 2002-04-15

Family

ID=14439051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10665296A Expired - Fee Related JP3274604B2 (ja) 1996-04-26 1996-04-26 周辺デバイスの自動イネーブル方法

Country Status (3)

Country Link
US (1) US5935228A (ja)
JP (1) JP3274604B2 (ja)
KR (1) KR100247719B1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141712A (en) * 1998-01-30 2000-10-31 Object Technology Licensing Corporation Apparatus and method for modeling behavior of expansion boards in a computer system
US6247081B1 (en) * 1998-02-19 2001-06-12 Nortel Networks Limited Method and apparatus for installing drivers without requiring system re-boot
WO2004097621A1 (ja) * 1998-04-17 2004-11-11 Shinji Tanaka Pc周辺機器のメンテナンスガイド装置、方法及びプログラム記録媒体
US6205432B1 (en) 1998-06-05 2001-03-20 Creative Internet Concepts, Llc Background advertising system
US6178468B1 (en) * 1998-06-19 2001-01-23 Hewlett-Packard Company Real time supply PF plug-and-play installation resources
US6170020B1 (en) * 1998-06-30 2001-01-02 Compaq Computer Corporation Reservation and dynamic allocation of resources for sole use of docking peripheral device
KR20000009369A (ko) * 1998-07-23 2000-02-15 윤종용 피씨카드를장착가능한컴퓨터시스템및그것의부팅방법
US6311242B1 (en) * 1998-08-27 2001-10-30 Apple Computer, Inc. Method and apparatus for supporting dynamic insertion and removal of PCI devices
TW507154B (en) * 1998-10-23 2002-10-21 Inventec Corp Automatic detection method for sound card
US6199137B1 (en) * 1999-01-05 2001-03-06 Lucent Technolgies, Inc. Method and device for controlling data flow through an IO controller
US6360364B1 (en) * 1999-03-17 2002-03-19 Microsoft Corporation System and method for installing an application on a portable computer
JP2001027916A (ja) * 1999-05-12 2001-01-30 Fujitsu Ltd 電子機器及び電源制御装置並びに電源供給制御方法
US6625680B1 (en) * 1999-08-16 2003-09-23 Cisco Technology, Inc. System and method for processing circuit card connector and redundancy events
JP3946397B2 (ja) * 1999-12-24 2007-07-18 三菱電機株式会社 車載情報処理装置
US6601163B1 (en) * 2000-05-08 2003-07-29 International Business Machines Corporation Method and system for executing adapter configuration routines utilizing different operating modes
KR20020080587A (ko) * 2001-04-16 2002-10-26 주식회사 알파텔레콤 마이크로소프트 윈도우즈 운영체계에서의 주변장치설치방법 및 그 기록매체
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
US20030074268A1 (en) * 2001-10-11 2003-04-17 Haines Robert E. User and device interactions for web consolidation
US20030072027A1 (en) * 2001-10-11 2003-04-17 Haines Robert E. Unique identifier for customer account and method
US20030074547A1 (en) * 2001-10-11 2003-04-17 Haines Robert E. Hardcopy output engine consumable supply management and method
US20030074442A1 (en) * 2001-10-11 2003-04-17 Haines Robert E. Hardcopy output engine discovery method and apparatus
CN100378701C (zh) * 2001-10-17 2008-04-02 Nxp股份有限公司 利用可附着子模块的电子设备的快速配置
US20030088762A1 (en) * 2001-11-05 2003-05-08 Jenny Liang Storage media of operating system arranging at the expansion slot of motherboard
US6725291B2 (en) * 2002-01-18 2004-04-20 Key Technology Corporation Detection method used in adaptor capable of inserting various kinds of memory cards
US7188347B2 (en) 2002-05-24 2007-03-06 Nokia Corporation Method, apparatus and system for connecting system-level functionality of domestic OS of a mobile phone to any application operating system
US7299346B1 (en) 2002-06-27 2007-11-20 William K. Hollis Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
FI117489B (fi) 2003-02-07 2006-10-31 Nokia Corp Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti
US8001325B2 (en) * 2004-01-09 2011-08-16 Sandisk Corporation Memory card that supports file system interoperability
US7757033B1 (en) 2004-02-13 2010-07-13 Habanero Holdings, Inc. Data exchanges among SMP physical partitions and I/O interfaces enterprise servers
US7953903B1 (en) * 2004-02-13 2011-05-31 Habanero Holdings, Inc. Real time detection of changed resources for provisioning and management of fabric-backplane enterprise servers
US7990994B1 (en) 2004-02-13 2011-08-02 Habanero Holdings, Inc. Storage gateway provisioning and configuring
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US7633955B1 (en) 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US8145785B1 (en) 2004-02-13 2012-03-27 Habanero Holdings, Inc. Unused resource recognition in real time for provisioning and management of fabric-backplane enterprise servers
US7843907B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway target for fabric-backplane enterprise servers
US8868790B2 (en) 2004-02-13 2014-10-21 Oracle International Corporation Processor-memory module performance acceleration in fabric-backplane enterprise servers
US7873693B1 (en) 2004-02-13 2011-01-18 Habanero Holdings, Inc. Multi-chassis fabric-backplane enterprise servers
US7860961B1 (en) 2004-02-13 2010-12-28 Habanero Holdings, Inc. Real time notice of new resources for provisioning and management of fabric-backplane enterprise servers
US7860097B1 (en) 2004-02-13 2010-12-28 Habanero Holdings, Inc. Fabric-backplane enterprise servers with VNICs and VLANs
US7685281B1 (en) 2004-02-13 2010-03-23 Habanero Holdings, Inc. Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
US8713295B2 (en) 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system
US7613862B2 (en) * 2004-08-10 2009-11-03 Intel Corporation Embedded driver for bus-connected device
JP2006172325A (ja) * 2004-12-17 2006-06-29 Toshiba Corp デバイス状態制御方法および情報処理装置
US20070101342A1 (en) * 2005-10-31 2007-05-03 Microsoft Corporation Automated device driver management
US20070101328A1 (en) * 2005-10-31 2007-05-03 Microsoft Corporation Sequencing a single task sequence across multiple operating environments
US20080120451A1 (en) * 2006-11-16 2008-05-22 Kolvick Randolph S Method and apparatus for automatically enabling replacement hardware
TW201005535A (en) * 2008-07-17 2010-02-01 Ind Tech Res Inst Electronic apparatus and method for managing a plugged device
DE112016006707T5 (de) * 2015-04-26 2019-01-10 Intel Corporation All-in-one-mobilrechnervorrichtung
US11507421B2 (en) * 2019-06-11 2022-11-22 Dell Products L.P. Information handling system and method to allocate peripheral component interconnect express (PCIe) bus resources

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689710A (en) * 1993-04-01 1997-11-18 Intel Corporation Protected mode C binding for PCMCIA card services interface
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
EP0789951B1 (en) * 1994-11-04 2006-03-29 Intel Corporation Pcmcia autoconfigure pc card
US5630174A (en) * 1995-02-03 1997-05-13 Cirrus Logic, Inc. Adapter for detecting whether a peripheral is standard or multimedia type format and selectively switching the peripheral to couple or bypass the system bus
US5710941A (en) * 1995-02-28 1998-01-20 Microsoft Corporation System for substituting protected mode hard disk driver for real mode driver by trapping test transfers to verify matching geometric translation
US5802365A (en) * 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5671368A (en) * 1996-02-22 1997-09-23 O2 Micro, Inc. PC card controller circuit to detect exchange of PC cards while in suspend mode
JPH09237166A (ja) * 1996-02-29 1997-09-09 Toshiba Corp コンピュータシステムおよびこのシステムで使用されるカードデバイスコントローラ並びに動画像エンコーダカード

Also Published As

Publication number Publication date
KR970071303A (ko) 1997-11-07
US5935228A (en) 1999-08-10
JPH09293041A (ja) 1997-11-11
KR100247719B1 (ko) 2000-03-15

Similar Documents

Publication Publication Date Title
JP3274604B2 (ja) 周辺デバイスの自動イネーブル方法
US10445258B1 (en) Method for creation of device drivers and device objects for peripheral devices
JP4327363B2 (ja) 周辺リソース構成のためのacpiソース言語の自動生成
US6311242B1 (en) Method and apparatus for supporting dynamic insertion and removal of PCI devices
EP0672987B1 (en) Portable PCMCIA interface for a host computer
US6496893B1 (en) Apparatus and method for swapping devices while a computer is running
US6401198B1 (en) Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
US5787019A (en) System and method for handling dynamic changes in device states
EP1909474B1 (en) Image processor and its control method
JP3403284B2 (ja) 情報処理システム及びその制御方法
US5797031A (en) Method and apparatus for peripheral device control by clients in plural memory addressing modes
EP0552873A1 (en) Modifying system configuration in a computer system
JP2001229117A (ja) 拡張ユニットの制御方法、コンピュータ、記録媒体及び伝送媒体
WO1992007319A1 (en) System for multiple access hard disk partitioning
US7051222B2 (en) Robust computer subsystem power management with or without explicit operating system support
JP2004295885A (ja) メイン・メモリの動的再割当てが可能なコンピュータ・システム
JP2003150530A (ja) 周辺機器およびその制御方法
EP0780773A1 (en) Asynchronous bus bridge
US20050193267A1 (en) Application program sharing framework and method for operating systems
JP3327827B2 (ja) コンピュータ・システム内でバス・アドレスを動的に変換する方法及びシステム
US20050223209A1 (en) Apparatus for fast booting computer and method for the same
JP2014120057A (ja) 情報処理装置、およびプログラム
US20040177226A1 (en) Storage system with snapshot-backup capability and method for the same
JP2002366501A (ja) 周辺デバイス、コンピュータシステム、及びインストーラプログラム
US8412859B2 (en) Methods and systems for interconnecting a peripheral device and an electronic system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees