JPH07244628A - プロテクト・モード・デバイス・ドライバを供給する方法及び装置 - Google Patents

プロテクト・モード・デバイス・ドライバを供給する方法及び装置

Info

Publication number
JPH07244628A
JPH07244628A JP7008401A JP840195A JPH07244628A JP H07244628 A JPH07244628 A JP H07244628A JP 7008401 A JP7008401 A JP 7008401A JP 840195 A JP840195 A JP 840195A JP H07244628 A JPH07244628 A JP H07244628A
Authority
JP
Japan
Prior art keywords
driver
mode
adapter
real
disk
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.)
Granted
Application number
JP7008401A
Other languages
English (en)
Other versions
JP3256100B2 (ja
Inventor
Harish Naidu
ナイデュ ハリス
William G Parry
ジー パーリー ウィリアム
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JPH07244628A publication Critical patent/JPH07244628A/ja
Application granted granted Critical
Publication of JP3256100B2 publication Critical patent/JP3256100B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 リアル・モード・デバイス・ドライバと互換
性のあるプロテクト・モード・デバイス・ドライバを供
給する。 【構成】 同じ物理的ディスクがリアル・モード及びプ
ロテクト・モードのディスク・ドライバによってアクセ
スされるドライブ・ユニット・ナンバーの一貫した割り
当てを行う。また、同じ論理ボリュームがリアル・モー
ド及びプロテクト・モード・ボリューム・ドライバによ
ってアクセスされるボリューム・ユニット・ナンバーの
一貫した割り当てを行う。更に、同じアダプタがリアル
・モード及びプロテクト・モード・アダプタ・ドライバ
によって制御されるアダプタ・ナンバーの一貫した割り
当てを行う。また、リアル・モード・デバイス・ドライ
バに加えて供給されるリアル・モード機能ドライバの検
出及びプロテクト・モード・アコモデーションを供給す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デバイス・ドライバの
分野に関し、より特定的には、プロテクト・モード・デ
バイス・ドライバ(protected mode device drivers )
を供給するオペレーティングシステムに関する。
【0002】
【従来の技術】一般的なコンピュータ・システムは、多
数の周辺装置とインタフェースされるコンピュータを含
む。周辺装置は、コンピュータで実行されるオペレーテ
ィング・システムによってまたは適当なインタフェース
を介してコンピュータで実行されるアプリケーション・
プログラムによってアクセスされるうる。装置へのその
ようなアクセスは、デバイス・ドライバとして知られる
ソフトウェア・プログラムによって制御される。マイク
ロソフトのMS−DOSオペレーティング・システムに
よって供給されるもののような、多くのデバイス・ドラ
イバは、リアル・モードとして知られるプロセッサ・モ
ードで動作する“リアル・モード・デバイス・ドライ
バ”である。リアル・モードは、その上でマイクロソフ
トのMS−DOSオペレーティング・システムが実行す
べく最初に設計された、インテル8086マイクロプロ
セッサによって供給される動作の唯一のモードである。
カリフォルニア州、カッパティノ(Cupertino )のイン
テル・コーポレーションによって市販された、インテル
80826、80386及び80486のような最近の
マイクロプロセッサは、8086と上向きに互換性があ
り、それゆえにリアル・モードを支援すべく設計されて
いるが、しかしそれらは、“プロテクト・モード”とし
て知られる、向上したモードでも動作しうる。プロテク
ト・モードは、リアル・モードによって供給されない利
益(benefits)を供給する。例えば、プロテクト・モー
ドは、リアル・モードによって供給されるものよりも拡
大された仮想アドレス空間を供給する。プロテクト・モ
ードは、リアル・モードが供給しないマルチタスキング
及びデータ・セキュリティ(データの安全保護)に対す
るハードウェア支援をも供給する。(80386及び8
0486のデータ・セキュリティを供給する保護機構
は、マイクロソフト出版によって出版された、“マイク
ロソフトの80386/80486プログラミング・ガ
イド”、1991年、の101〜133頁に記載されて
いる。)
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来の技術では種々の問題点がある。本発明の目的は、同
じ物理的ディスクがリアル・モード及びプロテクト・モ
ード・ティスク・ドライバによってアクセスされるドラ
イブ・ユニット・ナンバー(drive unit numbers)の一
貫した割当てを供給する。本発明の目的は、同じ論理ボ
リュームがリアル・モード及びプロテクト・モード・ボ
リューム・ドライバによってアクセスされる論理ボリュ
ーム・ユニット・ナンバーの一貫した割当てを供給す
る。更に、本発明の目的は、同じアダプタがそれらのア
ダプタに接続された周辺装置をアクセスするためにリア
ル・モード及びプロテクト・モード・アダプタ・ドライ
バによって制御されるアダプタ・ナンバーの一貫した割
当てを供給する。また、本発明の目的は、リアル・モー
ド・デバイス・ドライバに加えて供給されたリアル・モ
ード機能ドライバの検出及びプロテクト・モード・アコ
モデーション(accommodation )を供給する。
【0004】
【課題を解決するための手段】本発明の上記目的は、同
じデバイスへの同じデバイス割当てをアクセスするリア
ル・モード・デバイス・ドライバと同じ基準値をプロテ
クト・モード・デバイス・ドライバによってアクセスさ
れたデバイスに割当てるプロテクト・モード・デバイス
・ドライバの、リアル・モード及びプロテクト・モード
で動作することができかつ少なくとも一つのデバイスに
接続されたコンピュータによって実行される、方法であ
って、(a)固有の基準値をリアル・モード・デバイス
・ドライバによってアクセスされたデバイスに割当てる
リアル・モード・デバイス・ドライバと、(b)前記デ
バイスを独自に識別するデバイス情報を読取るべく、前
記ステップ(a)で前記基準値が割当てられたデバイス
をアクセスするリアル・モード・デバイス・ドライバ
と、(c)前記ステップ(a)で前記リアル・モード・
デバイス・ドライバによって前記デバイスに割当てられ
た前記基準値を前記ステップ(b)で前記デバイスから
読み取られた前記デバイス情報に対応付けられたメモリ
・ロケーションに記憶し、(d)前記デバイス情報を読
取るべく前記デバイスをアクセスする前記プロテクト・
モード・デバイス・ドライバと、(e)前記ステップ
(d)で前記プロテクト・モード・デバイス・ドライバ
によってアクセスされた前記デバイス情報に対応付けら
れた前記メモリ・ロケーションに前記ステップ(c)で
記憶された前記基準値を取得し、(f)前記ステップ
(e)で得られた前記基準値を前記ステップ(d)の前
記プロテクト・モード・デバイス・ドライバによってア
クセスされた前記デバイスに割当てるプロテクト・モー
ド・デバイス・ドライバと、を具備する段階を備えてい
る方法によって達成される。
【0005】本発明では、前記ステップ(c)は、前記
基準値及び前記デバイス情報を前記コンピュータに接続
された各デバイスに対するエントリを有しているテーブ
ル・データ構造の同じエントリに記憶することを含むよ
うに構成してもよい。また、本発明の上記目的は、同じ
ディスク・ドライブへの同じディスク・ドライブ割当て
をアクセスするリアル・モード・ディスク・ドライバと
同じドライブ・ユニット・ナンバーをプロテクト・モー
ド・ディスク・ドライバによってアクセスされたデバイ
スに割当てるプロテクト・モード・デバイス・ドライバ
の、リアル・モード及びプロテクト・モードで動作する
ことができかつ少なくとも一つのデバイスに接続された
コンピュータによって実行される、方法であって、
(a)固有のドライブ・ユニット・ナンバーをリアル・
モード・ディスク・ドライバによってアクセスされたデ
ィスク・ドライブに割当てるリアル・モード・ディスク
・ドライバと、(b)前記ディスク・ドライブに存在し
ている前記ディスクを独自に識別するディスク情報を読
取るべく、前記ステップ(a)で前記ドライブ・ユニッ
ト・ナンバーが割当てられたディスク・ドライブをアク
セスするリアル・モード・ディスク・ドライバと、
(c)前記ステップ(b)で前記ディスクから読み取ら
れた前記ディスク情報に対応付けられたメモリ・ロケー
ションのディスクを識別する前記ドライブ・ユニット・
ナンバーを記憶し、(d)前記ディスク・ドライブに存
在している前記ディスクから前記ディスク情報を読取る
べく前記ディスク・ドライブをアクセスする前記プロテ
クト・モード・ディスク・ドライバと、(e)前記ステ
ップ(d)で前記プロテクト・モード・ディスク・ドラ
イバによって読み取られた前記ディスク情報に対応付け
られた前記メモリ・ロケーションに前記ステップ(c)
で記憶された前記ドライブ・ユニット・ナンバーを取得
し、(f)前記ステップ(e)で得られた前記ドライブ
・ユニット・ナンバーを前記ステップ(d)の前記プロ
テクト・モード・ディスク・ドライバによってアクセス
された前記ディスク・ドライブに割当てるプロテクト・
モード・ディスク・ドライバと、を具備する段階を備え
ている方法によっても達成される。
【0006】本発明では、前記ステップ(b)は、前記
ディスク情報として前記ディスクの所定のロケーション
に記憶された固有の値を読取り、前記ステップ(c)
は、前記固有の値を有する前記ドライブ・ユニット・ナ
ンバーを前記コンピュータに接続された各ディスク・ド
ライブに対するエントリを有しているテーブル・データ
構造の同じエントリに記憶することを含むように構成し
てもよい。本発明では、(g)前記ディスクが前記所定
のロケーションに固有の値を記憶するかどうかを決定
し、(h)前記ディスクが前記所定のロケーションに固
有の値を記憶しないと前記ステップ(g)で決定される
ならば前記固有の値を前記所定のロケーションに書込む
段階を更に具備するように構成してもよい。本発明で
は、前記ステップ(c)は、前記ドライブ・ユニット・
ナンバーを前記ディスク情報の検査合計に対応付けられ
たメモリ・ロケーションに記憶することを含むように構
成してもよい。本発明では、(g)前記ディスクが所定
のフォーマットを有するかどうかを決定する段階を更に
具備し、前記ステップ(c)は、(i)前記ディスクが
特定のロケーションに記憶されたデータの所定のフォー
マットを有すると前記ステップ(g)で決定されるなら
ば前記ドライブ・ユニット・ナンバーを前記ディスクの
所定のロケーションから読み取られた固有の値に対応付
けられたメモリ・ロケーションに記憶し、(ii)前記
ディスクが特定のロケーションに記憶されたデータの所
定のフォーマットを有しないと前記ステップ(g)で決
定されるならば前記ドライブ・ユニット・ナンバーを前
記ディスク情報の検査合計に対応付けられたメモリ・ロ
ケーションに記憶する段階を具備するように構成しても
よい。
【0007】本発明では、前記ステップ(c)は、(i
ii)前記ドライブ・ユニット・ナンバーを、前記ディ
スクが所定のフォーマットを有するかどうかを示してい
るフラグに対応付けられたメモリ・ロケーションに記憶
する段階を更に具備し、前記ステップ(e)は、(i)
前記フラグを読取り、(ii)前記フラグが前記ディス
クは前記所定のフォーマットを有することを示すならば
前記固有の値に対応付けられた前記メモリ・ロケーショ
ンに記憶された前記ドライブ・ユニット・ナンバーを取
得し、(iii)前記フラグが前記ディスクは前記所定
のフォーマットを有しないことを示すならば前記検査合
計に対応付けられた前記メモリ・ロケーションに記憶さ
れた前記ドライブ・ユニット・ナンバーを取得する段階
を備えているように構成してもよい。本発明では、前記
ディスクは、ブート時間で用いられるマスター・ブート
・レコードを含み、前記ディスク情報は、前記ディスク
の前記マスター・ブート・レコードに記憶されるように
構成してもよい。上述した本発明の目的は、同じ論理ボ
リュームへの同じ論理ボリューム割当てをアクセスする
リアル・モード・ボリューム・ドライバと同じ基準値を
プロテクト・モード・ボリューム・ドライバによってア
クセスされたボリュームに割当てるプロテクト・モード
・デバイス・ドライバの、リアル・モード及びプロテク
ト・モードで動作することができかつ少なくとも一つの
論理ボリュームを包含しているディスクを有している少
なくとも一つのディスク・ドライブに接続されたコンピ
ュータによって実行される、方法であって、(a)固有
のボリューム・ユニット・ナンバーをリアル・モード・
ボリューム・ドライバによってアクセスされたボリュー
ムに割当てるリアル・モード・ボリューム・ドライバ
と、(b)前記ボリュームを独自に識別するボリューム
情報を読取るべく、前記ステップ(a)で前記ボリュー
ム・ユニット・ナンバーが割当てられた前記論理ボリュ
ームをアクセスするリアル・モード・ボリューム・ドラ
イバと、(c)前記ステップ(b)で前記ディスクから
読み取られた前記ボリューム情報に対応付けられたメモ
リ・ロケーションに前記ステップ(a)で前記リアル・
モード・ボリューム・ドライバによって前記論理ボリュ
ームに割当てられた前記ボリューム・ユニット・ナンバ
ーを記憶し、(d)前記ボリューム情報を読取るべく前
記ボリュームをアクセスする前記プロテクト・モード・
ボリューム・ドライバと、(e)前記ステップ(d)で
前記プロテクト・モード・ボリューム・ドライバによっ
て読み取られた前記ボリューム情報に対応付けられた前
記メモリ・ロケーションに前記ステップ(c)で記憶さ
れた前記ボリューム・ユニット・ナンバーを取得し、
(f)前記ステップ(e)で得られた前記ボリューム・
ユニット・ナンバーを前記ステップ(d)の前記プロテ
クト・モード・ボリューム・ドライバによってアクセス
された前記ディスクに割当てるプロテクト・モード・ボ
リューム・ドライバと、を具備する段階を備えている方
法によっても達成される。
【0008】本発明では、前記ステップ(b)は、前記
ボリューム情報として前記論理ボリュームの所定のロケ
ーションに記憶されたボリューム通し番号を読取り、前
記ステップ(c)は、前記ボリューム通し番号を有する
前記コンピュータに接続された各ディスク・ドライブの
前記ディスクの各ボリュームに対するエントリを有して
いるテーブル・データ構造の同じエントリに前記ボリュ
ーム・ユニット・ナンバーを記憶することを含むように
構成してもよい。本発明では、前記ボリュームは、ボリ
ューム・ブート・レコードを含み、前記ボリューム情報
は、前記ボリューム・ブート・レコードに記憶されるよ
うに構成してもよい。更に、本発明の上述した目的は、
アダプタに接続された一つ以上の周辺装置をアクセスす
るために同じアダプタを制御しているリアル・モード・
アダプタ・ドライバと同じ基準値をプロテクト・モード
・アダプタ・ドライバによって制御されたアダプタに割
当てるプロテクト・モード・アダプタ・ドライバの、リ
アル・モード及びプロテクト・モードで動作することが
できかつ少なくとも一つの周辺装置に接続される少なく
とも一つのアダプタに接続されたコンピュータによって
実行される、方法であって、(a)固有のアダプタ・ナ
ンバーをリアル・モード・デバイス・ドライバに割当て
るリアル・モード・アダプタ・ドライバと、(b)前記
周辺装置を独自に識別する周辺装置情報を、前記ステッ
プ(a)で前記アダプタ・ナンバーが割当てられたアダ
プタを介して周辺装置から、走査するリアル・モード・
アダプタ・ドライバと、(c)前記ステップ(b)で前
記周辺装置から読み取られた前記周辺装置情報に対応付
けられたメモリ・ロケーションに前記アダプタに割当て
られた前記アダプタ・ナンバーを記憶し、(d)前記周
辺装置情報を走査すべく前記周辺装置をアクセスするた
めに前記アダプタを制御する前記プロテクト・モード・
アダプタ・ドライバと、(e)前記ステップ(d)で前
記プロテクト・モード・アダプタ・ドライバによって走
査された前記周辺装置情報に対応付けられた前記メモリ
・ロケーションに前記ステップ(c)で記憶された前記
アダプタ・ナンバーを取得し、(f)前記ステップ
(e)で得られた前記アダプタ・ナンバーを前記ステッ
プ(d)の前記プロテクト・モード・アダプタ・ドライ
バによって制御された前記アダプタに割当てるプロテク
ト・モード・アダプタ・ドライバと、を具備する段階を
備えている方法によっても達成される。
【0009】本発明では、前記ステップ(b)は、前記
周辺装置情報として前記周辺装置を識別するターゲット
IDを走査し、前記ステップ(c)は、前記ターゲット
IDを有する前記アダプタ・ナンバーを同じデータ構造
に記憶することを含むように構成してもよい。本発明で
は、前記ステップ(b)は、前記ディスクの所定のロケ
ーションに記憶された、論理・ユニット・ナンバーを前
記周辺装置情報として走査し、前記ステップ(c)は、
前記アダプタ・ナンバーを前記論理・ユニット・ナンバ
ーと一緒に同じデータ構造に記憶することを含むように
構成してもよい。本発明では、前記ステップ(c)は、
前記アダプタ・ナンバーを前記周辺装置情報の検査合計
と一緒に同じデータ構造に記憶することを含むように構
成してもよい。本発明では、前記ステップ(c)は、前
記リアル・モード周辺ドライバがアプリケーション・プ
ログラム要求が第2のリアル・モード周辺ドライバにマ
ップされる第1のリアル・モード周辺ドライバであるな
らば、前記アダプタ・ナンバー及び前記周辺装置情報を
該第2のリアル・モード周辺ドライバのドライバ形式に
対応付けられたメモリ・ロケーションに記憶することを
含むように構成してもよい。
【0010】本発明では、前記ステップ(c)は、
(i)次のアダプタ・データ構造へのポインタ及び一つ
以上のリアル・モード・周辺データ構造のリンクされた
リストへのポインタを有している一つ以上のリアル・モ
ード・アダプタ・データ構造を供給し、前記周辺装置に
対応しているリアル・モード周辺データ構造の前記アダ
プタ・ナンバーによって識別されかつ前記周辺装置が接
続される前記アダプタに対応しているリアル・モード・
アダプタ・データ構造によって指された各アダプタを介
して読み取られた各周辺装置に対する前記周辺装置情報
を記憶することを含むように構成してもよい。本発明で
は、前記ステップ(e)は、(i)前記周辺装置情報が
一致するかどうかを決定すべく、各プロテクト・モード
周辺データ構造の前記周辺装置情報を各リアル・モード
周辺データ構造の前記周辺装置情報と比較し、(ii)
各プロテクト・モード周辺データ構造の前記周辺装置情
報と一致する前記周辺装置情報を有しているリアル・モ
ード周辺データ構造から前記アダプタ・ナンバーを抽出
する段階を具備し、前記ステップ(f)は、前記ステッ
プ(e)で抽出された前記アダプタ・ナンバーを前記プ
ロテクト・モード・データ構造に対応している前記周辺
装置に接続された前記アダプタに割当てる前記プロテク
ト・モード・データ構造に対応している前記周辺装置に
接続された前記アダプタを制御する前記プロテクト・モ
ード・アダプタ・ドライバを含むように構成してもよ
い。
【0011】本発明では、前記ステップ(c)は、前記
第1の周辺ドライバが前記ステップ(b)で実行された
読取りを前記第2のリアル・モード周辺ドライバにマッ
プするときに前記周辺装置情報が前記ステップ(b)で
読み取られたことを通して前記第2のリアル・モード周
辺ドライバの前記ドライブ形式に対応付けられたメモリ
・ロケーションに前記周辺装置情報を記憶することを含
み、前記ステップ(f)は、(i)プロテクト・モード
・アダプタ・ドライバと同じ周辺装置情報を有すべく前
記ステップ(e)で二つのリアル・モード・アダプタ・
ドライバが決定されたかどうかを決定し、(ii)二つ
のリアル・モード・アダプタ・ドライバが同じ周辺装置
情報を有すると前記ステップ(i)で決定されるなら
ば、前記アダプタ・ナンバーを前記リアル・モード周辺
データ構造の一つによって示された前記ドライバ形式を
有している前記プロテクト・モード周辺ドライバに割当
てる前記プロテクト・モード・アダプタ・ドライバを含
んでいるように構成してもよい。上述した本発明の目的
は、コンピュータによって実行され、リアル・モード機
能ドライバの代わりにプロテクト・モード機能ドライバ
を実行すべきかどうかを決定する方法であって、(a)
対応しているリアル・モード機能ドライバの代わりに実
行可能であるとして一つ以上のプロテクト・モード機能
ドライバのそれぞれを指定し、(b)前記コンピュータ
の前記リアル・モード機能ドライバを検出し、(c)前
記ステップ(a)で前記プロテクト・モード機能ドライ
バの一つが前記検出されたリアル・モード機能ドライバ
の代わりに実行可能であると指定されたかどうかを決定
し、(d)前記プロテクト・モード機能ドライバが前記
リアル・モード機能ドライバの代わりに実行可能である
と指定されたことが決定されるときに前記検出されたリ
アル・モード機能ドライバの代わりに前記プロテクト・
モード機能ドライバを実行する段階を具備する方法によ
っても達成される。
【0012】本発明では、前記ステップ(b)は、
(i)リアル・モード・デバイス・ドライバがロードさ
れたときに当該リアル・モード・デバイス・ドライバを
アクセスするために初めに指定された該リアル・モード
・デバイス・ドライバを識別するオリジナル・リアル・
モード・デバイス・ドライバ情報を記憶し、(ii)前
記デバイスを同時にアクセスするリアル・モード・デバ
イス・ドライバを識別する現行リアル・モード・デバイ
ス・ドライバ情報を記憶し、(iii)前記オリジナル
・リアル・モード・デバイス・ドライバ情報を前記現行
リアル・モード・デバイス・ドライバ情報と比較し、
(iv)前記デバイスがアクセスされるときにリアル・
モード機能ドライバが実行されることを、前記オリジナ
ル・リアル・モード・デバイス・ドライバ情報が前記現
行リアル・モード・デバイス・ドライバ情報と同じでな
いときに、決定する段階を含むように構成してもよい。
本発明では、前記ステップ(a)は、それぞれがリアル
・モード機能ドライバの機能を供給するプロテクト・モ
ード機能ドライバのネームで記憶されたネームを有して
いる対応しているリアル・モード・ドライバの機能を供
給する、一つ以上のプロテクト・モード機能ドライバの
ネームのリストに前記プロテクト・モード機能ドライバ
のネームを記憶し、前記ステップ(c)は、前記プロテ
クト・モード機能ドライバの前記ネームが前記検出され
たリアル・モード・ドライバの前記ネームで前記リスト
に記憶されるかどうかを決定することを含むように構成
してもよい。
【0013】本発明では、(e)前記デバイスをアクセ
スするための前記検出されたリアル・モード機能ドライ
バに対するリアル・モード・デバイス・ドライバ要求を
プロテクト・モードで該デバイスをアクセスするプロテ
クト・モード・デバイス・ドライバにマッピングする間
に、該検出されたリアル・モード機能ドライバを、プロ
テクト・モード機能ドライバが前記検出されたリアル・
モード機能ドライバの代わりに実行可能であると指定さ
れたことが決定されるならば、実行する段階を更に含む
ように構成してもよい。本発明では、前記ステップ
(e)は、(i)前記検出されたリアル・モード機能ド
ライバがリアル・モード・アダプタ・ドライバを介して
前記デバイスへのアクセスを要求するかどうかを決定
し、(ii)プロテクト・モード・アダプタ・ドライバ
に前記要求を、前記検出されたリアル・モード機能ドラ
イバがリアル・モード・アダプタ・ドライバを介して前
記デバイスへのアクセスを要求することが前記ステップ
(i)で決定されるときに、マッピングする段階を含む
ように構成してもよい。本発明では、前記ステップ
(e)は、(i)前記検出されたリアル・モード機能ド
ライバは、リアル・モード物理ディスク・ドライバを介
して前記デバイスへのアクセスを要求するかどうかを決
定し、(ii)プロテクト・モード物理ディスク・ドラ
イバに前記要求を、前記検出されたリアル・モード機能
ドライバが該リアル・モード物理ディスク・ドライバを
介して前記デバイスへのアクセスを要求することが決定
されるときに、マッピングする段階を含むように構成し
てもよい。
【0014】更に、本発明の上述した目的は、一つ以上
のデバイスに接続されかつプロセッサ及びメモリを有す
るコンピュータを有しているコンピュータ・システムで
あって、前記メモリに記憶されかつ前記プロセッサによ
って実行され、リアル・モード・デバイス・ドライバが
アクセスするデバイスに基準値を割当てる、リアル・モ
ード・デバイス・ドライバと、前記メモリに記憶されか
つ前記プロセッサによって実行されるプロテクト・モー
ド・デバイス・ドライバと、前記リアル・モード・デバ
イス・ドライバが同じデバイスに割当てるのと同じ基準
値を前記プロテクト・モード・デバイス・ドライバがア
クセスする前記デバイスに割当てる前記プロテクト・モ
ード・デバイス・ドライバのための手段とを備えている
コンピュータ・システムによっても達成される。本発明
では、前記デバイスは、物理ディスクがあるディスク・
ドライバを含み、前記リアル・モード・デバイス・ドラ
イバは、リアル・モードで該物理ディスクをアクセスす
べく該ディスク・ドライバを制御するリアル・モード・
ディスク・ドライバであり、前記プロテクト・モード・
デバイス・ドライバは、プロテクト・モードで該物理デ
ィスクをアクセスすべく該ディスク・ドライバを制御す
るプロテクト・モード・ディスク・ドライバであり、前
記同じ基準値を割当てる前記プロテクト・モード・デバ
イス・ドライバのための手段は、前記同じ物理ディスク
をアクセスする前記リアル・モード・ディスク・ドライ
バとして同じドライブ・ユニット・ナンバーを前記ディ
スク・ドライブに割当てる前記プロテクト・モード・デ
ィスク・ドライバを含むように構成してもよい。
【0015】本発明では、前記同じ基準値を割当てる前
記プロテクト・モード・デバイス・ドライバのための手
段は、前記リアル・モード・ディスク・ドライバによっ
てアクセスされた前記物理ディスクに記憶された固有の
値を包含しかつ該リアル・モード・ディスク・ドライバ
によって予め割当てられたドライブ・ユニット・ナンバ
ーを包含しているエントリであり、各リアル・モード・
ディスク・ドライバに対する該エントリを有しているド
ライブ・テーブルと、前記エントリにも包含された前記
固有の値を記憶する前記物理ディスクに、該エントリに
包含された前記基準値を割当てる前記プロテクト・モー
ド・ディスク・ドライバのための手段とを備えているよ
うに構成してもよい。本発明では、前記デバイスは、論
理ボリュームがあるディスク・ドライバを含み、前記リ
アル・モード・デバイス・ドライバは、リアル・モード
で該論理ボリュームをアクセスすべく該ディスク・ドラ
イバを制御するリアル・モード・ボリューム・ドライバ
であり、前記プロテクト・モード・デバイス・ドライバ
は、プロテクト・モードで該論理ボリュームをアクセス
すべく該ディスク・ドライバを制御するプロテクト・モ
ード・ボリューム・ドライバであり、前記同じ基準値を
割当てる前記プロテクト・モード・デバイス・ドライバ
のための手段は、前記同じ論理ボリュームをアクセスす
る前記リアル・モード・ボリューム・ドライバとして同
じボリューム・ユニット・ナンバーを前記ボリュームに
割当てる前記プロテクト・モード・ディスク・ドライバ
を含むように構成してもよい。
【0016】本発明では、前記同じ基準値を割当てる前
記プロテクト・モード・デバイス・ドライバのための手
段は、前記リアル・モード・ボリューム・ドライバによ
ってアクセスされた前記論理ボリュームに記憶された固
有の値を包含しかつ該リアル・モード・ボリューム・ド
ライバによって予め割当てられたボリューム・ユニット
・ナンバーを包含しているエントリであり、各リアル・
モード・ボリューム・ドライバに対する該エントリを有
しているドライブ・テーブルと、前記エントリにも包含
された前記固有の値を記憶する前記論理ボリュームに、
該エントリに包含された前記基準値を割当てる前記プロ
テクト・モード・ボリューム・ドライバのための手段と
を備えているように構成してもよい。本発明では、前記
デバイスは、一つ以上の周辺装置が装着されたアダプタ
を含み、前記リアル・モード・デバイス・ドライバは、
リアル・モードで該周辺装置をアクセスすべく該アダプ
タを制御するリアル・モード・アダプタ・ドライバであ
り、前記プロテクト・モード・デバイス・ドライバは、
プロテクト・モードで該周辺装置をアクセスすべく該ア
ダプタを制御するプロテクト・モード・アダプタ・ドラ
イバであり、前記同じ基準値を割当てる前記プロテクト
・モード・アダプタ・ドライバのための手段は、前記同
じ周辺装置をアクセスすべく前記同じアダプタを制御す
る前記リアル・モード・アダプタ・ドライバとして同じ
アダプタ・ナンバーを前記アダプタに割当てる前記プロ
テクト・モード・アダプタ・ドライバを含むように構成
してもよい。
【0017】本発明では、前記同じアダプタ・ナンバー
を割当てる前記プロテクト・モード・アダプタ・ドライ
バのための手段は、前記リアル・モード・アダプタ・ド
ライバによって予め割当てられたアダプタ・ナンバーを
有する前記リアル・モード・アダプタ・ドライバによっ
て制御された前記アダプタに接続された前記周辺装置か
ら走査された固有の周辺情報を、前記リアル・モード・
データ構造が供給される前記リアル・モード・アダプタ
・ドライバによって制御された前記アダプタに装着され
た各周辺装置に対して、関連付けるリアル・モード・デ
ータ構造であり、各リアル・モード・アダプタ・ドライ
バに対して供給された該リアル・モード・データ構造
と、前記固有の周辺情報が走査される周辺装置をアクセ
スする前記アダプタに、該固有の周辺情報に対応付けら
れた前記アダプタ・ナンバーを割当てる前記プロテクト
・モード・アダプタ・ドライバのための手段とを備えて
いるように構成してもよい。また、本発明の上記目的
は、一つ以上のデバイスに接続されかつプロセッサ及び
メモリを有するコンピュータを有しているコンピュータ
・システムであって、前記デバイスの一つへのアクセス
を制御すべく前記プロセッサによって実行されかつ前記
メモリに記憶されるリアル・モード・デバイス・ドライ
バと、前記メモリに記憶されるリアル・モード機能ドラ
イバと、前記デバイスの一つへのアクセスを制御すべく
前記プロセッサによって実行されかつ前記メモリに記憶
されるプロテクト・モード・デバイス・ドライバと、前
記コンピュータ・システムが、前記リアル・モード機能
ドライバの代わりに実行可能であると指定されたプロテ
クト・モード機能ドライバを更に含むかどうかを決定す
る手段と、前記リアル・モード機能ドライバの実行が要
求されるときに前記決定されたプロテクト・モード機能
ドライバを、前記プロテクト・モード機能ドライバが該
リアル・モード機能ドライバの代わりに実行可能である
と指定されたときに、実行する手段とを備えているコン
ピュータ・システムによっても達成される。
【0018】本発明では、同じデバイスをアクセスする
プロテクト・モード・デバイス・ドライバにリアル・モ
ード・デバイス・ドライバを介して該デバイスをアクセ
スすべく該リアル・モード機能ドライバによって要求を
マッピングする間に前記リアル・モード機能ドライバ
を、プロテクト・モード機能ドライバが該リアル・モー
ド機能ドライバの代わりに実行可能である指定されなか
ったときに、実行する手段を更に含むように構成しても
よい。本発明では、前記プロテクト・モード・オペレー
ティング・システムが前記リアル・モード機能ドライバ
の代わりに実行可能であると指定されたプロテクト・モ
ード機能ドライバを更に含むかどうかを決定する手段
は、前記リアル・モード機能ドライバを同じ機能を供給
するプロテクト・モード機能ドライバと関連付けるデー
タ構造を含むように構成してもよい。
【0019】
【作用】本発明の第1の態様は、同じ物理的ディスクが
リアル・モード及びプロテクト・モード・ティスク・ド
ライバによってアクセスされるドライブ・ユニット・ナ
ンバー(drive unit numbers)の一貫した割当てを供給
する。物理的ディスクをアクセスするリアル・モード・
ディスク・ドライバは、それらの物理的ディスクに、同
じ物理的ディスクをアクセスするプロテクト・モード・
ディスク・ドライバと同じドライブ・ユニット・ナンバ
ーを割当てない。問題は、リアル・モード・ディスク・
ドライバがBIOS INT 13h 割込みに対する
対応するプロテクト・モード・ディスク・ドライバに割
当てられたドライブ・ナンバーとは異なるドライブ・ナ
ンバーを有しうるということである。本発明の第1の態
様では、好ましい実施例は、同じ物理的ディスク・デバ
イス・ドライバがリアル・モード及びプロテクト・モー
ド・物理的ディスク・ドライバの両方によってINT1
3h 割込みを介してアクセスされる、ドライブ・ユニ
ット・ナンバーの一貫した割当てを供給する。本発明の
第2の態様は、同じ論理ボリュームがリアル・モード及
びプロテクト・モード・ボリューム・ドライバによって
アクセスされる論理ボリューム・ユニット・ナンバーの
一貫した割当てを供給する。ディスクの論理ボリューム
へのアクセスを制御するリアル・モード・ボリューム・
ドライバは、同じ論理ボリュームへのアクセスを制御す
るプロテクト・モード・ボリューム・ドライバと同じプ
ロテクト・モード・ボリューム・ナンバーをそれらの論
理ボリュームに割当てない。特に、リアル・モード・ボ
リューム・ドライバは、BIOS INT 25h 割
込みに対する対応しているプロテクト・モード・ボリュ
ーム・ドライバに割当てられたボリューム・ナンバーと
は異なるボリューム・ナンバーを有しうる。本発明の第
2の態様では、好ましい実施例は、同じ論理ボリューム
が、リアル・モード及びプロテクト・モード・論理ボリ
ューム・ドライバの両方によってINT 25h 割込
みを介してアクセスされるボリューム・ユニット・ナン
バーの一貫した割当てを供給する。
【0020】本発明の第3の態様は、同じアダプタがそ
れらのアダプタに接続された周辺装置をアクセスするた
めにリアル・モード及びプロテクト・モード・アダプタ
・ドライバによって制御されるアダプタ・ナンバーの一
貫した割当てを供給する。アダプタを介して周辺装置を
アクセスするリアル・モード・アダプタ・ドライバは、
プロテクト・モード・オペレーティング・システムが同
じ周辺装置をアクセスするために同じアダプタを制御す
るプロテクト・モード・アダプタ・ドライバに割当てる
のと同じアダプタ・ナンバーをそれらのアダプタに割当
てない。本発明の第3の態様では、好ましい実施例は、
同じアダプタが同じ周辺装置をアクセスするためにリア
ル・モード及びプロテクト・モード・アダプタ・ドライ
バの両方によって制御されるアダプタ・ナンバーの一貫
した割当てを供給する。本発明の第3の態様は、同じア
ダプタを制御するプロテクト・モード・アダプタ・ドラ
イバを介して周辺装置をアクセスする要求へのリアル・
モード・アダプタ・ドライバを介して周辺装置をアクセ
スための要求のマッピングを更に供給する。周辺装置を
アクセスするためのアプリケーション・プログラムによ
る要求は、向けられなければ、プロテクト・モード・オ
ペレーティング・システムの動作中でさえもリアル・モ
ード・アダプタ・ドライバに向けられうる。好ましい実
施例は、同じアダプタを制御するプロテクト・モード・
アダプタ・ドライバを介して周辺装置をアクセスするた
めの要求へのリアル・モード・アダプタ・ドライバを介
して周辺装置をアクセスするためのアプリケーション・
プログラム要求のマッピングを供給する。
【0021】本発明の第4の態様は、リアル・モード・
デバイス・ドライバに加えて供給されたリアル・モード
機能ドライバの検出及びプロテクト・モード・アコモデ
ーション(accommodation )を供給する。リアル・モー
ド機能ドライバは、追加の機能を供給することによりリ
アル・モード・デバイス・ドライバを補うために加えら
れうる。これらの機能は、プロテクト・モード・オペレ
ーティング・システムのあらゆるプロテクト・モード機
能ドライバによって供給されうるしまたは供給されえな
い。プロテクト・モードで動作されているときにこれら
のリアル・モード機能ドライバがオペレーティング・シ
ステムによってアコモデートされないならば、プロテク
ト・モード・デバイス・ドライバは、リアル・モード・
デバイス・ドライバと互換性がない。本発明の第4の態
様では、好ましい実施例は、リアル・モード・オペレー
ティング・システムのリアル・モード・デバイス・ドラ
イバに加えて供給されるリアル・モード機能ドライバの
検出及びプロテクト・モード・アコモデーションを供給
する。
【0022】
【実施例】本発明の好ましい実施例は、いつでも可能な
らば、プロテクト・モード・デバイス・ドライバをリア
ル・モード・デバイス・ドライバの代わりに代用する。
プロテクト・モード・デバイス・ドライバは、リアル・
モード・デバイス・ドライバと互換性があるべく実行さ
れる。特に、プロテクト・モード・デバイス・ドライバ
・アクセス・デバイスは、リアル・モード・デバイス・
ドライバと同じファッションで同じデバイスを識別する
基準値が割当てられる。好ましい実施例は、リアル・モ
ード・デバイス・ドライバが実行されるときに、リアル
・モード機能素子によって供給された機能のプロテクト
・モード動作を、可能な範囲で、更に供給する。上記の
特徴は、下記に示された、本発明の四つの個別の態様に
よって供給される。本発明の第1の態様は、同じ物理的
ディスクがリアル・モード及びプロテクト・モード・デ
ィスク・ドライバによってアクセスされるドライブ・ユ
ニット・ナンバーの一貫した割当てを供給する。本発明
の第2の態様は、同じ論理ボリュームがリアル・モード
及びプロテクト・モード・ボリューム・ドライバによっ
てアクセスされる論理ボリューム・ユニット・ナンバー
の一貫した割当てを供給する。本発明の第3の態様は、
同じアダプタがそれらのアダプタに接続された周辺装置
をアクセスするためにリアル・モード及びプロテクト・
モード・アダプタ・ドライバによって制御されるアダプ
タ・ナンバーの一貫した割当てを供給する。本発明の第
3の態様は、同じアダプタを制御するプロテクト・モー
ド・アダプタ・ドライバを介して周辺装置をアクセスす
るための要求への、リアル・モード・アダプタ・ドライ
バを介して周辺装置をアクセスするための要求のマッピ
ングを更に供給する。本発明の第4の態様は、リアル・
モード・デバイス・ドライバに加えて供給されるリアル
・モード機能ドライバの検出及びプロテクト・モード・
アコモデーションを供給する。
【0023】本発明の好ましい実施例を実行するのに適
するコンピュータ・システムは、図1に示される。図1
は、ディスク・ドライブ110及び周辺装置に結合され
たコンピュータ100を有しているコンピュータ・シス
テムのブロック図である。コンピュータ100は、オペ
レーティング・システム210を記憶する内部メモリ1
02を有する。メモリ102は、リアル・モード及びプ
ロテクト・モード・デバイス・ドライバも記憶する。こ
れらのドライバは、オペレーティング・システム210
の部分でありうるしまたはオペレーティング・システム
から分離しうる。デバイス・ドライバは、オペレーティ
ング・システム210によってまたはアプリケーション
・プログラムによって要求されたようにデバイス110
及び120へのアクセスを制御するために中央処理装置
(CPU)104で実行される。デバイス・ドライバ
は、I/Oコントローラ106を介してディスク・ドラ
イブ110を制御するボリューム・ドライバ及びディス
ク・ドライバを含む。ディスクに対するデバイス・ドラ
イバは、物理的ディスク及びディスク・ドライバ110
に存在するディスクの論理ボリュームへのアクセスを許
容する。デバイス・ドライバは、それを通して周辺装置
120がアクセスされるアダプタ108を制御するアダ
プタ・ドライバも含む。メモリ120は、暗号化及びデ
ータ圧縮のような、機能向上をデバイス・ドライバに加
えるべくCPU104によって実行されるリアル・モー
ド及びプロテクト・モード機能ドライバも記憶する。
【0024】好ましい実施例におけるデバイス、デバイ
ス・ドライバ及び機能ドライバの間の機能関係は、図2
に示される。オペレーティング・システム210は、周
辺装置120に対するリアル・モード(RM)・デバイ
ス・ドライバ202を含む。オペレーティング・システ
ム210は、リアル・モード・デバイス・ドライバ20
2と同じデバイスを制御するプロテクト・モード(P
M)・デバイス・ドライバも含む。好ましい実施例で
は、オペレーティング・システムは、リアル・モード・
デバイス・ドライバ202を補うリアル・モード機能ド
ライバ204及びプロテクト・モード・デバイス・ドラ
イバ212を補うプロテクト・モード機能ドライバ21
4を更に含む。好ましい実施例では、オペレーティング
・システム210は、ワシントン州レッドモンドのマイ
クロソフト・コーポレーションによって市販された、マ
イクロソフトMS−DOS5.0オペレーティング・シ
ステムのプラットフォームに備えられた、これもマイク
ロソフト・コーポレーションによって市販された、マイ
クロソフトのWINDOWS 3.1オペレーティング
・システムの装飾版(embellished version )を含む。
オペレーティング・システム210のマイクロソフトM
S−DOSオペレーティング・システム部分は、ブート
時間にロードされる。オペレーティング・システム21
0のマイクロソフトWINDOWSオペレーティング・
システム部分は、その後でロードされる。オペレーティ
ング・システム210のMS−DOSオペレーティング
・システム部分は、リアル・モードでのみ実行すること
が可能であるが、オペレーティング・システム210の
マイクロソフトWINDOWSオペレーティング・シス
テム部分は、リアル・モードまたはプロテクト・モード
のいずれでも実行することが可能である。本発明の第1
の態様では、好ましい実施例は、リアル・モード・デバ
イス・ドライバ202及びプロテクト・モード・デバイ
ス・ドライバ212によるハード・ディスクに対するド
ライブ・ユニット・ナンバー・マッピングの間の一貫性
を供給する。ディスクの物理的セクタがリアル・モード
・デバイス・ドライバ202またはプロテクト・モード
・デバイス・ドライバ212のいずれかによってアクセ
スされるときに、リアル・モード・デバイス・ドライバ
202及びプロテクト・モード・デバイス・ドライバ2
12は、ディスクのセクタをアクセスするためにディス
ク・ドライブのドライブ・ユニット・ナンバーを知らな
ければならない。オペレーティング・システム210
は、MS−DOSオペレーティング・システムの一部と
してBasic Input/Output System ソフトウェア・モジュ
ール(BIOS)を含む。BIOSは、タスクを実行す
るためにオペレーティング・システムまたはアプリケー
ションによって呼び出されうる一セットの所定の機能を
包含する。機能は、ソフトウェア割込みによって呼び出
される。一つのそのような割込みは、INT 13h
(“h”は、hexadecimal (16進)を表わす)割込み
である。一般に、ボリューム・ドライバは、ドライブ・
ユニット・ナンバーによって識別される、ディスクで種
々のオペレーション(動作)の実行を要求するためにI
NT 13h 割込みを採用する。ドライブ・ユニット
・ナンバーは、割込みのときにプロセッサ・レジスタに
ロードされる。
【0025】リアル・モード・ディスク・ドライバ30
0と互換性のあるファッションで物理的ディスク320
へのアクセスを制御すべくプロテクト・モード・ディス
ク・ドライバ310(図3)のために、プロテクト・モ
ード・ディスク・ドライバ300は、リアル・モード・
ディスク・ドライバ300が物理的ディスク320に割
当てると同じドライブINT 13hユニット・ナンバ
ーを割当てなければならない。即ち、例えば、リアル・
モード・ディスク・ドライ300に対する第1のハード
・ディスクに割当てられたドライブ・ユニット・ナンバ
ー0は、図3に示すように、ハード・ディスクに対する
プロテクト・モード・ディスク・ドライバ310によっ
ても割当てられなければならない。INT 13hドラ
イブ・ユニット・ナンバー0が、リアル・モード・ディ
スク・ドライバ300またはプロテクト・モード・ディ
スク・ドライバ310を介して、物理的ディスクをアク
セスするための要求において特定されるときに、それが
制御するディスク・ドライバ110へドライブ・ユニッ
ト・ナンバー0を割当てたいずれかのディスク・ドライ
バによって同じディスク320がアクセスされる。同様
に、INT 13hユニット・ナンバー割当ての類似の
パリティは、残りのハード・ディスク320に対して存
在しなければならない。プロテクト・モード・ハード・
ディスク・ドライバ310がリアル・モード・ハード・
ディスク・ドライバ300と同じ順番でロードする必要
がないので、これは、プロテクト・モード・ハード・デ
ィスク・ドライバ310がロードされる順番でプロテク
ト・モード・ハード・ディスク・ドライバ310にIN
T 13h ドライブ・ユニット・ナンバーを単に割当
てることによって確保されない。
【0026】上述したように、一貫したドライブ・ユニ
ット・ナンバーを確保するために、好ましい実施例は、
図6を参照して以下に詳述する、ドライブ・テーブル6
00をまず生成する。ドライブ・テーブル600は、各
リアル・モード・ハード・ディスク・ドライバ300に
よって用いられたドライブ・ユニット・ナンバーを、そ
のリアル・モード・ハード・ディスク・ドライバ300
によってアクセスされた物理的ハード・ディスクに記憶
された固有の情報と関連付ける。次に、プロテクト・モ
ード・ハード・ディスク・ドライバ310は、ドライバ
・テーブルを用いてドライブ・ユニット・ナンバーを同
じ物理的ハード・ディスク320に割当てる。各プロテ
クト・モード・ディスク・ドライバは、固有の情報を得
るために物理的ディスクの選択された部分を読取り、そ
して物理的ハード・ディスクから読み取られた固有の情
報に対応付けられるドライブ・ユニット・ナンバーをド
ライブ・テーブルから抽出する。抽出されたドライブ・
ユニット・ナンバーは、プロテクト・モード・ハード・
ディスク・ドライバによって物理的ハード・ディスクに
割当てられる。図4は、ここでビルド・ドライブ・テー
ブル処理(Build Drive Table process )と称される、
上述したドライブ・テーブルを生成する処理のフロー図
である。ビルド・ドライブ・テーブル処理は、メモリ1
02に記憶されたソフトウェアとして実施されかつオペ
レーティング・システム210がロードされるときにC
PU104によって実行されうる。ステップ405で
は、ビルド・ドライブ・テーブル処理は、ディスク・ド
ライブ・カウンタnを0に初期化し、そしてドライブ・
テーブルにおける全検査合計フラグ(詳細は、後述す
る)も0に初期化される。ステップ410では、ビルド
・ドライブ・テーブル処理は、第1の物理的ハード・デ
ィスク320を読取るべくCPU104へのINT 1
3h割込みを開始する。ビルド・ドライブ・テーブル処
理は、値が読取り機能が実行されるべきであること、及
びマスター・ブート・レコードがディスクに記憶される
セクタのセクタ・ナンバーを特定する、ドライブ・ユニ
ット・ナンバー(初期的に0)としてハード・ディスク
・ドライブ・カウンタ値nを供給する。ステップ415
では、ビルド・ドライブ・テーブル処理は、ステップ4
10で読み取られたマスター・ブート・レコードがMS
−DOSオペレーティング・システム200によって用
いられた標準フォーマットであるかどうかを決定する。
そうであれば、固有のシグネチャ(後述する)が記憶さ
れうるハード・ディスクにロケーションが供給される。
ビルド・ドライブ・テーブル処理は、マスター・ブート
・レコードのバイトDAhがゼロの値を包含するとき
に、マスター・ブート・レコード・フォーマットが標準
であることを決定する。ビルド・ドライブ・テーブル処
理が、ステップ410で読み取られたマスター・ブート
・レコードが標準フォーマットであることをステップ4
15で決定するならば、制御は、ステップ420へ進
む。
【0027】ステップ420では、ビルド・ドライブ・
テーブル処理は、マスター・ブート・レコードの特定ロ
ケーションに記憶されたシグネチャが非ゼロ値を有する
かどうかを決定する。図5は、ステップ410で読み取
られた物理的ハード・ディスクのセクタ0におけるマス
ター・ブート・レコード(MBR)、及びそれに供給さ
れたシグネチャを示す。シグネチャは、セクタ0の連続
するバイトDCh及びDDhで供給される。もしビルド
・ドライブ・テーブル処理がマスター・ブート・レコー
ドのシグネチャが非ゼロ値であることをステップ420
で決定するならば、制御は、ステップ425へ進む。ス
テップ425では、バイトDCh及びDDhに記憶され
たシグネチャがドライブ・テーブルのエントリに書き込
まれる。図6は、シグネチャがステップ425で書き込
まれるドライブ・テーブルを示す。図6では、ドライブ
・テーブル600は、各ディスク・ドライブ110に対
するドライブ・テーブル・エントリ610を包含する。
ドライブ・テーブル・エントリ610は、ドライブ・ユ
ニット・ナンバー・フィールド612、シグネチャがス
テップ425で書き込まれるシグネチャ・フィールド6
14、及び検査合計フラグ616を包含する。制御は、
次にステップ430へ進む。ステップ430では、ドラ
イブ・ユニット・ナンバーnが、シグネチャがシグネチ
ャ・フィールド614に書き込まれる同じドライブ・テ
ーブル・エントリ610のドライブ・ユニット・ナンバ
ー・フィールド612に書き込まれる。もしビルド・ド
ライブ・テーブル処理が,マスター・ブート・レコード
のバイトDCh及びDDhにおけるシグネチャがゼロで
あることをステップ420で決定するならば、制御は、
ステップ435へ分岐する。ステップ435では、ビル
ド・ドライブ・テーブル処理は、ディスク・ドライブ1
10に対応しているハード・ディスクが ライト・プロ
テクティド(write-protected )であるかどうかを決定
する。そうであるならば、新しいシグネチャは、ハード
・ディスクに書き込まれえない。もしビルド・ドライブ
・テーブル処理が、ハード・ディスクはライト・プロテ
クティドでないということをステップ435で決定する
ならば、制御は、ステップ440へ進む。ステップ44
0では、ビルド・ドライブ・テーブル処理は、新しい、
固有のシグネチャを生成しかつ新しいシグネチャをマス
ター・ブート・レコードのバイトDCh及びDDhに書
込む。
【0028】もしビルド・ドライブ・テーブル処理がハ
ード・ディスクはライト・プロテクティドであることを
ステップ435で決定するか、またはビルド・ドライブ
・テーブル処理がマスター・ブート・レコードは標準フ
ォーマットでないことをステップ415で決定するなら
ば、制御は、ステップ445へ分岐する。ステップ44
5でビルド・ドライブ・テーブル処理は、ステップ41
0で読み取られたハード・ディスクの第1のセクタの内
容の検査合計を計算する。制御は、ビルド・ドライブ・
テーブル処理が計算された検査合計を、ディスク・ドラ
イブ110に対して供給されたドライブ・テーブル・エ
ントリ610のシグネチャ・フィールド614(図6)
に書込むステップ450へ進む。ステップ455(図
4)では、ハード・ディスク110に対するドライブ・
テーブル・エントリ610の検査合計フラグ・フィール
ド616に記憶された検査合計フラグ(0に初期化され
た)は、1に設定される。次に制御は、上述したよう
に、ドライブ・ユニット・ナンバーnがディスク・ドラ
イブ110に対して供給されたドライブ・テーブル61
0に書き込まれるステップ430ヘ進む。ステップ46
5では、ハード・ディスク・ドライブ・カウンタnが増
分される。次に制御は、全ハード・ディスク・ドライブ
110が処理されたかどうかを決定する、ステップ47
0へ進む。もしそうでなければ、ビルド・ドライブ・テ
ーブル処理は、ステップ410へループ・バックする。
もしそうであるならば、ビルド・ドライブ・テーブル処
理は、終了する。
【0029】図4のビルド・ドライブ・テーブル処理に
よって生成されたドライブ・テーブル600は、プロテ
クト・モード・ディスク・ドライバ310のそれぞれに
よって用いられるべき正しいドライブ・ユニット・ナン
バーを決定するために用いられる。図7は、ここでアサ
イン・ドライブ・ユニット・ナンバー処理(Assign Dri
ve Unit Number process)と称される、プロテクト・モ
ード・ディスク・ドライバ310がドライブ・ユニット
・ナンバーを物理的ハード・ディスクに割当てる処理の
フロー図である。アサイン・ドライブ・ユニット・ナン
バー処理は、各プロテクト・モード・ディスク・ドライ
バ310のローディング中かつビルド・ドライブ・テー
ブル処理が実行された後に、メモリ102に記憶された
ソフトウェアとして実施され、かつオペレーティング・
システム210がロードされるときにCPU104によ
って実行されうる。アサイン・ドライブ・ユニット・ナ
ンバー処理のステップ700において、プロテクト・モ
ード・ディスク・ドライバ310は、ロードされる。制
御は、次にステップ705へ進む。処理は、次にマスタ
ー・ブート・レコードが標準であるか否かを決定する
(ステップ701)。もしマスター・ブート・レコード
が標準でないならば、マスター・ブート・レコードの検
査合計が計算される(ステップ702)。結果として得
られた検査合計は、ドライブ・エントリ・テーブルを位
置付けるべくドライブ・テーブルへのインデックスとし
て用いられる。対照的に、もしマスター・ブート・レコ
ードが標準であるならば、アサイン・ドライブ・ユニッ
ト・ナンバー処理は、物理的ハード・ディスクのマスタ
ー・ブート・レコードのバイトDCh及びDDhに記憶
されたシグネチャを読取る(ステップ705)。制御
は、ステップ710へ進む。ステップ710では、アサ
イン・ドライブ・ユニット・ナンバー処理は、ステップ
705で読み取られたシグネチャをシグネチャ・フィー
ルド614で有するドライブ・テーブル・エントリ61
0を見出す。制御は、次にステップ715へ進む。ステ
ップ715では、ステップ710で見出されたドライブ
・テーブル・エントリ610のドライブ・ユニット・ナ
ンバー・フィールド612に記憶されたドライブ・ユニ
ット・ナンバーは、抽出され、かつ抽出されたドライブ
・ユニット・ナンバーは、ロードされたプロテクト・モ
ード・ディスク・ドライバ310によって物理的ハード
・ディスクへ割当てられる。制御は、ロードされるべき
更なるプロテクト・モード・ディスク・ドライバ310
があるかどうかが決定されるステップ720へ次に進
む。もし更なるプロテクト・モード・ディスク・ドライ
バ310がロードされるべきであるならば、制御は、ス
テップ700へループ・バックする。さもなければ、ル
ーチンは、終了する。上記処理の結果として、同じハー
ド・ディスク・ドライブ110を制御するリアル・モー
ド・ディスク・ドライバ300及びプロテクト・モード
・ディスク・ドライバ310は、同じドライブ・ユニッ
ト・ナンバーを同じ物理的ハード・ディスクに割当て
る。
【0030】次に本発明の第2の態様を説明する。本発
明の第2の態様では、好ましい実施例は、リアル・モー
ド・デバイス・ドライバ202及びプロテクト・モード
・デバイス・ドライバ212によって用いられる論理ボ
リュームに対するボリューム・ユニット・ナンバーの間
の一貫性を供給する。論理ボリュームは、ディスクまた
はテープのような固定記憶媒体の全部または一部であ
る。各論理ボリュームは、ゼロまたそれ以上のファイル
を有する少なくとも一つのディレクトリを包含してお
り、かつこれらのファイル及びディレクトリを位置決め
するために必要な情報の全てを包含しているセルフサフ
ィシェント(それ自体で完全な)・ファイル・システム
を包含する。オペレーティング・システム210及びア
プリケーション・プログラムは、その上に記憶されたフ
ァイルまたはディレクトリを特定するときに“A:”、
“B:”のような、論理ドライブ文字を有する論理ボリ
ュームを参照する。しばしば論理ボリュームは、ディス
ク・ドライブ110に対応するけれども、ディスクは、
一以上の論理ボリュームを包含しうる。論理ボリューム
がリアル・モード・デバイス・ドライバ202またはプ
ロテクト・モード・デバイス・ドライバ212のいずれ
かによってアクセスされるときには、所望の特定論理ボ
リュームをアクセスするためにボリューム・ユニット・
ナンバー(論理ドライバ文字に対応する)が知られてい
なければならない。上述した、BIOSモジュールは、
それを通してオペレーティング・システムまたはアプリ
ケーション・プログラムがディスクの特定論理ボリュー
ムを読取る論理ボリュームREAD機能の実行を要求す
るINT 25h割込みハンドラを供給する。BIOS
モジュールは、それを通してオペレーティング・システ
ムまたはアプリケーション・プログラムがハード・ディ
スクに特定論理ボリュームを書込む論理ボリュームWR
ITE機能を要求しうるINT 26h割込みハンドラ
も供給する。INT25h READまたはINT 2
6h WRITE が要求されるときに、ボリューム・
ユニット・ナンバーは、読み取られるかまたは書き込ま
れるべき特定論理ボリュームを識別するために、特定さ
れなければならない。
【0031】上述したドライブ・ユニット・ナンバーの
ように、ボリューム・ユニット・ナンバーは、オペレー
ティング・システム(例えば、マイクロソフト・コープ
による、MS−DOSオペレーティング・システム)に
よって指定された順番で論理ボリューム(リアル・モー
ド・ボリューム・ドライバ)へのアクセスを制御するリ
アル・モード・デバイス・ドライバ202によって論理
ボリュームに割当てられる。その後でオペレーティング
・システム210がロードされるときには、プロテクト
・モード・ボリューム・ドライバが制御する同じ論理ボ
リュームにボリューム・ユニット・ナンバーを割当てる
プロテクト・モード・ボリューム・ドライバがロードさ
れる。この関係を示しているブロック図は、図8に示さ
れる。図8に示されたプロテクト・モード・ボリューム
・ドライバ810がリアル・モード・ボリューム・ドラ
イバ800と互換性があるべきであるために、プロテク
ト・モード・ボリューム・ドライバ810は、同じ論理
ボリューム830に割当てられたリアル・モード・ボリ
ューム・ドライバ800と同じボリューム・ユニット・
ナンバーを割当てなければならない。それゆえに、図8
に示すように、ボリューム・ユニット・ナンバー0は、
第1の論理ボリュームをアクセスするリアル・モード・
ボリューム・ドライバ800及びプロテクト・モード・
ボリューム・ドライバ810によって第1の論理ボリュ
ームに割当てられる。ボリューム・ユニット・ナンバー
1は、次の論理ボリュームをアクセスするリアル・モー
ド・ボリューム・ドライバ800及びプロテクト・モー
ド・ボリューム・ドライバ810によって割当てられ、
そして最後のボリューム・ユニット・ナンバーnが割当
てられるまで、各後続の論理ボリュームは、後続のより
大きな値のボリューム・ユニット・ナンバーに割当てら
れる。
【0032】上述したボリューム・ユニット・ナンバー
の一貫した割当てを供給するために、好ましい実施例
は、図11を参照して以下に詳述する、ボリューム・テ
ーブル1100をまず生成する。ボリューム・テーブル
は、各リアル・モード・ボリューム・ドライバ800に
よって割当てられたボリューム・ユニット・ナンバーを
そのリアル・モード・ボリューム・ドライバ800によ
ってアクセスされた論理ボリューム830に記憶された
固有の通し番号と関連付ける。プロテクト・モード・ボ
リューム・ドライバ810は、ボリューム・テーブルを
用いてボリューム・ユニット・ナンバーを同じ論理ボリ
ューム830に割当てる。各プロテクト・モード・ボリ
ューム・ドライバは、プロテクト・モード・ボリューム
・ドライバを介して論理ボリューム830から固有の通
し番号を読取り、かつ論理ボリュームから読み取られた
固有の通し番号に対応付けられたボリューム・ユニット
・ナンバーをボリューム・テーブルから抽出する。図9
は、ここでビルド・ボリューム・テーブル処理(Build
Volume Table process)と称される、上述したボリュー
ム・テーブルを生成する処理のフロー図である。ビルド
・ボリューム・テーブル処理は、メモリ102に記憶さ
れたソフトウェアとして実施されかつオペレーティング
・システム210がロードされるときにCPU104に
よって実行される。ステップ900では、ビルド・ボリ
ューム・テーブル処理は、以下に詳述する論理ボリュー
ム・カウンタmをゼロに初期化する。制御は、次にステ
ップ910へ進む。ステップ910では、ビルド・ボリ
ューム・テーブル処理は、INT 25h 割込みを開
始する。論理ボリューム・カウンタmは、ボリューム・
ユニット・ナンバーとして特定される。ビルド・ボリュ
ーム・テーブル処理は、割込みパラメータとしてボリュ
ーム・ブート・レコードを記憶している論理ボリューム
の論理セクタも特定する。INT 25h 割込みは、
論理READが実行されるようにする。論理READ
は、特定のボリューム・ブート・レコードを有している
指定論理セクタを読取る。この論理セクタは、ボリュー
ム・ブート・レコードの所定のロケーションに記憶され
た固有の通し番号を含む。ボリューム・ブート・レコー
ドのロケーション及びそれに記憶された通し番号は、図
10に示すように得られる。図10では、論理ボリュー
ムが供給されるディスクのマスター・ブート・レコード
(MBR)は、区分ブート・レコード(partition boot
record :PBR)へのポインタを包含する。区分ブー
ト・レコードは、第1の論理ボリュームを独自に識別す
る通し番号を記憶する第1の(VBR)へのポインタを
包含する。追加の論理ボリュームがコンピュータ・シス
テムに常駐(resident)しているところでは、区分ブー
ト・レコードは、図に示すように、第2の区分ブート・
レコードへのポインタを包含する。第2の区分ブート・
レコードは、第2のボリュームを独自に識別する異なる
通し番号を包含する、第2のボリューム・ブート・レコ
ードへのポインタを包含する。追加の論理ボリューム
は、同じファッションで表される。
【0033】制御は、次にステップ920へ進む。ステ
ップ920では、ビルド・ボリューム・テーブル処理
は、ボリューム・ブート・レコードで得られた通し番号
を、図11に示された、ボリューム・テーブル1100
に書込む。ボリューム・テーブル1100は、コンピュ
ータ・システムに常駐する各論理ボリュームに対するボ
リューム・テーブル・エントリ1110を包含する。各
ボリューム・テーブル・エントリ1110は、ボリュー
ム・ナンバー・フィールド1112と通し番号フィール
ド1114を包含する。ビルド・ボリューム・テーブル
処理は、通し番号を、ボリューム・ユニット・ナンバー
mが割当てられるリアル・モード・ボリューム・ドライ
バ800によって制御された論理ボリュームに対して供
給されたボリューム・テーブル・エントリ1110の通
し番号フィールド1114に書込む。制御は、次にステ
ップ930へ進む。ステップ930では、ビルド・ボリ
ューム・テーブル処理は、ボリューム・ユニット・ナン
バーmを、通し番号がステップ920で書き込まれるボ
リューム・テーブル・エントリ1110のボリューム・
ユニット・ナンバー・フィールド1112に書込む。制
御は、次に、ボリューム・カウンタmが増分される、ス
テップ940へ進む。次に、ステップ950では、論理
ボリュームの全てが処理されたかどうかが決定される。
もしそうでなければ、制御はステップ900ヘループす
る。もしそうであれば、ビルド・ボリューム・テーブル
処理は、終了する。
【0034】得られたボリューム・ユニット・ナンバー
は、次に正しい論理ボリュームに割当てられる。ここで
アサイン・ボリューム・ユニット・ナンバー処理(Assi
gn Volume Unit Number process )と称する、ボリュー
ム・ユニット・ナンバーが割当てられる処理のフロー図
が、図12に示される。図12に示されたアサイン・ボ
リューム・ユニット・ナンバー処理は、メモリ102に
記憶されたソフトウェアとして実施されかつオペレーテ
ィング・システム210がロードされるときにCPU1
04によって実行される。アサイン・ボリューム・ユニ
ット・ナンバー処理のステップ1200では、プロテク
ト・モード・ボリューム・ドライバ810がロードされ
る。制御は、次にステップ1202へ進む。ステップ1
202では、アサイン・プロテクト・モード・ボリュー
ム・ナンバー処理は、論理ボリュームのボリューム・ブ
ート・レコードから通し番号を読取る(マスター・ブー
ト・レコードから区分ブート・レコードまでのパスに続
いてボリューム・ブート・レコードまで)。制御は、次
にステップ1204へ進む。ステップ1204では、ア
サイン・ボリューム・ユニット・ナンバー処理は、ステ
ップ1202で読み取った通し番号を包含するボリュー
ム・テーブル1100のボリューム・テーブル・エント
リ1110を位置決めする。ステップ1206では、ス
テップ1204で得られたボリューム・テーブル・エン
トリ1110のボリューム・ユニット・ナンバー・フィ
ールド1112に記憶されたボリューム・ユニット・ナ
ンバーは、ロード・プロテクト・モード・ボリューム・
ドライバ810によって論理ボリュームに割当てられ
る。ステップ1208では、アサイン・ボリューム・ユ
ニット・ナンバー処理は、処理すべき更なるボリューム
・ブート・レコード(VBR’s)があるかどうかを決
定する。もしそうであるならば、制御は、ステップ12
00へループする。さもなくば、アサイン・ボリューム
・ユニット・ナンバー処理は、終了する。結果として、
リアル・モード・ボリューム・ドライバ800及びプロ
テクト・モード・ボリューム・ドライバ810は、それ
らがアクセスするボリュームに対する同じドライブ・ユ
ニット・ナンバーを用いる。
【0035】次に、本発明の第3の態様を記述する。本
発明の第3の態様では、好ましい実施例は、アダプタ1
08(図1)に対するアダプタ・ナンバーの間の一貫性
を供給する。これらのアダプタ・ナンバーは、それに接
続された周辺装置120をアクセスすべくアダプタ10
8を制御するためにリアル・モード・デバイス・ドライ
バ202及びプロテクト・モード・デバイス・ドライバ
212によって用いられる。例えば、アダプタ108
は、SCSIアダプタであり、そしてMS−DOSオペ
レーティング・システムは、リアル・モード・SCSI
・アダプタ・ドライバを供給する。SCSIアダプタ・
ドライバは、例えば、ASPI(アドバンスド・SCS
I・プログラミング・インタフェース:Advanced SCSI
Programming Interface )及びCAM(コモン・アクセ
ス・メソッド:Common Access Method)・ドライバを含
む。その後でオペレーティング・システム210がロー
ドされるときに、リアル・モード・アダプタ・ドライバ
と同じアダプタ108を制御するプロテクト・モード・
アダプタ・ドライバが供給される。上述したアダプタ・
ドライバ及びアダプタ108の間の関係を示すブロック
図が図13に示される。同じアダプタ108を制御する
リアル・モード・アダプタ・ドライバ1300と互換性
のあるファッションでアダプタ108を制御すべく図1
3に示されたプロテクト・モード・アダプタ・ドライバ
1310に対して、同じアダプタ・ナンバーが、リアル
・モード・アダプタ・ドライバ1300が同じアダプタ
108に割当てるプロテクト・モード・アダプタ・ドラ
イバ1310によって割当てられなければならない。ア
ダプタ・ナンバーは、リアル・モード・アダプタ・ドラ
イバ1300によって順序に割当てられる。例えば、M
S−DOSオペレーティング・システムによってロード
されたときには、アダプタ・ナンバーは、リアル・モー
ド・アダプタ・ドライバ1300がロードされる順序で
割当てられる。しかしながら、オペレーティング・シス
テム210は、プロテクト・モード・アダプタ・ドライ
バ1310を対応しているリアル・モード・アダプタ・
ドライバ1300と同じ順序でロードする必要がない。
それゆえに、同じアダプタ・ナンバーが、同じアダプタ
108を制御するリアル・モード・アダプタ・ドライバ
1300及びプロテクト・モード・アダプタ・ドライバ
1310に割当てられるということが確信されえない。
【0036】加えて、プロテクト・モード・ドライバが
存在するときでさえも、あるアプリケーション・プログ
ラムは、リアル・モード・アダプタ・ドライバ1300
を用いることを要求しうる。更なる複雑は、周辺装置を
アクセスするために要求を、一つのインタフェース形式
(例えば、ASPI)のリアル・モード・アダプタ・ド
ライバ1300を介して、異なるインタフェース形式
(例えば、CAM)のリアル・モード・アダプタ・ドラ
イバ1300へマップするインタフェース・マッパー1
320が供給されうるということである。それゆえに、
リアル・モード・アダプタ・ドライバをアクセスするた
めのアプリケーション・プログラム要求は、同じアダプ
タ108を制御するプロテクト・モード・アダプタ・ド
ライバ1310にマップされなければならない。更に、
宛先リアル・モード・アダプタ・ドライバ1300へイ
ンタフェース・マッパー1320によってマップされる
リアル・モード・アダプタ・ドライバ1300をアクセ
スするための要求は、宛先リアル・モード・アダプタ・
ドライバ1300に対応するプロテクト・モード・アダ
プタ・ドライバ1310へもマップされなければならな
い。要求のマッピング及びアダプタ・ナンバーの一貫し
た割当てを正しいプロテクト・モード・アダプタ・ドラ
イバ1310へ供給するために、好ましい実施例は、各
アダプタ108に対して、図15を参照して以下に詳述
する、リアル・モード・データ構造1500をまず生成
する。リアル・モード・データ構造は、リアル・モード
・アダプタ・ドライバが制御するアダプタ108へリン
ク・モード・アダプタ・ドライバ1300によって割当
てられたアダプタ・ナンバーを同じアダプタ108に接
続された各周辺装置120から得られた周辺情報と関連
付ける。インタフェース・マッパー1320が供給され
るときには、リアル・モード・データ構造は、アダプタ
・ナンバー及び周辺情報をインタフェース形式とも関連
付ける。インタフェース形式は、リアル・モード・アダ
プタ・ドライバ1300への要求がインタフェース・マ
ッパー1320によってマップされる宛先リアル・モー
ド・アダプタ・ドライバ1300のインタフェースの形
式を規定する。
【0037】その後でプロテクト・モード・アダプタ・
ドライバ1310がロードされるときには、データ制御
ブロック1800が、アダプタ108に接続された各周
辺装置120に対して生成される。データ制御ブロック
1800は、図18を参照して以下に詳述される。デー
タ制御ブロックは、プロテクト・モード・アダプタ・ド
ライバ1310によって制御されたアダプタ108を介
して各周辺装置120から得られた周辺情報を包含す
る。各データ制御ブロックの周辺情報は、リアル・モー
ド・データ構造1500に記憶された周辺情報と比較さ
れる。周辺情報が同じであるときには、アダプタ・ナン
バーは、リアル・モード・データ構造1500から抽出
される。抽出されたアダプタ・ナンバーは、データ制御
ブロックがそのアダプタ108を制御するプロテクト・
モード・アダプタ・ドライバ1310によって供給され
る周辺装置120に接続されたアダプタ108に割当て
られる。インタフェース・マッパー1320が供給され
る場合では、一つ以上のリアル・モード・データ構造の
周辺情報は、データ制御ブロック1800の周辺情報と
一致しうる。そのような場合には、宛先リアル・モード
・アダプタ・ドライバ1300に対応するアダプタ・ナ
ンバーは、そのアダプタ108を制御するプロテクト・
モード・アダプタ・ドライバによってデータ制御ブロッ
クに対応している周辺装置120に接続されたアダプタ
108に割当てられる。このアダプタ・ナンバーは、ア
ダプタ・ナンバーをインタフェース形式(即ち、宛先リ
アル・モード・アダプタ・ドライバ1300のインタフ
ェース形式)と関連付けるリアル・モード・データ構造
から得られる。
【0038】ここで、ビルド・リアル・モード・データ
構造(RMDs)処理(Build RealMode Data Structur
es process )と称される、上述したリアル・モード・
データ構造を生成する処理のフロー図が、図14に示さ
れる。ビルドRMDs処理は、メモリ102に記憶され
たソフトウェアとして実施されかつCPU104によっ
て実行されうる。ステップ1400では、ビルドRMD
s処理は、インタフェース形式、アダプタ・カウンタ、
周辺カウンタ、及びリアル・モード・データ構造(上記
の全ては、以下に詳述する)を初期化する。ステップ1
402では、ビルドRMDs処理は、アダプタ・カウン
タ(初期的に0)によって示されたアダプタ・ナンバー
が割当てられるリアル・モード・アダプタ・ドライバ1
300を介して、SCSI照会命令(inquiry instruct
ion )を供給する。SCSI照会命令は、周辺ユニット
・カウンタ(各アダプタに対して初期的に0)によって
示された周辺装置120から周辺情報を得る。次に、ス
テップ1404では、ビルドRMDs処理は、周辺情報
とアダプタ・ナンバーを、周辺装置120に対応してお
りかつアダプタ108に対応しているリアル・モード・
データ構造に対応付けられたユニット規則子(unit spe
cifier)に一緒に記憶する。
【0039】リアル・モード・データ構造及びユニット
規則子は、図15に詳細に示される。各RMD1500
は、次のRMDポインタ1502及びユニット・ポイン
タ1504を包含する。次のRMDポインタ1502
は、次のリアル・モード・アダプタ・ドライバ1300
に対応している次のRMDを指す。次のリアル・モード
・アダプタ・ドライバ1300は、RMD1500が対
応するリアル・モード・アダプタ・ドライバ1300の
後の次にロードされるアダプタ・ドライバである。ユニ
ット・ポインタ1504は、周辺データ・フィールド1
512及びユニット・ポインタ1514を有している第
1のユニット規則子1510を指す。ユニット・ポイン
タ1514は、RMD1500に対応するアダプタ10
8に接続された次の周辺装置120に対応している次の
ユニット規則子1510を指す。周辺データ・フィール
ド1512の特定内容(specific contents )は、図1
6に示される。周辺データ・フィールド1512は、タ
ーゲットID1602、論理ユニット・ナンバー160
4、及びユニット規則子1510が対応する周辺装置1
20から得られた検査合計1606からなる周辺情報1
600を包含する。周辺データ・フィールド1512
は、インタフェース形式1610及びRMD1500が
対応するアダプタ108に対応するアダプタ・ナンバー
1620を更に含む。
【0040】周辺情報がビルドRMDs処理のステップ
1404で記憶された後、制御は、ステップ1406へ
進む。ステップ1406では、ビルドRMDs処理は、
初期に特定されたインタフェース形式と異なるSCSI
照会命令を実行することにおいてリアル・モード・アダ
プタ・ドライバ1300が呼び出されたかどうかを決定
する。例えば、インタフェース形式は、ASPIドライ
バである全てのリアル・モード・アダプタ・ドライバ1
300を介してSCSI照会命令がまず供給されるよう
に、ASPIに初期に設定される。そのような場合に
は、ビルドRMDs処理は、ASPI以外のインタフェ
ース形式を有しているリアル・モード・アダプタ・ドラ
イバ1300が呼び出されたかどうかをステップ140
6で初期に決定する。リアル・モード・アダプタ・ドラ
イバ1300に対する要求を異なる、宛先リアル・モー
ド・アダプタ・ドライバ1300へマップするインタフ
ェース・マッパー1320が供給されるときにはいつで
も異なるインタフェース形式を有しているリアル・モー
ド・アダプタ・ドライバ1300が呼び出される。も
し、ステップ1406にて、ビルドRMDs処理が異な
るインタフェース形式が呼び出されたということを決定
するならば、制御は、ステップ1408へ分岐する。ス
テップ1408では、ビルドRMDs処理は、RMD1
500の周辺データ・フィールド1512のインタフェ
ース形式1610として宛先リアル・モード・アダプタ
・ドライバ1300のインタフェース形式を記憶し、周
辺データ・フィールド1512に初期に記憶されたゼロ
値を置き換える。インタフェース形式が記憶されるRM
D1500は、アダプタ・カウンタによって示されたア
ダプタ・ナンバーが割当てられるリアル・モード・アダ
プタ・ドライバ1300に対応する。
【0041】もし、ステップ1406にて、ビルドRM
Ds処理が、異なるインタフェース形式は呼び出されな
いということを決定するならば、制御は、ステップ14
10へ進む。制御は、ステップ1408が実行された後
にも1410へ進む。ステップ1410では、周辺カウ
ンタが増分されかつ次のユニット規則子1510が得ら
れる。制御は、ステップ1412へ進む。ステップ14
12では、ビルドRMDs処理は、アダプタ108に接
続された周辺装置120の全てが処理されたかどうかを
決定する。もしそうであるならば、制御は、ステップ1
402へループ・バックする。もしそうでないならば、
制御は、アダプタ・カウンタが増分されるステップ14
14へ分岐する。制御は、周辺カウンタが0にリセット
されかつ次のRMDが得られるステップ1416へ進
む。ステップ1418では、ビルドRMDs処理は、ア
ダプタ108の全てが処理されたかどうかを決定する。
もしそうであるならば、ビルドRMDs処理は、終了す
る。もしそうでなければ、制御は、ビルドRMDsルー
チンが最後のリアル・モード・アダプタ・ドライバ13
00のインタフェース形式がASPIであるどうかを決
定する、ステップ1420へ進む。もしそうであるなら
ば、ステップ1422にて、ビルドRMDsルーチン
は、ASPIドライバの全てが処理されたかどうかを決
定する。もしそうでなければ、制御は、ステップ140
2へループ・バックする。もしそうであれば、制御は、
インタフェース形式がCAMに設定されるステップ14
24へ進む。制御は、次にステップ1402へループす
る。もし、ステップ1420で、ビルドRMDs処理が
インタフェース形式はASPIでないと決定するなら
ば、制御は、ビルドRMDs処理が最後のリアル・モー
ド・アダプタ・ドライバ1300のインタフェース形式
はCAMであるかどうかを決定する、ステップ1426
へ分岐する。もしそうであるならば、制御は、ビルドR
MDs処理が全てのCAMドライバが処理されたかどう
かを決定する、ステップ1428へ進む。もしそうでな
いならば、制御は、ステップ1402へループする。も
しそうであるならば、制御は、インタフェース形式がI
NT 4Bに設定されるステップ1430へ進む。制御
は、次にステップ1402へループする。
【0042】ここで、ビルド・デバイス・制御・ブロッ
ク(DCBs)処理(Build DeviceControl Blocks pro
cess )と称される、デバイス制御ブロックを生成する
処理が、図17に示される。ビルドDCBs処理は、メ
モリ102に記憶されたソフトウェアとして実施されか
つオペレーティング・システム210がロードされると
きにCPU104によって実行される。ステップ170
0では、ビルドDCBs処理は、プロテクト・モード・
アダプタ・ドライバ1310をロードする。制御は、次
にステップ1705へ進む。ステップ1705では、ビ
ルドDCBs処理は、ロード・プロテクト・モード・ア
ダプタ・ドライバ1310によって制御されるアダプタ
108に接続された周辺装置120からロード・プロテ
クト・モード・ドライバ1310を介して周辺情報を走
査する。制御は、ステップ1710へ進む。ステップ1
710では、ビルドDCBs処理は、ステップ1705
で走査された周辺情報を、ロード・プロテクト・モード
・アダプタ・ドライバ1310に対応しているデバイス
制御ブロック(DCB)に記憶する。周辺情報が記憶さ
れるデバイス制御ブロック(DCB)は、図18に示さ
れる。図18に示されたように、デバイス制御ブロック
1800は、ロード・プロテクト・モード・アダプタ・
ドライバ1310によって制御されたアダプタ108に
接続された周辺装置120から走査された周辺情報に基
づいて、周辺装置、論理ユニット・ナンバー1804、
及び検査合計1806を識別するターゲットID180
2を包含する。
【0043】制御は、次にステップ1715へ進む。ス
テップ1715では、ビルドDCBs処理は、更なる周
辺装置120が、ロード・プロテクト・モード・アダプ
タ・ドライバ1310によって制御されるアダプタ10
8に接続されるかどうかを決定する。もしそうであるな
らば、制御は、ステップ1700へループする。さもな
くば、制御は、ビルドDCBs処理が更なるプロテクト
・モード・アダプタ・ドライバがロードされるべきであ
るかどうかを決定する、ステップ1720へ進む。も
し、ビルドDCBsルーチンが更なるプロテクト・モー
ド・アダプタ・ドライバ1310がロードされるべきで
あることをステップ1720で決定するならば、制御
は、ステップ1700へループする。さもなくば、ビル
ドDCBs処理は、終了する。ここで、アサイン・アダ
プタ・ナンバー処理(Assign Adaper Numbers process
)と称される、アダプタ・ナンバーをプロテクト・モ
ード・アダプタ・ドライバ1310へ割当てる処理のフ
ロー図は、図19に示される。アサイン・アダプタ・ナ
ンバー処理は、メモリ102に記憶されたソフトウェア
として実施されかつCPU104によって実行されう
る。ステップ1900では、アサイン・アダプタ・ナン
バー処理は、以下に詳述する、DCBs1800、RM
Ds1500及びユニット規則子1510を初期化す
る。ステップ1902では、同様に以下に詳述する、
“マッチズ(matches :一致)”カウンタが0に初期に
設定される。ステップ1904では、RMD1500の
ユニット規則子1510に記憶された周辺情報が、DC
B1800に記憶された周辺情報と比較される。制御
は、次にステップ1906へ進む。ステップ1906で
は、アサイン・アダプタ・ナンバー処理は、ユニット規
則子1510の周辺情報がDCB1800の周辺情報と
同じであるかどうかを決定する。
【0044】もし、ステップ1906にて、周辺情報が
一致すると決定されるならば、制御は、ステップ190
8へ進む。ステップ1908では、マッチズ・カウンタ
は、増分される。制御は、マッチズ・カウンタの値によ
ってインデックスされた宛先フラブ(destination fla
g)がFalse(ファールス:誤り)であるべく初期
に設定される、ステップ1910へ進む。制御は、ステ
ップ1912へ進む。ステップ1912では、ユニット
規則子1510に記憶されたアダプタ・ナンバーは、マ
ッチズ・カウンタの値によってインデックスされた“ド
ライバ”変数(“Driver” variable )に割当てられ
る。ドライバ変数は、DCB1800に対応しているプ
ロテクト・モード・アダプタ・ドライバ1310のアダ
プタ・ナンバーを試験的(仮り)に包含する。制御は、
ステップ1914へ進む。ステップ1914では、イン
タフェース形式1610(非ゼロ値)がユニット規則子
1510の周辺データ・フィールド1512に記憶され
るかどうかが決定される。インタフェース形式1610
は、初期にゼロ値であり、かつ図14のビルドRMDs
処理のステップ1408で記憶されたときにだけインタ
フェース形式に設定される。ステップ1408は、リア
ル・モード・アダプタ・ドライバ1300に対する要求
を、異なる、宛先リアル・モード・アダプタ・ドライバ
1300にマップするインタフェース・マッパー132
0が供給されたときにだけ実行される。もし、ステップ
1914にて、非ゼロ値がユニット規則子1510の周
辺データ・フィールド1512におけるインタフェース
形式1610として記憶されることが決定されるなら
ば、制御は、ステップ1916へ進む。ステップ191
6では、マッチズ・カウンタの値によってインデックス
された宛先フラグは、True(トルー:真)に設定さ
れる。
【0045】制御は、アサインド・アダプタ・ナンバー
処理が更なるユニット規則子1510がRMD1500
に対応するかどうかを決定する、ステップ1922へ進
む。もしそうであるならば、制御は、次のユニット規則
子1510が得られて、ステップ1924へ進み、制御
は、次にステップ1902へループする。さもなけれ
ば、制御は、更なるRMDsが供給されるかどうかが決
定される、ステップ1926へ分岐する。もしそうであ
るならば、次のRMD1500が得られて、制御は、ス
テップ1902へループする。さもなければ、制御は、
ステップ1930へ分岐する。ステップ1930では、
マッチングRMDのアダプタ・ナンバーは、そのRMD
と一致するDCBに対応しているプロテクト・モード・
アダプタ・ドライバ1310に対するアダプタ108に
割当てられる。二つ以上のRMDがDCBと一致したと
きには、インタフェース形式(宛先リアル・モード・ア
ダプタ・ドライバのもの)に対応付けられたRMDに記
憶されたアダプタ・ナンバーは、プロテクト・モード・
アダプタ・ドライバ1310によって割当てられる。こ
の割当ては、次の擬似コードによって示されうる:も
し、マッチズ = 1ならば、 アダプタ・ナンバー = ドライバ (マッチズ) もし、マッチズ > 1 ならば、n = 1からマッ
チズまでに対して もし、宛先 (マッチズ) = True ならば、 アダプタ・ナンバー = ドライバ (マッチズ) 制御は、次に、更なるDCBsが処理されるべきである
かどうかが決定される、ステップ1932へ進む。もし
そうであるならば、制御は、次のDCBが得られる、ス
テップ1934へ進み、そして制御は、ステップ190
2へループする。もしそうでないならば、ルーチンは、
終了する。
【0046】本発明の第4の態様では、好ましい実施例
は、供給されたリアル・モード機能ドライバ204のプ
ロテクト・モード・アコモデーションを供給する。本発
明の第4の態様では、好ましい実施例は、そのようなリ
アル・モード機能ドライバ204の使用をまず検出す
る。好ましい実施例は、検出されたリアル・モード機能
ドライバ204の機能性が常駐プロテクト・モード機能
ドライバによって供給されるかどうかを決定する。もし
そうであるならば、リアル・モード機能ドライバへの要
求は、プロテクト・モード機能ドライバ214へマップ
される。もしそうでなければ、好ましい実施例は、リア
ル・モード・デバイス・ドライバ202の代わりにプロ
テクト・モード・デバイス・ドライバ212と作動すべ
くリアル・モード機能ドライバ204を適応させる。こ
こで、アコモデート・リアル・モード(RM)機能ドラ
イブ処理(Accommodate Real Mode (RM) Functional Dr
ivers process )と称される、リアル・モード機能ドラ
イバをアコモデートする処理は、図20に示される。ア
コモデート・リアル・モード機能ドライブ処理は、メモ
リ102に記憶されたソフトウェアとして実施されかつ
CPU104によって実行されうる。アコモデート・リ
アル・モード機能ドライブ処理のステップ2000で
は、アコモデート・リアル・モード機能ドライブ処理
は、リアル・モード機能ドライバを検出するディテクト
・リアル・モード機能ドライバ処理(Detect Real Mode
Functional Driver process)を実行する。ディテクト
・リアル・モード機能ドライバ処理は、図21に示され
る。ディテクト・リアル・モード機能ドライバ処理のス
テップ2100では、“検出された(detected)”ブー
ル値(Boolean value )がFalseに初期に設定され
る。制御は、次にステップ2105へ進む。ステップ2
105では、ディテクト・リアル・モード機能ドライバ
処理は、リアル・モード論理ドライバに対して供給され
たディスク・パラメータ・ブロック(disk parameter b
lock)から現行ドライバ情報を得る。
【0047】ディスク・パラメータ・ブロックは、図2
2に示される。図22に示すように、ディスク・パラメ
ータ・ブロック2200は、現行ドライバ情報2202
及び実行すべき第一のドライバを指すポインタ2204
を包含する。初期に、ディスク・パラメータ・ブロック
2200のポインタ2204は、プロテクト・モード・
デバイス・ドライバ2230によっても制御されたデバ
イス2220を制御するリアル・モード・デバイス・ド
ライバ2210を指す。しかしながら、リアル・モード
・デバイス・ドライバ2210を補うべくリアル・モー
ド機能ドライバ2240が供給されたところでは、ポイ
ンタ2204がリアル・モード機能ドライバ2240を
指すように、リアル・モード機能ドライバ2240であ
るべき呼出しは、フックされる。そのような場合には、
現行ドライバ情報2202は、それによって最初に記述
されたリアル・モード・デバイス・ドライバ2210の
代わりにリアル・モード機能ドライバ2240を記述す
る。機能ドライバが、個別のドライバではなく、リアル
・モード・ドライバの一部でありうるということは、注
目されるべきである。制御は、次にステップ2110へ
進む。ステップ2110では、ディテクト・リアル・モ
ード機能ドライバ処理は、IO.SYSモジュールから
オリジナル・ドライバ構造を得る。IO.SYSソフト
ウェア・モジュールは、MS−DOSオペレーティング
・システム200を始動させるためにコンピュータ・シ
ステムのハードウェア製造者によって供給されたよく知
られたモジュールである。オリジナル・ドライバ構造
は、図23に示される。オリジナル・ドライバ構造は、
リアル・モード・ドライバ・ネーム、多数の制御された
ユニット、リアル・モード・ドライバ・ヘッダー・アド
レスを包含する。制御は、次に、オリジナル・ドライバ
構造2300のリアル・モード・ドライバ・ネーム、多
数の制御されたユニット及びリアル・モード・ドライバ
・ヘッダー・アドレスが、同じデバイス2220に対応
している現行ドライバ情報と比較される。リアル・モー
ド機能ドライバ2240が供給されるところでは、オリ
ジナル・ドライバ構造2300の情報は、データ・パラ
メータ・ブロック2200の現行ドライバ情報2202
と一致しない。それゆえに、ステップ2115で現行ド
ライバ情報が一致いないことが決定されるときに、制御
は、“検出された”フラグがTrueに設定される、ス
テップ2120へ進む。さもなくば、検出されたフラグ
は、Falseのままである。次に処理は、図20に示
されたアコモデート・リアル・モード機能ドライブ処理
を実行することを継続すべく戻る。
【0048】ディテクト・リアル・モード機能ドライバ
処理がアコモデート・リアル・モード機能ドライブ処理
のステップ2000で実行された後に、制御は、ステッ
プ2010へ進む。ステップ2010では、検出された
フラグは、ディテクト・リアル・モード機能ドライバ処
理によってTrueであるべく設定されたかどうかが決
定される。もしそうであるならば、制御は、ステップ2
015へ進む。ステップ2015では、リアル・モード
機能ドライバ・ネームが“安全ドライバ(safedriver
)”・リストに見出されるかどうかが決定される。安
全ドライバ・リストは、安全ドライバ・リストは、図2
4に示される。図24では、安全ドライバ・リスト24
00は、リアル・モード機能ドライバ・ネームのリスト
2402を包含する。もし、ステップ2015にて、リ
アル・モード機能ドライバ・ネームが安全ドライバ・リ
ストで見出せたならば、制御は、ステップ2025へ進
む。ステップ2025では、アコモデート・リアル・モ
ード機能ドライブ処理は、リアル・モード機能ドライバ
要求を、安全ドライバ・リストで識別されたプロテクト
・モード・ドライバへマップする。もしリアル・モード
機能ドライバ・ネームが、ステップ2015で安全ドラ
イバ・リストに見出せないならば、制御は、アダプト・
リアル・モード機能ドライバ処理が実行される、ステッ
プ2030へ進む。制御は、次に、アコモデート・リア
ル・モード機能ドライブ処理が更なるリアル・モード論
理ドライバが供給されるかどうかを決定する、ステップ
2035へ進む。もしそうであるならば、制御は、次の
リアル・モード論理ドライバが得られる、ステップ20
40へ進み、そして制御は、ステップ2000へループ
する。もしそうでなければ、アコモデート・リアル・モ
ード機能ドライブ処理は、終了する。
【0049】図25は、アダプト・リアル・モード機能
ドライバ処理によって実行された複数の主な機能ステッ
プを示す。この処理は、メモリ102に記憶されるソフ
トウェアを実行することによって実施されかつCPU1
04によって実行される。この処理は、プロテクト・モ
ード・ドライバが安全ドライバ・リストになく、そし
て、それゆえに、所望の機能性を供給するためにリアル
・モード機能ドライバが依存されなければならないとき
に、呼び出される。従って、図25に示すように、プロ
テクト・モード・ドライバへの論理要求は、リアル・モ
ード・マッパーを介してリアル・モード機能ドライバへ
送られる(ステップ2500)。次に、この要求は、要
求がチェーンの最後のドライバに到達するまでリアル・
モード・ドライバ・チェーンに代々伝えられる(ステッ
プ2502)。リアル・モード・ドライバによるAPI
呼出しは、プロテクト・モードにフックされる(ステッ
プ2504)。それゆえに、API、CAMまたはIN
T 13h API呼出しは、プロテクト・モードにフ
ックされる。もしAPI呼出しがないならば、プロテク
ト・モードへのフックがない。本発明は、一つ以上の特
定な実施例を参照して記述されたが、本発明の精神から
逸脱することなく、当業者によって種々の変更がなされ
うるということは、注目すべきである。本発明の範疇
は、特許請求の範囲により適宜に規定される。
【0050】
【発明の効果】本発明は、同じデバイスをアクセスする
リアル・モード・デバイス・ドライバと互換性があるプ
ロテクト・モード・デバイス・ドライバを供給する。プ
ロテクト・モード・デバイス・ドライバは、それらが同
じデバイスをアクセスするために同じ基準値(referenc
e values)を使用するという意味でリアル・モード・デ
バイス・ドライバと互換性がある。好ましい実施例で
は、本発明は、プロテクト・モードで動作することがで
きかつプロテクト・モード・デバイス・ドライバを有し
ているオペレーティング・システムを供給する。プロテ
クト・モードにおけるオペレーティング・システムの動
作中、プロテクト・モード・デバイス・ドライバは、オ
ペレーティング・システムまたはアプリケーション・プ
ログラムによってそのように要求されたときにデバイス
をアクセスする。オペレーティング・システムまたはリ
アル・モード動作を必要とするアプリケーション・プロ
グラムによって要求されたときにリアル・モードでデバ
イスをアクセスするリアル・モード・デバイス・ドライ
バも供給される。プロテクト・モード・デバイス・ドラ
イバは、リアル・モード・デバイス・ドライバが同じデ
バイスに割当てるのと同じ基準値をデバイスに割当て
る。本発明は、以下に説明する、本発明の多重的態様を
供給することによってこれらの基準値に関する互換性を
確実にする。
【0051】本発明の第1の態様は、同じ物理的ディス
クがリアル・モード及びプロテクト・モード・ティスク
・ドライバによってアクセスされるドライブ・ユニット
・ナンバー(drive unit numbers)の一貫した割当てを
供給する。物理的ディスクをアクセスするリアル・モー
ド・ディスク・ドライバは、それらの物理的ディスク
に、同じ物理的ディスクをアクセスするプロテクト・モ
ード・ディスク・ドライバと同じドライブ・ユニット・
ナンバーを割当てない。問題は、リアル・モード・ディ
スク・ドライバがBIOS INT 13h 割込みに
対する対応するプロテクト・モード・ディスク・ドライ
バに割当てられたドライブ・ナンバーとは異なるドライ
ブ・ナンバーを有しうるということである。本発明の第
1の態様では、好ましい実施例は、同じ物理的ディスク
・デバイス・ドライバがリアル・モード及びプロテクト
・モード・物理的ディスク・ドライバの両方によってI
NT13h 割込みを介してアクセスされる、ドライブ
・ユニット・ナンバーの一貫した割当てを供給する。結
果として、同じ物理的ディスクへのアクセスが、互換性
のあるファッションでリアル・モード・ディスク・ドラ
イバ及びプロテクト・モード・ディスク・ドライバの両
方によって供給される。
【0052】本発明の第2の態様は、同じ論理ボリュー
ムがリアル・モード及びプロテクト・モード・ボリュー
ム・ドライバによってアクセスされる論理ボリューム・
ユニット・ナンバーの一貫した割当てを供給する。ディ
スクの論理ボリュームへのアクセスを制御するリアル・
モード・ボリューム・ドライバは、同じ論理ボリューム
へのアクセスを制御するプロテクト・モード・ボリュー
ム・ドライバと同じプロテクト・モード・ボリューム・
ナンバーをそれらの論理ボリュームに割当てない。特
に、リアル・モード・ボリューム・ドライバは、BIO
S INT 25h 割込みに対する対応しているプロ
テクト・モード・ボリューム・ドライバに割当てられた
ボリューム・ナンバーとは異なるボリューム・ナンバー
を有しうる。本発明の第2の態様では、好ましい実施例
は、同じ論理ボリュームが、リアル・モード及びプロテ
クト・モード・論理ボリューム・ドライバの両方によっ
てINT 25h 割込みを介してアクセスされるボリ
ューム・ユニット・ナンバーの一貫した割当てを供給す
る。それゆえに、同じ論理ボリュームへのアクセスがリ
アル・モード・ボリューム・ドライバ及びプロテクト・
モード・ボリューム・ドライバの両方によって供給され
る。
【0053】本発明の第3の態様は、同じアダプタがそ
れらのアダプタに接続された周辺装置をアクセスするた
めにリアル・モード及びプロテクト・モード・アダプタ
・ドライバによって制御されるアダプタ・ナンバーの一
貫した割当てを供給する。アダプタを介して周辺装置を
アクセスするリアル・モード・アダプタ・ドライバは、
プロテクト・モード・オペレーティング・システムが同
じ周辺装置をアクセスするために同じアダプタを制御す
るプロテクト・モード・アダプタ・ドライバに割当てる
のと同じアダプタ・ナンバーをそれらのアダプタに割当
てない。本発明の第3の態様では、好ましい実施例は、
同じアダプタが同じ周辺装置をアクセスするためにリア
ル・モード及びプロテクト・モード・アダプタ・ドライ
バの両方によって制御されるアダプタ・ナンバーの一貫
した割当てを供給する。本発明の第3の態様は、同じア
ダプタを制御するプロテクト・モード・アダプタ・ドラ
イバを介して周辺装置をアクセスする要求へのリアル・
モード・アダプタ・ドライバを介して周辺装置をアクセ
スための要求のマッピングを更に供給する。周辺装置を
アクセスするためのアプリケーション・プログラムによ
る要求は、向けられなければ、プロテクト・モード・オ
ペレーティング・システムの動作中でさえもリアル・モ
ード・アダプタ・ドライバに向けられうる。好ましい実
施例は、同じアダプタを制御するプロテクト・モード・
アダプタ・ドライバを介して周辺装置をアクセスするた
めの要求へのリアル・モード・アダプタ・ドライバを介
して周辺装置をアクセスするためのアプリケーション・
プログラム要求のマッピングを供給する。
【0054】好ましい実施例は、リアル・モード・デバ
イス・ドライバが実行されるときにリアル・モード機能
素子によって供給される機能のプロテクト・モード動作
を更に供給する。それゆえに、本発明の第4の態様は、
リアル・モード・デバイス・ドライバに加えて供給され
たリアル・モード機能ドライバの検出及びプロテクト・
モード・アコモデーション(accommodation )を供給す
る。リアル・モード機能ドライバは、追加の機能を供給
することによりリアル・モード・デバイス・ドライバを
補うために加えられうる。これらの機能は、プロテクト
・モード・オペレーティング・システムのあらゆるプロ
テクト・モード機能ドライバによって供給されうるしま
たは供給されえない。プロテクト・モードで動作されて
いるときにこれらのリアル・モード機能ドライバがオペ
レーティング・システムによってアコモデートされない
ならば、プロテクト・モード・デバイス・ドライバは、
リアル・モード・デバイス・ドライバと互換性がない。
本発明の第4の態様では、好ましい実施例は、リアル・
モード・オペレーティング・システムのリアル・モード
・デバイス・ドライバに加えて供給されるリアル・モー
ド機能ドライバの検出及びプロテクト・モード・アコモ
デーションを供給する。本発明の上記四つの態様を供給
することの結果として、好ましい実施例は、リアル・モ
ード・デバイス・ドライバと互換性がありかつプロテク
ト・モード動作の利益を獲得するプロテクト・モード・
デバイス・ドライバを供給する。
【図面の簡単な説明】
【図1】コンピュータがディスク・ドライブ及び他の周
辺装置に接続される一般的なコンピュータ・システムの
ブロック図である。
【図2】リアル・モード及びプロテクト・モード・デバ
イス・ドライバ、機能ドライバ、そしてそれらが制御す
るデバイスの間の機能関係の説明図である。
【図3】本発明の好ましい実施例のリアル・モード・デ
ィスク・ドライバ及びプロテクト・モード・ディスク・
ドライバの間の機能関係である。
【図4】好ましい実施例においてドライブ・テーブルを
生成する処理のフロー図である。
【図5】好ましい実施例におけるディスクのマスター・
ブート・レコードの部分のコンテントにドライブ・テー
ブルを生成する処理の説明図である。
【図6】好ましい実施例において生成されたドライブ・
テーブルの説明図である。
【図7】好ましい実施例においてドライバ・ユニット・
ナンバーを割当てる処理のフロー図である。
【図8】好ましい実施例のリアル・モード・ボリューム
・ドライバ及びプロテクト・モード・ボリューム・ドラ
イバの間の機能関係の説明図である。
【図9】好ましい実施例においてボリューム・テーブル
を構築する処理のフロー図である。
【図10】好ましい実施例におけるディスクのボリュー
ムの区分(区画)ブート・レコード及びボリューム・ブ
ート・レコードの説明図である。
【図11】好ましい実施例において生成されたボリュー
ム・テーブルの説明図である。
【図12】好ましい実施例においてボリューム・ユニッ
ト・ナンバーを割当てる処理のフロー図である。
【図13】好ましい実施例のリアル・モード・アダプタ
・ドライバ及びプロテクト・モード・アダプタ・ドライ
バの説明図である。
【図14】好ましい実施例においてリアル・モード・デ
ータ構造を構築する処理のフロー図である。
【図15】好ましい実施例において生成されたリアル・
モード・データ構造及び各リアル・モード・データ構造
に対応付けられたユニット規則子の説明図である。
【図16】好ましい実施例において生成された各ユニッ
ト規則子の周辺データの説明図である。
【図17】好ましい実施例においてデータ制御ブロック
を生成する処理のフロー図である。
【図18】好ましい実施例において生成されたデータ制
御ブロックの説明図である。
【図19】好ましい実施例においてアダプタ・ナンバー
を割当てる処理のフロー図である。
【図20】好ましい実施例においてリアル・モード機能
ドライバをアコモデートする処理のフロー図である。
【図21】好ましい実施例においてリアル・モード機能
ドライバを検出する処理のフロー図である。
【図22】データ・パラメータ・ブロック、その部分の
内容及びリアル・モード・デバイス・ドライバまたはそ
れに特定された機能ドライバの説明図である。
【図23】好ましい実施例におけるオリジナル・ドライ
バ構造の説明図である。
【図24】好ましい実施例における安全ドライバ・リス
トの説明図である。
【図25】好ましい実施例においてリアル・モード機能
ドライバを適応する処理のフロー図である。
【符号の説明】
300 リアル・モード・ディスク・ドライバ 310 プロテクト・モード・ディスク・ドライバ 320 物理ディスク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム ジー パーリー アメリカ合衆国 ワシントン州 98052 レッドモンド ディー1019 ウェスト レ イク サマーミッシュ パークウェイノー スイースト 4250

Claims (36)

    【特許請求の範囲】
  1. 【請求項1】 同じデバイスへの同じデバイス割当てを
    アクセスするリアル・モード・デバイス・ドライバと同
    じ基準値をプロテクト・モード・デバイス・ドライバに
    よってアクセスされたデバイスに割当てるプロテクト・
    モード・デバイス・ドライバの、リアル・モード及びプ
    ロテクト・モードで動作することができかつ少なくとも
    一つのデバイスに接続されたコンピュータによって実行
    される、方法であって、 (a)固有の基準値をリアル・モード・デバイス・ドラ
    イバによってアクセスされたデバイスに割当てるリアル
    ・モード・デバイス・ドライバと、 (b)前記デバイスを独自に識別するデバイス情報を読
    取るべく、前記ステップ(a)で前記基準値が割当てら
    れたデバイスをアクセスするリアル・モード・デバイス
    ・ドライバと、 (c)前記ステップ(a)で前記リアル・モード・デバ
    イス・ドライバによって前記デバイスに割当てられた前
    記基準値を前記ステップ(b)で前記デバイスから読み
    取られた前記デバイス情報に対応付けられたメモリ・ロ
    ケーションに記憶し、 (d)前記デバイス情報を読取るべく前記デバイスをア
    クセスする前記プロテクト・モード・デバイス・ドライ
    バと、 (e)前記ステップ(d)で前記プロテクト・モード・
    デバイス・ドライバによってアクセスされた前記デバイ
    ス情報に対応付けられた前記メモリ・ロケーションに前
    記ステップ(c)で記憶された前記基準値を取得し、 (f)前記ステップ(e)で得られた前記基準値を前記
    ステップ(d)の前記プロテクト・モード・デバイス・
    ドライバによってアクセスされた前記デバイスに割当て
    るプロテクト・モード・デバイス・ドライバと、を具備
    する段階を備えていることを特徴とする方法。
  2. 【請求項2】 前記ステップ(c)は、前記基準値及び
    前記デバイス情報を前記コンピュータに接続された各デ
    バイスに対するエントリを有しているテーブル・データ
    構造の同じエントリに記憶することを含むことを特徴と
    する請求項1に記載の方法。
  3. 【請求項3】 同じディスク・ドライブへの同じディス
    ク・ドライブ割当てをアクセスするリアル・モード・デ
    ィスク・ドライバと同じドライブ・ユニット・ナンバー
    をプロテクト・モード・ディスク・ドライバによってア
    クセスされたデバイスに割当てるプロテクト・モード・
    デバイス・ドライバの、リアル・モード及びプロテクト
    ・モードで動作することができかつ少なくとも一つのデ
    バイスに接続されたコンピュータによって実行される、
    方法であって、 (a)固有のドライブ・ユニット・ナンバーをリアル・
    モード・ディスク・ドライバによってアクセスされたデ
    ィスク・ドライブに割当てるリアル・モード・ディスク
    ・ドライバと、 (b)前記ディスク・ドライブに存在している前記ディ
    スクを独自に識別するディスク情報を読取るべく、前記
    ステップ(a)で前記ドライブ・ユニット・ナンバーが
    割当てられたディスク・ドライブをアクセスするリアル
    ・モード・ディスク・ドライバと、 (c)前記ステップ(b)で前記ディスクから読み取ら
    れた前記ディスク情報に対応付けられたメモリ・ロケー
    ションのディスクを識別する前記ドライブ・ユニット・
    ナンバーを記憶し、 (d)前記ディスク・ドライブに存在している前記ディ
    スクから前記ディスク情報を読取るべく前記ディスク・
    ドライブをアクセスする前記プロテクト・モード・ディ
    スク・ドライバと、 (e)前記ステップ(d)で前記プロテクト・モード・
    ディスク・ドライバによって読み取られた前記ディスク
    情報に対応付けられた前記メモリ・ロケーションに前記
    ステップ(c)で記憶された前記ドライブ・ユニット・
    ナンバーを取得し、 (f)前記ステップ(e)で得られた前記ドライブ・ユ
    ニット・ナンバーを前記ステップ(d)の前記プロテク
    ト・モード・ディスク・ドライバによってアクセスされ
    た前記ディスク・ドライブに割当てるプロテクト・モー
    ド・ディスク・ドライバと、を具備する段階を備えてい
    ることを特徴とする方法。
  4. 【請求項4】 前記ステップ(b)は、前記ディスク情
    報として前記ディスクの所定のロケーションに記憶され
    た固有の値を読取り、前記ステップ(c)は、前記固有
    の値を有する前記ドライブ・ユニット・ナンバーを前記
    コンピュータに接続された各ディスク・ドライブに対す
    るエントリを有しているテーブル・データ構造の同じエ
    ントリに記憶することを含むことを特徴とする請求項3
    に記載の方法。
  5. 【請求項5】 (g)前記ディスクが前記所定のロケー
    ションに固有の値を記憶するかどうかを決定し、 (h)前記ディスクが前記所定のロケーションに固有の
    値を記憶しないと前記ステップ(g)で決定されるなら
    ば前記固有の値を前記所定のロケーションに書込む段階
    を更に具備することを特徴とする請求項4に記載の方
    法。
  6. 【請求項6】 前記ステップ(c)は、前記ドライブ・
    ユニット・ナンバーを前記ディスク情報の検査合計に対
    応付けられたメモリ・ロケーションに記憶することを含
    むことを特徴とする請求項3に記載の方法。
  7. 【請求項7】 (g)前記ディスクが所定のフォーマッ
    トを有するかどうかを決定する段階を更に具備し、 前記ステップ(c)は、 (i)前記ディスクが特定のロケーションに記憶された
    データの所定のフォーマットを有すると前記ステップ
    (g)で決定されるならば前記ドライブ・ユニット・ナ
    ンバーを前記ディスクの所定のロケーションから読み取
    られた固有の値に対応付けられたメモリ・ロケーション
    に記憶し、 (ii)前記ディスクが特定のロケーションに記憶され
    たデータの所定のフォーマットを有しないと前記ステッ
    プ(g)で決定されるならば前記ドライブ・ユニット・
    ナンバーを前記ディスク情報の検査合計に対応付けられ
    たメモリ・ロケーションに記憶する段階を具備すること
    を特徴とする請求項3に記載の方法。
  8. 【請求項8】 前記ステップ(c)は、 (iii)前記ドライブ・ユニット・ナンバーを、前記
    ディスクが所定のフォーマットを有するかどうかを示し
    ているフラグに対応付けられたメモリ・ロケーションに
    記憶する段階を更に具備し、 前記ステップ(e)は、 (i)前記フラグを読取り、 (ii)前記フラグが前記ディスクは前記所定のフォー
    マットを有することを示すならば前記固有の値に対応付
    けられた前記メモリ・ロケーションに記憶された前記ド
    ライブ・ユニット・ナンバーを取得し、 (iii)前記フラグが前記ディスクは前記所定のフォ
    ーマットを有しないことを示すならば前記検査合計に対
    応付けられた前記メモリ・ロケーションに記憶された前
    記ドライブ・ユニット・ナンバーを取得する段階を備え
    ていることを特徴とする請求項7に記載の方法。
  9. 【請求項9】 前記ディスクは、ブート時間で用いられ
    るマスター・ブート・レコードを含み、前記ディスク情
    報は、前記ディスクの前記マスター・ブート・レコード
    に記憶されることを特徴とする請求項3に記載の方法。
  10. 【請求項10】 同じ論理ボリュームへの同じ論理ボリ
    ューム割当てをアクセスするリアル・モード・ボリュー
    ム・ドライバと同じ基準値をプロテクト・モード・ボリ
    ューム・ドライバによってアクセスされたボリュームに
    割当てるプロテクト・モード・デバイス・ドライバの、
    リアル・モード及びプロテクト・モードで動作すること
    ができかつ少なくとも一つの論理ボリュームを包含して
    いるディスクを有している少なくとも一つのディスク・
    ドライブに接続されたコンピュータによって実行され
    る、方法であって、 (a)固有のボリューム・ユニット・ナンバーをリアル
    ・モード・ボリューム・ドライバによってアクセスされ
    たボリュームに割当てるリアル・モード・ボリューム・
    ドライバと、 (b)前記ボリュームを独自に識別するボリューム情報
    を読取るべく、前記ステップ(a)で前記ボリューム・
    ユニット・ナンバーが割当てられた前記論理ボリューム
    をアクセスするリアル・モード・ボリューム・ドライバ
    と、 (c)前記ステップ(b)で前記ディスクから読み取ら
    れた前記ボリューム情報に対応付けられたメモリ・ロケ
    ーションに前記ステップ(a)で前記リアル・モード・
    ボリューム・ドライバによって前記論理ボリュームに割
    当てられた前記ボリューム・ユニット・ナンバーを記憶
    し、 (d)前記ボリューム情報を読取るべく前記ボリューム
    をアクセスする前記プロテクト・モード・ボリューム・
    ドライバと、 (e)前記ステップ(d)で前記プロテクト・モード・
    ボリューム・ドライバによって読み取られた前記ボリュ
    ーム情報に対応付けられた前記メモリ・ロケーションに
    前記ステップ(c)で記憶された前記ボリューム・ユニ
    ット・ナンバーを取得し、 (f)前記ステップ(e)で得られた前記ボリューム・
    ユニット・ナンバーを前記ステップ(d)の前記プロテ
    クト・モード・ボリューム・ドライバによってアクセス
    された前記ディスクに割当てるプロテクト・モード・ボ
    リューム・ドライバと、を具備する段階を備えているこ
    とを特徴とする方法。
  11. 【請求項11】 前記ステップ(b)は、前記ボリュー
    ム情報として前記論理ボリュームの所定のロケーション
    に記憶されたボリューム通し番号を読取り、前記ステッ
    プ(c)は、前記ボリューム通し番号を有する前記コン
    ピュータに接続された各ディスク・ドライブの前記ディ
    スクの各ボリュームに対するエントリを有しているテー
    ブル・データ構造の同じエントリに前記ボリューム・ユ
    ニット・ナンバーを記憶することを含むことを特徴とす
    る請求項10に記載の方法。
  12. 【請求項12】 前記ボリュームは、ボリューム・ブー
    ト・レコードを含み、前記ボリューム情報は、前記ボリ
    ューム・ブート・レコードに記憶されることを特徴とす
    る請求項10に記載の方法。
  13. 【請求項13】 アダプタに接続された一つ以上の周辺
    装置をアクセスするために同じアダプタを制御している
    リアル・モード・アダプタ・ドライバと同じ基準値をプ
    ロテクト・モード・アダプタ・ドライバによって制御さ
    れたアダプタに割当てるプロテクト・モード・アダプタ
    ・ドライバの、リアル・モード及びプロテクト・モード
    で動作することができかつ少なくとも一つの周辺装置に
    接続される少なくとも一つのアダプタに接続されたコン
    ピュータによって実行される、方法であって、 (a)固有のアダプタ・ナンバーをリアル・モード・デ
    バイス・ドライバに割当てるリアル・モード・アダプタ
    ・ドライバと、 (b)前記周辺装置を独自に識別する周辺装置情報を、
    前記ステップ(a)で前記アダプタ・ナンバーが割当て
    られたアダプタを介して周辺装置から、走査するリアル
    ・モード・アダプタ・ドライバと、 (c)前記ステップ(b)で前記周辺装置から読み取ら
    れた前記周辺装置情報に対応付けられたメモリ・ロケー
    ションに前記アダプタに割当てられた前記アダプタ・ナ
    ンバーを記憶し、 (d)前記周辺装置情報を走査すべく前記周辺装置をア
    クセスするために前記アダプタを制御する前記プロテク
    ト・モード・アダプタ・ドライバと、 (e)前記ステップ(d)で前記プロテクト・モード・
    アダプタ・ドライバによって走査された前記周辺装置情
    報に対応付けられた前記メモリ・ロケーションに前記ス
    テップ(c)で記憶された前記アダプタ・ナンバーを取
    得し、 (f)前記ステップ(e)で得られた前記アダプタ・ナ
    ンバーを前記ステップ(d)の前記プロテクト・モード
    ・アダプタ・ドライバによって制御された前記アダプタ
    に割当てるプロテクト・モード・アダプタ・ドライバ
    と、を具備する段階を備えていることを特徴とする方
    法。
  14. 【請求項14】 前記ステップ(b)は、前記周辺装置
    情報として前記周辺装置を識別するターゲットIDを走
    査し、 前記ステップ(c)は、前記ターゲットIDを有する前
    記アダプタ・ナンバーを同じデータ構造に記憶すること
    を含むことを特徴とする請求項13に記載の方法。
  15. 【請求項15】 前記ステップ(b)は、前記ディスク
    の所定のロケーションに記憶された、論理・ユニット・
    ナンバーを前記周辺装置情報として走査し、 前記ステップ(c)は、前記アダプタ・ナンバーを前記
    論理・ユニット・ナンバーと一緒に同じデータ構造に記
    憶することを含むことを特徴とする請求項13に記載の
    方法。
  16. 【請求項16】 前記ステップ(c)は、前記アダプタ
    ・ナンバーを前記周辺装置情報の検査合計と一緒に同じ
    データ構造に記憶することを含むことを特徴とする請求
    項13に記載の方法。
  17. 【請求項17】 前記ステップ(c)は、前記リアル・
    モード周辺ドライバがアプリケーション・プログラム要
    求が第2のリアル・モード周辺ドライバにマップされる
    第1のリアル・モード周辺ドライバであるならば、前記
    アダプタ・ナンバー及び前記周辺装置情報を該第2のリ
    アル・モード周辺ドライバのドライバ形式に対応付けら
    れたメモリ・ロケーションに記憶することを含むことを
    特徴とする請求項13に記載の方法。
  18. 【請求項18】 前記ステップ(c)は、 (i)次のアダプタ・データ構造へのポインタ及び一つ
    以上のリアル・モード・周辺データ構造のリンクされた
    リストへのポインタを有している一つ以上のリアル・モ
    ード・アダプタ・データ構造を供給し、 前記周辺装置に対応しているリアル・モード周辺データ
    構造の前記アダプタ・ナンバーによって識別されかつ前
    記周辺装置が接続される前記アダプタに対応しているリ
    アル・モード・アダプタ・データ構造によって指された
    各アダプタを介して読み取られた各周辺装置に対する前
    記周辺装置情報を記憶することを含むことを特徴とする
    請求項13に記載の方法。
  19. 【請求項19】 前記ステップ(e)は、 (i)前記周辺装置情報が一致するかどうかを決定すべ
    く、各プロテクト・モード周辺データ構造の前記周辺装
    置情報を各リアル・モード周辺データ構造の前記周辺装
    置情報と比較し、 (ii)各プロテクト・モード周辺データ構造の前記周
    辺装置情報と一致する前記周辺装置情報を有しているリ
    アル・モード周辺データ構造から前記アダプタ・ナンバ
    ーを抽出する段階を具備し、 前記ステップ(f)は、前記ステップ(e)で抽出され
    た前記アダプタ・ナンバーを前記プロテクト・モード・
    データ構造に対応している前記周辺装置に接続された前
    記アダプタに割当てる前記プロテクト・モード・データ
    構造に対応している前記周辺装置に接続された前記アダ
    プタを制御する前記プロテクト・モード・アダプタ・ド
    ライバを含むことを特徴とする請求項18に記載の方
    法。
  20. 【請求項20】 前記ステップ(c)は、前記第1の周
    辺ドライバが前記ステップ(b)で実行された読取りを
    前記第2のリアル・モード周辺ドライバにマップすると
    きに前記周辺装置情報が前記ステップ(b)で読み取ら
    れたことを通して前記第2のリアル・モード周辺ドライ
    バの前記ドライブ形式に対応付けられたメモリ・ロケー
    ションに前記周辺装置情報を記憶することを含み、 前記ステップ(f)は、 (i)プロテクト・モード・アダプタ・ドライバと同じ
    周辺装置情報を有すべく前記ステップ(e)で二つのリ
    アル・モード・アダプタ・ドライバが決定されたかどう
    かを決定し、 (ii)二つのリアル・モード・アダプタ・ドライバが
    同じ周辺装置情報を有すると前記ステップ(i)で決定
    されるならば、前記アダプタ・ナンバーを前記リアル・
    モード周辺データ構造の一つによって示された前記ドラ
    イバ形式を有している前記プロテクト・モード周辺ドラ
    イバに割当てる前記プロテクト・モード・アダプタ・ド
    ライバを含んでいることを特徴とする請求項17に記載
    の方法。
  21. 【請求項21】 コンピュータによって実行され、リア
    ル・モード機能ドライバの代わりにプロテクト・モード
    機能ドライバを実行すべきかどうかを決定する方法であ
    って、 (a)対応しているリアル・モード機能ドライバの代わ
    りに実行可能であるとして一つ以上のプロテクト・モー
    ド機能ドライバのそれぞれを指定し、 (b)前記コンピュータの前記リアル・モード機能ドラ
    イバを検出し、 (c)前記ステップ(a)で前記プロテクト・モード機
    能ドライバの一つが前記検出されたリアル・モード機能
    ドライバの代わりに実行可能であると指定されたかどう
    かを決定し、 (d)前記プロテクト・モード機能ドライバが前記リア
    ル・モード機能ドライバの代わりに実行可能であると指
    定されたことが決定されるときに前記検出されたリアル
    ・モード機能ドライバの代わりに前記プロテクト・モー
    ド機能ドライバを実行する段階を具備することを特徴と
    する方法。
  22. 【請求項22】 前記ステップ(b)は、 (i)リアル・モード・デバイス・ドライバがロードさ
    れたときに当該リアル・モード・デバイス・ドライバを
    アクセスするために初めに指定された該リアル・モード
    ・デバイス・ドライバを識別するオリジナル・リアル・
    モード・デバイス・ドライバ情報を記憶し、 (ii)前記デバイスを同時にアクセスするリアル・モ
    ード・デバイス・ドライバを識別する現行リアル・モー
    ド・デバイス・ドライバ情報を記憶し、 (iii)前記オリジナル・リアル・モード・デバイス
    ・ドライバ情報を前記現行リアル・モード・デバイス・
    ドライバ情報と比較し、 (iv)前記デバイスがアクセスされるときにリアル・
    モード機能ドライバが実行されることを、前記オリジナ
    ル・リアル・モード・デバイス・ドライバ情報が前記現
    行リアル・モード・デバイス・ドライバ情報と同じでな
    いときに、決定する段階を含むことを特徴とする請求項
    21に記載の方法。
  23. 【請求項23】 前記ステップ(a)は、それぞれがリ
    アル・モード機能ドライバの機能を供給するプロテクト
    ・モード機能ドライバのネームで記憶されたネームを有
    している対応しているリアル・モード・ドライバの機能
    を供給する、一つ以上のプロテクト・モード機能ドライ
    バのネームのリストに前記プロテクト・モード機能ドラ
    イバのネームを記憶し、 前記ステップ(c)は、前記プロテクト・モード機能ド
    ライバの前記ネームが前記検出されたリアル・モード・
    ドライバの前記ネームで前記リストに記憶されるかどう
    かを決定することを含むことを特徴とする請求項21に
    記載の方法。
  24. 【請求項24】 (e)前記デバイスをアクセスするた
    めの前記検出されたリアル・モード機能ドライバに対す
    るリアル・モード・デバイス・ドライバ要求をプロテク
    ト・モードで該デバイスをアクセスするプロテクト・モ
    ード・デバイス・ドライバにマッピングする間に、該検
    出されたリアル・モード機能ドライバを、プロテクト・
    モード機能ドライバが前記検出されたリアル・モード機
    能ドライバの代わりに実行可能であると指定されたこと
    が決定されるならば、実行する段階を更に含むことを特
    徴とする請求項21に記載の方法。
  25. 【請求項25】 前記ステップ(e)は、 (i)前記検出されたリアル・モード機能ドライバがリ
    アル・モード・アダプタ・ドライバを介して前記デバイ
    スへのアクセスを要求するかどうかを決定し、 (ii)プロテクト・モード・アダプタ・ドライバに前
    記要求を、前記検出されたリアル・モード機能ドライバ
    がリアル・モード・アダプタ・ドライバを介して前記デ
    バイスへのアクセスを要求することが前記ステップ
    (i)で決定されるときに、マッピングする段階を含む
    ことを特徴とする請求項24に記載の方法。
  26. 【請求項26】 前記ステップ(e)は、 (i)前記検出されたリアル・モード機能ドライバは、
    リアル・モード物理ディスク・ドライバを介して前記デ
    バイスへのアクセスを要求するかどうかを決定し、 (ii)プロテクト・モード物理ディスク・ドライバに
    前記要求を、前記検出されたリアル・モード機能ドライ
    バが該リアル・モード物理ディスク・ドライバを介して
    前記デバイスへのアクセスを要求することが決定される
    ときに、マッピングする段階を含むことを特徴とする請
    求項24に記載の方法。
  27. 【請求項27】 一つ以上のデバイスに接続されかつプ
    ロセッサ及びメモリを有するコンピュータを有している
    コンピュータ・システムであって、 前記メモリに記憶されかつ前記プロセッサによって実行
    され、リアル・モード・デバイス・ドライバがアクセス
    するデバイスに基準値を割当てる、リアル・モード・デ
    バイス・ドライバと、 前記メモリに記憶されかつ前記プロセッサによって実行
    されるプロテクト・モード・デバイス・ドライバと、 前記リアル・モード・デバイス・ドライバが同じデバイ
    スに割当てるのと同じ基準値を前記プロテクト・モード
    ・デバイス・ドライバがアクセスする前記デバイスに割
    当てる前記プロテクト・モード・デバイス・ドライバの
    ための手段とを備えていることを特徴とするコンピュー
    タ・システム。
  28. 【請求項28】 前記デバイスは、物理ディスクがある
    ディスク・ドライバを含み、前記リアル・モード・デバ
    イス・ドライバは、リアル・モードで該物理ディスクを
    アクセスすべく該ディスク・ドライバを制御するリアル
    ・モード・ディスク・ドライバであり、前記プロテクト
    ・モード・デバイス・ドライバは、プロテクト・モード
    で該物理ディスクをアクセスすべく該ディスク・ドライ
    バを制御するプロテクト・モード・ディスク・ドライバ
    であり、 前記同じ基準値を割当てる前記プロテクト・モード・デ
    バイス・ドライバのための手段は、前記同じ物理ディス
    クをアクセスする前記リアル・モード・ディスク・ドラ
    イバとして同じドライブ・ユニット・ナンバーを前記デ
    ィスク・ドライブに割当てる前記プロテクト・モード・
    ディスク・ドライバを含むことを特徴とする請求項27
    に記載のコンピュータ・システム。
  29. 【請求項29】 前記同じ基準値を割当てる前記プロテ
    クト・モード・デバイス・ドライバのための手段は、 前記リアル・モード・ディスク・ドライバによってアク
    セスされた前記物理ディスクに記憶された固有の値を包
    含しかつ該リアル・モード・ディスク・ドライバによっ
    て予め割当てられたドライブ・ユニット・ナンバーを包
    含しているエントリであり、各リアル・モード・ディス
    ク・ドライバに対する該エントリを有しているドライブ
    ・テーブルと、 前記エントリにも包含された前記固有の値を記憶する前
    記物理ディスクに、該エントリに包含された前記基準値
    を割当てる前記プロテクト・モード・ディスク・ドライ
    バのための手段とを備えていることを特徴とする請求項
    28に記載のコンピュータ・システム。
  30. 【請求項30】 前記デバイスは、論理ボリュームがあ
    るディスク・ドライバを含み、前記リアル・モード・デ
    バイス・ドライバは、リアル・モードで該論理ボリュー
    ムをアクセスすべく該ディスク・ドライバを制御するリ
    アル・モード・ボリューム・ドライバであり、前記プロ
    テクト・モード・デバイス・ドライバは、プロテクト・
    モードで該論理ボリュームをアクセスすべく該ディスク
    ・ドライバを制御するプロテクト・モード・ボリューム
    ・ドライバであり、 前記同じ基準値を割当てる前記プロテクト・モード・デ
    バイス・ドライバのための手段は、前記同じ論理ボリュ
    ームをアクセスする前記リアル・モード・ボリューム・
    ドライバとして同じボリューム・ユニット・ナンバーを
    前記ボリュームに割当てる前記プロテクト・モード・デ
    ィスク・ドライバを含むことを特徴とする請求項27に
    記載のコンピュータ・システム。
  31. 【請求項31】 前記同じ基準値を割当てる前記プロテ
    クト・モード・デバイス・ドライバのための手段は、 前記リアル・モード・ボリューム・ドライバによってア
    クセスされた前記論理ボリュームに記憶された固有の値
    を包含しかつ該リアル・モード・ボリューム・ドライバ
    によって予め割当てられたボリューム・ユニット・ナン
    バーを包含しているエントリであり、各リアル・モード
    ・ボリューム・ドライバに対する該エントリを有してい
    るドライブ・テーブルと、 前記エントリにも包含された前記固有の値を記憶する前
    記論理ボリュームに、該エントリに包含された前記基準
    値を割当てる前記プロテクト・モード・ボリューム・ド
    ライバのための手段とを備えていることを特徴とする請
    求項30に記載のコンピュータ・システム。
  32. 【請求項32】 前記デバイスは、一つ以上の周辺装置
    が装着されたアダプタを含み、前記リアル・モード・デ
    バイス・ドライバは、リアル・モードで該周辺装置をア
    クセスすべく該アダプタを制御するリアル・モード・ア
    ダプタ・ドライバであり、前記プロテクト・モード・デ
    バイス・ドライバは、プロテクト・モードで該周辺装置
    をアクセスすべく該アダプタを制御するプロテクト・モ
    ード・アダプタ・ドライバであり、 前記同じ基準値を割当てる前記プロテクト・モード・ア
    ダプタ・ドライバのための手段は、前記同じ周辺装置を
    アクセスすべく前記同じアダプタを制御する前記リアル
    ・モード・アダプタ・ドライバとして同じアダプタ・ナ
    ンバーを前記アダプタに割当てる前記プロテクト・モー
    ド・アダプタ・ドライバを含むことを特徴とする請求項
    27に記載のコンピュータ・システム。
  33. 【請求項33】 前記同じアダプタ・ナンバーを割当て
    る前記プロテクト・モード・アダプタ・ドライバのため
    の手段は、 前記リアル・モード・アダプタ・ドライバによって予め
    割当てられたアダプタ・ナンバーを有する前記リアル・
    モード・アダプタ・ドライバによって制御された前記ア
    ダプタに接続された前記周辺装置から走査された固有の
    周辺情報を、前記リアル・モード・データ構造が供給さ
    れる前記リアル・モード・アダプタ・ドライバによって
    制御された前記アダプタに装着された各周辺装置に対し
    て、関連付けるリアル・モード・データ構造であり、各
    リアル・モード・アダプタ・ドライバに対して供給され
    た該リアル・モード・データ構造と、 前記固有の周辺情報が走査される周辺装置をアクセスす
    る前記アダプタに、該固有の周辺情報に対応付けられた
    前記アダプタ・ナンバーを割当てる前記プロテクト・モ
    ード・アダプタ・ドライバのための手段とを備えている
    ことを特徴とする請求項30に記載のコンピュータ・シ
    ステム。
  34. 【請求項34】 一つ以上のデバイスに接続されかつプ
    ロセッサ及びメモリを有するコンピュータを有している
    コンピュータ・システムであって、 前記デバイスの一つへのアクセスを制御すべく前記プロ
    セッサによって実行されかつ前記メモリに記憶されるリ
    アル・モード・デバイス・ドライバと、 前記メモリに記憶されるリアル・モード機能ドライバ
    と、 前記デバイスの一つへのアクセスを制御すべく前記プロ
    セッサによって実行されかつ前記メモリに記憶されるプ
    ロテクト・モード・デバイス・ドライバと、 前記コンピュータ・システムが、前記リアル・モード機
    能ドライバの代わりに実行可能であると指定されたプロ
    テクト・モード機能ドライバを更に含むかどうかを決定
    する手段と、 前記リアル・モード機能ドライバの実行が要求されると
    きに前記決定されたプロテクト・モード機能ドライバ
    を、前記プロテクト・モード機能ドライバが該リアル・
    モード機能ドライバの代わりに実行可能であると指定さ
    れたときに、実行する手段とを備えていることを特徴と
    するコンピュータ・システム。
  35. 【請求項35】 同じデバイスをアクセスするプロテク
    ト・モード・デバイス・ドライバにリアル・モード・デ
    バイス・ドライバを介して該デバイスをアクセスすべく
    該リアル・モード機能ドライバによって要求をマッピン
    グする間に前記リアル・モード機能ドライバを、プロテ
    クト・モード機能ドライバが該リアル・モード機能ドラ
    イバの代わりに実行可能である指定されなかったとき
    に、実行する手段を更に含むことを特徴とする請求項3
    4に記載のコンピュータ・システム。
  36. 【請求項36】 前記プロテクト・モード・オペレーテ
    ィング・システムが前記リアル・モード機能ドライバの
    代わりに実行可能であると指定されたプロテクト・モー
    ド機能ドライバを更に含むかどうかを決定する手段は、
    前記リアル・モード機能ドライバを同じ機能を供給する
    プロテクト・モード機能ドライバと関連付けるデータ構
    造を含むことを特徴とする請求項34に記載のコンピュ
    ータ・システム。
JP00840195A 1994-01-21 1995-01-23 プロテクト・モード・デバイス・ドライバを供給する方法及び装置 Expired - Fee Related JP3256100B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/184,668 US5604887A (en) 1994-01-21 1994-01-21 Method and system using dedicated location to share information between real and protected mode device drivers
US08/184668 1994-01-21

Publications (2)

Publication Number Publication Date
JPH07244628A true JPH07244628A (ja) 1995-09-19
JP3256100B2 JP3256100B2 (ja) 2002-02-12

Family

ID=22677860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00840195A Expired - Fee Related JP3256100B2 (ja) 1994-01-21 1995-01-23 プロテクト・モード・デバイス・ドライバを供給する方法及び装置

Country Status (5)

Country Link
US (2) US5604887A (ja)
EP (2) EP1526441A1 (ja)
JP (1) JP3256100B2 (ja)
CA (1) CA2140165C (ja)
DE (1) DE69534867T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174307A (ja) * 2003-12-12 2005-06-30 Microsoft Corp 実際のハードウェアベースのデバイスおよび理想化されたハードウェアベースのデバイスにおけるバイモーダルデバイス仮想化のためのシステムおよび方法
JP2005258493A (ja) * 2004-03-09 2005-09-22 Buffalo Inc 外部記憶装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2734391B2 (ja) * 1995-01-18 1998-03-30 日本電気株式会社 不揮発性メモリのファイル管理装置
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
US7720672B1 (en) 1995-12-29 2010-05-18 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US5966543A (en) * 1997-06-26 1999-10-12 International Business Machines Corporation Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system
US6047124A (en) * 1997-10-31 2000-04-04 Sun Microsystems, Inc. System and method for tracing device drivers using a computer
JP3882321B2 (ja) * 1998-03-13 2007-02-14 株式会社日立製作所 オペレーティングシステムのモジュールプログラムを備えた計算機
US6360282B1 (en) 1998-03-25 2002-03-19 Network Appliance, Inc. Protected control of devices by user applications in multiprogramming environments
US6836885B1 (en) * 1998-09-21 2004-12-28 Wyse Technology Inc. Method and apparatus for display of windowing application programs on a terminal
US6470434B1 (en) * 1998-11-24 2002-10-22 Dell Usa, L.P. Computer system and method for accessing a computer-readable medium
US6314482B1 (en) * 1999-03-19 2001-11-06 International Business Machines Corporation Method and system for indexing adapters within a data processing system
US6820265B1 (en) * 1999-06-29 2004-11-16 Rare Limited System method and data storage medium for sharing data between video games
AU7583000A (en) * 1999-09-21 2001-04-24 Wyse Technology, Inc. Displaying windowing application programs on a terminal
US6636871B1 (en) 2000-07-13 2003-10-21 International Business Machines Corporation Control of multiple layer aggregation logical volume management data and boot record
US6711591B1 (en) 2000-07-13 2004-03-23 International Business Machines Corporation Top-down control of multiple layer aggregation logical volume management data and boot record
US6725294B1 (en) * 2001-02-20 2004-04-20 Lsi Logic Corporation Installation and access of a device handler for a peripheral device in a computer
US7552309B2 (en) * 2005-05-06 2009-06-23 International Business Machines Corporation Data storage methods for hierarchical copies
US7376968B2 (en) * 2003-11-20 2008-05-20 Microsoft Corporation BIOS integrated encryption
US20060005190A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for implementing an operating system in a virtual machine environment
US7554682B2 (en) * 2004-12-28 2009-06-30 Microsoft Corporation Printer filter configuration
JP4945186B2 (ja) * 2006-07-28 2012-06-06 株式会社東芝 記憶装置およびこれを含むメモリシステム
US8028136B2 (en) 2007-03-09 2011-09-27 International Business Machines Corporation Retaining disk identification in operating system environment after a hardware-driven snapshot restore from a snapshot-LUN created using software-driven snapshot architecture
US20090259771A1 (en) * 2008-04-09 2009-10-15 Tanik Haluk K Identification of memory cards by host
US20110047614A1 (en) * 2009-08-19 2011-02-24 Chi-Feng Huang Permission management system for data accessing and method thereof
US9454676B2 (en) * 2014-06-27 2016-09-27 Intel Corporation Technologies for preventing hook-skipping attacks using processor virtualization features
US10203897B1 (en) * 2016-12-02 2019-02-12 Nutanix, Inc. Dynamic data compression
US10949537B2 (en) * 2017-12-01 2021-03-16 Stmicroelectronics, Inc. Secure firmware provisioning and device binding mechanism

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799145A (en) * 1985-04-03 1989-01-17 Honeywell Bull Inc. Facility for passing data used by one operating system to a replacement operating system
US5027273A (en) * 1985-04-10 1991-06-25 Microsoft Corporation Method and operating system for executing programs in a multi-mode microprocessor
JPS6226535A (ja) * 1985-07-22 1987-02-04 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション プログラム内の変換テ−ブルの修正方法
US4928237A (en) * 1987-03-27 1990-05-22 International Business Machines Corp. Computer system having mode independent addressing
CA2010591C (en) * 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
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
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
US5386524A (en) * 1992-04-16 1995-01-31 Digital Equipment Corporation System for accessing information in a data processing system
US5481709A (en) * 1992-06-22 1996-01-02 International Business Machines Corporation Method and apparatus for providing a modular ABIOS device support layer in a computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174307A (ja) * 2003-12-12 2005-06-30 Microsoft Corp 実際のハードウェアベースのデバイスおよび理想化されたハードウェアベースのデバイスにおけるバイモーダルデバイス仮想化のためのシステムおよび方法
JP4610307B2 (ja) * 2003-12-12 2011-01-12 マイクロソフト コーポレーション 実際のハードウェアベースのデバイスおよび理想化されたハードウェアベースのデバイスにおけるバイモーダルデバイス仮想化のためのシステムおよび方法
JP2005258493A (ja) * 2004-03-09 2005-09-22 Buffalo Inc 外部記憶装置

Also Published As

Publication number Publication date
CA2140165A1 (en) 1995-07-22
JP3256100B2 (ja) 2002-02-12
DE69534867D1 (de) 2006-05-11
EP0664507A3 (en) 2001-11-28
EP1526441A1 (en) 2005-04-27
US5796988A (en) 1998-08-18
EP0664507A2 (en) 1995-07-26
DE69534867T2 (de) 2006-08-17
CA2140165C (en) 2000-12-19
EP0664507B1 (en) 2006-03-15
US5604887A (en) 1997-02-18

Similar Documents

Publication Publication Date Title
JP3256100B2 (ja) プロテクト・モード・デバイス・ドライバを供給する方法及び装置
US5761680A (en) Coherent film system access during defragmentation operations on a storage medium
US7519806B2 (en) Virtual partition for recording and restoring computer data files
US5701477A (en) Method and apparatus for master boot record shadowing
CA2059921C (en) Scsi device drivers for multitasking operating system
US5022077A (en) Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
US5247683A (en) System and method for installing software and updating configuration files
US5754821A (en) Method and system for providing access to a protected partition of a memory device utilizing a passthru command
US6192471B1 (en) Operating system independent system for running utility programs in a defined environment
US7822961B2 (en) Semi-persistent relocatable ram-based virtual floppy disk method
EP0288606B1 (en) Computer system employing a cpu having two mutually incompatible addressing modes
US5933631A (en) Dynamic boot filesystem selection
EP1378830B1 (en) Operating system selector and data storage drive
EP1876528A2 (en) Controlling memory access in a multi-booting system
US6934956B1 (en) Method and apparatus for installing an operating system
US20040003135A1 (en) Technique for driver installation
WO1992007319A1 (en) System for multiple access hard disk partitioning
WO2000019314A9 (en) Method and device for booting a cd-rom from a single disk image having multiple emulations
IE980481A1 (en) Modifiable Partition Boot Record for a Computer Memory Device
WO2006040758A2 (en) Adaptive booting from mass storage device
US7299345B2 (en) Reserved ROM space for storage of operating system drivers
CA2300626C (en) Method and system for providing protected mode device drivers
US6314482B1 (en) Method and system for indexing adapters within a data processing system
JP2664168B2 (ja) 情報処理装置の起動方法
JPH05120194A (ja) フアイル保護方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011022

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071130

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081130

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091130

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091130

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111130

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121130

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees