JPH11296375A - デバイスドライバプログラムの自動選択方法 - Google Patents
デバイスドライバプログラムの自動選択方法Info
- Publication number
- JPH11296375A JPH11296375A JP10095695A JP9569598A JPH11296375A JP H11296375 A JPH11296375 A JP H11296375A JP 10095695 A JP10095695 A JP 10095695A JP 9569598 A JP9569598 A JP 9569598A JP H11296375 A JPH11296375 A JP H11296375A
- Authority
- JP
- Japan
- Prior art keywords
- driver program
- name
- character string
- file
- device identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】コンピュータに接続されたデバイスに対応する
ドライバプログラムを、自動的にファイルから選択して
メモリーへロードし、デバイスを初期化することを目的
とする。 【解決手段】ドライバプログラムが格納されたファイル
名称をデバイスハードウェアが持つデバイス識別子と同
じ文字列とすることで、OSがロードすべきドライバプ
ログラムのファイル名称を自動的に選択でき、同様に、
ドライバ内部のデバイス初期化ルーチン名称を、デバイ
ス識別子と同じ文字列とすることで、OSが呼び出すべ
きデバイス初期化ルーチン名称を自動的に選択できる。
ドライバプログラムを、自動的にファイルから選択して
メモリーへロードし、デバイスを初期化することを目的
とする。 【解決手段】ドライバプログラムが格納されたファイル
名称をデバイスハードウェアが持つデバイス識別子と同
じ文字列とすることで、OSがロードすべきドライバプ
ログラムのファイル名称を自動的に選択でき、同様に、
ドライバ内部のデバイス初期化ルーチン名称を、デバイ
ス識別子と同じ文字列とすることで、OSが呼び出すべ
きデバイス初期化ルーチン名称を自動的に選択できる。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータに接
続されたデバイスに対応するドライバプログラムを自動
的にファイルから選択してメモリーへロードし、デバイ
スを初期化するプラグアンドプレイを実現する方法に関
する。
続されたデバイスに対応するドライバプログラムを自動
的にファイルから選択してメモリーへロードし、デバイ
スを初期化するプラグアンドプレイを実現する方法に関
する。
【0002】
【従来の技術】システムファイルに組み込んだ全てのド
ライバプログラムを、システム起動時に無条件にメモリ
ーにロードする方法があったが、メモリー容量が限られ
ているシステムではメモリー不足になり問題があった。
ライバプログラムを、システム起動時に無条件にメモリ
ーにロードする方法があったが、メモリー容量が限られ
ているシステムではメモリー不足になり問題があった。
【0003】次に、実際に接続されたデバイスに対応し
てメモリーにロードすべきドライバプログラムの選択を
ユーザが手動で行う方法があったが、ユーザの負担が大
きく、操作ミスなどで正しく動作しない問題があった。
てメモリーにロードすべきドライバプログラムの選択を
ユーザが手動で行う方法があったが、ユーザの負担が大
きく、操作ミスなどで正しく動作しない問題があった。
【0004】次に、ドライバプログラムの選択を自動化
するために、例えば特開平4−92947号公報、及び
特開平6−332635号公報では、プリンタ装置とホ
ストコンピュータの間で制御情報を送受信し、適切なプ
リンタドライバの選択を行っている。しかし、これらの
発明はプリンタの制御情報を解析しているため、プリン
タ以外の装置にはそのまま適用できないし、新たな制御
情報を持つ装置を追加する場合には、自動選択のプログ
ラムも修正しなければならない。
するために、例えば特開平4−92947号公報、及び
特開平6−332635号公報では、プリンタ装置とホ
ストコンピュータの間で制御情報を送受信し、適切なプ
リンタドライバの選択を行っている。しかし、これらの
発明はプリンタの制御情報を解析しているため、プリン
タ以外の装置にはそのまま適用できないし、新たな制御
情報を持つ装置を追加する場合には、自動選択のプログ
ラムも修正しなければならない。
【0005】
【発明が解決しようとする課題】オペレーティングシス
テム(以下、OSと呼ぶ)が、接続デバイスの制御情報
を入力してデバイスの種類を特定し、そのデバイスに対
応するドライバプログラムをロードしてデバイスを初期
化するOSの処理コーディングにおいて、ドライバプロ
グラムを格納したファイル名称とそのドライバ内部のデ
バイス初期化ルーチン名称をOSの処理コーディングに
記述すると、新しい種類のデバイス(及びそのデバイス
ドライバプログラム)を開発する度に、OSの処理を修
正しなければならない問題があった。
テム(以下、OSと呼ぶ)が、接続デバイスの制御情報
を入力してデバイスの種類を特定し、そのデバイスに対
応するドライバプログラムをロードしてデバイスを初期
化するOSの処理コーディングにおいて、ドライバプロ
グラムを格納したファイル名称とそのドライバ内部のデ
バイス初期化ルーチン名称をOSの処理コーディングに
記述すると、新しい種類のデバイス(及びそのデバイス
ドライバプログラム)を開発する度に、OSの処理を修
正しなければならない問題があった。
【0006】
【課題を解決するための手段】ドライバプログラムのフ
ァイル名称とデバイス初期化ルーチン名称を、デバイス
ハードウェアが持つデバイス識別子と同じ文字列とする
ことで、OSが実際に接続されたデバイスに対応してロ
ードすべきドライバプログラムのファイル名称と呼び出
すべきデバイス初期化ルーチン名称を自動的に選択可能
とする。
ァイル名称とデバイス初期化ルーチン名称を、デバイス
ハードウェアが持つデバイス識別子と同じ文字列とする
ことで、OSが実際に接続されたデバイスに対応してロ
ードすべきドライバプログラムのファイル名称と呼び出
すべきデバイス初期化ルーチン名称を自動的に選択可能
とする。
【0007】デバイスハードウェアには、その種類毎に
固有のデバイス識別子を持たせる。
固有のデバイス識別子を持たせる。
【0008】あるデバイスに対応するドライバプログラ
ムは、そのデバイス識別子を文字列化した名称と同じ名
称のデバイス初期化ルーチンを持たせ、かつそのデバイ
ス識別子を文字列化した名称と同じ名称のファイルに格
納する。
ムは、そのデバイス識別子を文字列化した名称と同じ名
称のデバイス初期化ルーチンを持たせ、かつそのデバイ
ス識別子を文字列化した名称と同じ名称のファイルに格
納する。
【0009】OSは、システム起動時に、中央処理装置
(以下、CPUと呼ぶ)とデバイスを接続するバスの手
順に従って、バスに接続されているデバイスのデバイス
識別子を求め、その値を文字列に変換する。
(以下、CPUと呼ぶ)とデバイスを接続するバスの手
順に従って、バスに接続されているデバイスのデバイス
識別子を求め、その値を文字列に変換する。
【0010】OSは、変換した文字列と同じ名称のプロ
グラムファイルからドライバプログラムを読み込み、メ
モリーにロードする。
グラムファイルからドライバプログラムを読み込み、メ
モリーにロードする。
【0011】OSは、変換した文字列と同じ名称のデバ
イス初期化ルーチン名称をシンボルテーブル(プログラ
ムコンパイル時に生成するテーブルで、プログラム内部
のルーチン及び変数名称とメモリーアドレスとの対応
表)から検索し、求めたアドレスに制御を渡すことで、
デバイス初期化ルーチンを呼び出す。
イス初期化ルーチン名称をシンボルテーブル(プログラ
ムコンパイル時に生成するテーブルで、プログラム内部
のルーチン及び変数名称とメモリーアドレスとの対応
表)から検索し、求めたアドレスに制御を渡すことで、
デバイス初期化ルーチンを呼び出す。
【0012】OSは、バスに接続されているデバイスの
数だけ、以上のロード処理と初期化ルーチン呼び出し処
理を繰り返す。
数だけ、以上のロード処理と初期化ルーチン呼び出し処
理を繰り返す。
【0013】
【発明の実施の形態】図1は、複数種類のデバイスを接
続できるコンピュータの構成例を示す。図1において、
1は中央処理装置(CPU)及び主記憶装置(メモリ
ー)、2は周辺装置であるデバイス、3はCPUとデバ
イスを接続するバス、4は各デバイスに対応するドライ
バプログラムの格納ファイルであり、そのファイル名称
はデバイス識別子と同じ文字列である。
続できるコンピュータの構成例を示す。図1において、
1は中央処理装置(CPU)及び主記憶装置(メモリ
ー)、2は周辺装置であるデバイス、3はCPUとデバ
イスを接続するバス、4は各デバイスに対応するドライ
バプログラムの格納ファイルであり、そのファイル名称
はデバイス識別子と同じ文字列である。
【0014】図2は、ドライバプログラム内のルーチン
構造を示す。ドライバプログラムには、デバイス初期化
ルーチンを含み、そのルーチン名称はデバイス識別子と
同じ文字列である。
構造を示す。ドライバプログラムには、デバイス初期化
ルーチンを含み、そのルーチン名称はデバイス識別子と
同じ文字列である。
【0015】図3は、OSのシステム起動時の処理フロ
ーである。OSは、電源投入やリセットボタン押下など
によるシステム起動時に、CPUとデバイスを接続する
バスの手順に従ってバスに接続されているデバイスのデ
バイス識別子を求める。(例えば、PCIバスの場合
は、PCIコンフィグレーションサイクルを実行して、
デバイス識別子を求める。)(ステップ10) OSは、求めたデバイス識別子の値を文字列に変換す
る。(ステップ20) OSは、変換した文字列と同じ名称のプログラムファイ
ルから、ドライバプログラムをロードする。ここで、ド
ライバプログラムを複数のファイルに分けて格納したい
時には、複数ファイルを格納できるディレクトリ名称
(バインダー名称、フォルダー名称というシステムもあ
る)をデバイス識別子と同じ文字列にしてもよい。(ス
テップ30) OSは、変換した文字列と同じルーチン名称をシンボル
テーブルから検索し、求めたルーチンアドレスに制御を
渡すことで、デバイス初期化ルーチンを呼び出す。(ス
テップ40) OSは、バスに接続されているデバイスの数だけ、以上
のロード処理と初期化ルーチン呼び出し処理を繰り返
す。(ステップ50)
ーである。OSは、電源投入やリセットボタン押下など
によるシステム起動時に、CPUとデバイスを接続する
バスの手順に従ってバスに接続されているデバイスのデ
バイス識別子を求める。(例えば、PCIバスの場合
は、PCIコンフィグレーションサイクルを実行して、
デバイス識別子を求める。)(ステップ10) OSは、求めたデバイス識別子の値を文字列に変換す
る。(ステップ20) OSは、変換した文字列と同じ名称のプログラムファイ
ルから、ドライバプログラムをロードする。ここで、ド
ライバプログラムを複数のファイルに分けて格納したい
時には、複数ファイルを格納できるディレクトリ名称
(バインダー名称、フォルダー名称というシステムもあ
る)をデバイス識別子と同じ文字列にしてもよい。(ス
テップ30) OSは、変換した文字列と同じルーチン名称をシンボル
テーブルから検索し、求めたルーチンアドレスに制御を
渡すことで、デバイス初期化ルーチンを呼び出す。(ス
テップ40) OSは、バスに接続されているデバイスの数だけ、以上
のロード処理と初期化ルーチン呼び出し処理を繰り返
す。(ステップ50)
【0016】
【発明の効果】新しい種類のデバイス(及びそのデバイ
スドライバプログラム)を開発した場合でも、OSの処
理を修正することなく、接続デバイスに対応するドライ
バプログラムを自動的に選択ロードして、デバイスを初
期化することが出来る。
スドライバプログラム)を開発した場合でも、OSの処
理を修正することなく、接続デバイスに対応するドライ
バプログラムを自動的に選択ロードして、デバイスを初
期化することが出来る。
【図1】本発明の一実施例における、複数種類のデバイ
スを接続できるコンピュータの構成例を示す図である。
スを接続できるコンピュータの構成例を示す図である。
【図2】本発明の実施例におけるドライバプログラム内
のルーチン構造を示す図である。
のルーチン構造を示す図である。
【図3】本発明の実施例におけるOSのシステム起動時
の処理フロー図である。
の処理フロー図である。
1・・中央演算装置(CPU)及び主記憶装置(メモリ
ー) 2・・周辺装置であるデバイス 3・・CPUとデバイスを接続するバス 4・・各デバイスに対応するドライバプログラムの格納
ファイル
ー) 2・・周辺装置であるデバイス 3・・CPUとデバイスを接続するバス 4・・各デバイスに対応するドライバプログラムの格納
ファイル
Claims (1)
- 【請求項1】コンピュータに接続されたデバイスに対応
するドライバプログラムを自動的にファイルから選択し
てメモリーへロードし、デバイスを初期化するプラグア
ンドプレイにおいて、 ドライバプログラムを格納するファイル名称を、デバイ
スハードウェアが持つデバイス識別子と同じ文字列とし
ておき、オペレーティングシステムがシステム起動時
に、システムに接続されたデバイスが持つデバイス識別
子をデバイス接続バスの手順を使って求めて、求めたデ
バイス識別子を文字列化した名称と同じファイル名称に
格納されているドライバプログラムをメモリーにロード
し、 ドライバプログラム内部のデバイス初期化ルーチン名称
を、デバイス識別子と同じ文字列としておき、オペレー
ティングシステムがドライバプログラムロード後に、デ
バイス識別子と同じ文字列のデバイス初期化ルーチン名
称をプログラムコンパイル時に生成するテーブルで、プ
ログラム内部のルーチン及び変数名称とメモリーアドレ
スとの対応表であるシンボルテーブルから検索し、求め
たアドレスに制御を渡すことで、デバイス初期化ルーチ
ンを呼び出すデバイスドライバプログラムの自動選択方
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10095695A JPH11296375A (ja) | 1998-04-08 | 1998-04-08 | デバイスドライバプログラムの自動選択方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10095695A JPH11296375A (ja) | 1998-04-08 | 1998-04-08 | デバイスドライバプログラムの自動選択方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11296375A true JPH11296375A (ja) | 1999-10-29 |
Family
ID=14144644
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10095695A Pending JPH11296375A (ja) | 1998-04-08 | 1998-04-08 | デバイスドライバプログラムの自動選択方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11296375A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1102167A1 (de) * | 1999-11-18 | 2001-05-23 | Abb Research Ltd. | Einrichtung und Betrieb einer Kommunikationsverbindung mit einem Steuergerät |
| JP2002268983A (ja) * | 2000-12-21 | 2002-09-20 | Microsoft Corp | 周辺装置に関連する情報にアクセスする方法およびシステム |
| US7330967B1 (en) * | 2004-12-03 | 2008-02-12 | Symantec Operating Corporation | System and method for injecting drivers and setup information into pre-created images for image-based provisioning |
| JP2013008246A (ja) * | 2011-06-24 | 2013-01-10 | Mitsubishi Electric Corp | 中継機器及び入出力システム |
| US9875118B2 (en) | 2014-04-30 | 2018-01-23 | Huawei Technologies Co., Ltd. | Method and embedded device for loading driver |
| US11223537B1 (en) | 2016-08-17 | 2022-01-11 | Veritas Technologies Llc | Executing custom scripts from the host during disaster recovery |
-
1998
- 1998-04-08 JP JP10095695A patent/JPH11296375A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1102167A1 (de) * | 1999-11-18 | 2001-05-23 | Abb Research Ltd. | Einrichtung und Betrieb einer Kommunikationsverbindung mit einem Steuergerät |
| JP2002268983A (ja) * | 2000-12-21 | 2002-09-20 | Microsoft Corp | 周辺装置に関連する情報にアクセスする方法およびシステム |
| US7330967B1 (en) * | 2004-12-03 | 2008-02-12 | Symantec Operating Corporation | System and method for injecting drivers and setup information into pre-created images for image-based provisioning |
| JP2013008246A (ja) * | 2011-06-24 | 2013-01-10 | Mitsubishi Electric Corp | 中継機器及び入出力システム |
| US9875118B2 (en) | 2014-04-30 | 2018-01-23 | Huawei Technologies Co., Ltd. | Method and embedded device for loading driver |
| US11223537B1 (en) | 2016-08-17 | 2022-01-11 | Veritas Technologies Llc | Executing custom scripts from the host during disaster recovery |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101365904B1 (ko) | 운영 체제를 개별 스테이지들에서 부팅하기 위한 컴퓨터 구현 방법, 개별 스테이지들에서 부팅되는 운영 체제를 포함하는 장치, 및 컴퓨터 판독가능 매체 | |
| US6317826B1 (en) | Booting a computer system from a network | |
| US6463530B1 (en) | Method and apparatus for remotely booting a client computer from a network by emulating remote boot chips | |
| US6539473B1 (en) | Remotely controlled boot manager | |
| US8407458B2 (en) | Embedded device for implementing a boot process on a host | |
| US7634689B2 (en) | Boot performance optimization for hard drive for personal internet communicator | |
| US6973447B1 (en) | System apparatus and method for supporting multiple partitions including multiple systems in boot code | |
| US6055631A (en) | Method and apparatus for booting a portable computing device | |
| US11748110B2 (en) | Server with setup menu for the bios settings | |
| CN114385251A (zh) | 基于存储器的操作系统引导方法、系统、终端及存储介质 | |
| US7493612B2 (en) | Embedded system and related method capable of automatically updating system software | |
| US6763457B1 (en) | Network station suitable for supplying indicated default values for boot parameters | |
| JPH06332716A (ja) | リモートブートシステム | |
| US6728875B1 (en) | Network station suitable for identifying and prioritizing network adapters | |
| JPH11296375A (ja) | デバイスドライバプログラムの自動選択方法 | |
| US20060047941A1 (en) | Resource compatible system for EFI (extensible firmware interface) and BIOS (basic input/output system) | |
| CN116009899B (zh) | 操作系统的镜像制作方法、装置、电子设备及存储介质 | |
| CN108681468A (zh) | 一种Linux系统磁盘设备绑定方法、装置及服务器 | |
| AU4106499A (en) | Method and apparatus for determining the drive letter assignment of a CD-ROM drive during initial system setup of a computer system | |
| US6779110B1 (en) | Network station suitable for identifying and prioritizing boot information for locating an operating system kernel on a remote server | |
| US6718462B1 (en) | Sending a CD boot block to a client computer to gather client information and send it to a server in order to create an instance for client computer | |
| KR100463838B1 (ko) | 유아이에이 시스템을 위한 부트로더의 프로그램 다운로드및 엔에프에스 개발환경 지원방법 | |
| CN115314471A (zh) | 一种mac地址分配方法及终端 | |
| CN112148375A (zh) | 系统安装方法、服务器、客户端及存储介质 | |
| CN114356694A (zh) | 一种基于门面对象的应用服务器日志收集方法及系统 |