JPH06309265A - 情報処理装置におけるドライバプログラムの動的選択方法 - Google Patents

情報処理装置におけるドライバプログラムの動的選択方法

Info

Publication number
JPH06309265A
JPH06309265A JP5101062A JP10106293A JPH06309265A JP H06309265 A JPH06309265 A JP H06309265A JP 5101062 A JP5101062 A JP 5101062A JP 10106293 A JP10106293 A JP 10106293A JP H06309265 A JPH06309265 A JP H06309265A
Authority
JP
Japan
Prior art keywords
driver program
input
program
information
identification number
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
Application number
JP5101062A
Other languages
English (en)
Inventor
Sugio Tomizawa
杉雄 富沢
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP5101062A priority Critical patent/JPH06309265A/ja
Publication of JPH06309265A publication Critical patent/JPH06309265A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 入出力デバイスとそのデバイスを制御するド
ライバプログラムとの対応を動的に決定する。 【構成】 第1テーブル3において共通ドライバプログ
ラムを登録したID番号のデバイスに対して、アプリケ
ーションプログラムによって入出力要求が発生すると、
OSから制御を渡された共通ドライバプログラムは、当
該ID番号のデバイスに対してインクエリコマンドを発
行することによってデバイス情報を取得する。そして、
その情報に基づいて第2テーブル4を参照して対応する
ドライバプログラムを決定すると、そのドライバプログ
ラムのエントリアドレスを第1テーブル3において当該
ID番号に対応させて登録するとともに、そのアドレス
にジャンプする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、接続した入出力デバイ
スのそれぞれを、各デバイス毎に対応するドライバプロ
グラムで制御する情報処理装置に係り、特に、対応する
ドライバプログラムを動的に選択する方法に関する。
【0002】
【従来の技術】情報処理装置において、例えばSCSI
バスに代表されるような標準入出力バスを介してそれぞ
れに異なるID番号(識別番号)を持つ各種入出力デバ
イス(以下、デバイスと略称する)を接続したときに、
ドライバプログラムが各々のデバイスのデバイス情報を
各ID番号毎に認識し、そのデバイス情報に従って各デ
バイスをアクセスすることが行われる。
【0003】このような方法を行うものとして、例え
ば、特開平5−2550号公報に記載されたものがあ
る。これは、接続されたデバイスのデータ転送ブロック
長などのデバイス情報を認識するための特定コマンドを
発行する手段と、このコマンドを受けたデバイスからデ
バイス情報を通知する手段とを設けて、電源投入時に入
出力バスに接続されている各デバイス毎に特定コマンド
を発行し、それぞれのデバイス情報を取得しておいて、
以降は、このデバイス情報に従って当該デバイスをアク
セスするものである。
【0004】
【発明が解決しようとする課題】ハードディスク装置
や、ストリーマテープ装置といったデバイス種類が同一
であっても、製造メーカが異なれば、例えば同じストリ
ーマテープ装置でも転送ブロック長などが完全には一致
しないのが実情である。また、オプションでサポートす
るコマンドや、エラー発生時のエラー情報の内容やその
対処方法なども違うために、従来例のように1つのドラ
イバプログラムによって様々な製造メーカの装置に対応
し、デバイスそれぞれの性能を最大限に引き出すように
するには、ドライバプログラムが大きく複雑になる問題
があった。
【0005】そうかと言って、接続するデバイスそれぞ
れに専用のドライバプログラムを用意する単純な方法で
は、あるID番号のデバイスを別のデバイスに置き換え
た場合には、そのID番号のデバイスを制御するドライ
バプログラムも、同時に新しいデバイス専用のものに置
き換えることが行われるが、この場合、オペレーティン
グシステムに対するドライバプログラムの登録を変更し
て、オペレーティングシステムをジェネレーションし直
す必要があり、多くの手間と時間を要する欠点があっ
た。
【0006】そこで本発明は、入出力バスに接続したデ
バイスを他のデバイスに置き換えた場合でも、例えばシ
ステムの起動後に初めてそのデバイスに対する入出力要
求が発生した時に、当該デバイスに対応するドライバプ
ログラムを決定するようにして、デバイスの変更に柔軟
に対応できるシステムを実現できるようにするものであ
る。
【0007】
【課題を解決するための手段】本発明は、特定コマンド
に応答して固有のデバイス情報を返すことのできる複数
の入出力デバイスの少なくとも1つを接続すると共に、
前記複数の入出力デバイスの各々に対応する複数のドラ
イバプログラムと、前記入出力デバイスを識別する為の
識別番号と前記ドライバプログラムとの対応を表す第1
のテーブルとを備え、前記第1のテーブルを参照して前
記識別番号に対応するドライバプログラムによって前記
入出力デバイスを制御する情報処理装置において、前記
デバイス情報と前記ドライバプログラムとの対応を表す
第2のテーブルと、共通ドライバプログラムとを設け、
前記第1のテーブルにおいて前記共通ドライバプログラ
ムを登録しておき、該共通ドライバプログラムが登録さ
れた前記識別番号が入力されたとき、前記共通ドライバ
プログラムは、当該識別番号に対応する前記入出力デバ
イスに特定コマンドを発行し、取得した前記デバイス情
報を用いて前記第2のテーブルを参照して対応する前記
ドライバプログラムを決定し、該ドライバプログラムを
前記第1のテーブルにおいて当該識別番号に対応する共
通ドライバプログラムに代えて登録すると共に、該ドラ
イバプログラムによって前記入出力デバイスを制御する
ようにして、上記課題を解決するものである。
【0008】また、前記第1のテーブルは、対応する前
記入出力デバイスが置き換えられる可能性がある前記識
別番号について、前記共通ドライバを登録するように
し、そして、前記デバイス情報は、製造メーカ及び製品
名を前記第2のテーブルに登録することで、上記課題を
解決するようにしている。
【0009】
【作用】本発明では、第1のテーブルにおいて共通ドラ
イバプログラムが登録された識別番号に対する入出力要
求があった場合、共通ドライバプログラムは当該識別番
号の入出力デバイスに特定コマンドを発行し、そのデバ
イスから取得したデバイス情報に基づいて第2のテーブ
ルを参照して対応するドライバプログラムを決定する。
そして、そのドライバプログラムを第1のテーブルにお
いて当該識別番号に対応する共通ドライバプログラムに
代えて登録すると共に、そのドライバプログラムによっ
てデバイスを制御する。
【0010】
【実施例】図4は本実施例の情報処理装置の構成を示す
ブロック図である。図において1は各種処理を実行する
CPU、2はシステムバス、5は各種プログラムを記憶
するプログラムメモリ、6はインターフェース、7はS
CSIバスなどの入出力バスであり、この入出力バス7
にはそれぞれID番号によって識別される複数のデバイ
ス8−0〜8−7が接続されている。本実施例では、入
出力バス7には8台までデバイスを接続することがで
き、それぞれID番号としてID#0〜ID#7が割当
てられている。これらのデバイスは、インクエリコマン
ド(inquiryコマンド)が入力されると、それに
応答して、自己の固有のデバイス情報を返すよう構成さ
れており、デバイス情報としては、例えば図6に示す情
報を用いている。ここで、デバイスタイプは、そのデバ
イスがハードディスクドライブなどのランダムアクセス
可能なものか、ストリーマテープ装置のような順次アク
セスするものかを区別するものである。規格バージョン
はSCSI規格などのそのデバイスがサポートするイン
ターフェース規格のバージョンを表すものである。メー
カ情報はそのデバイスの製造メーカ名であり、プロダク
ト情報はそのデバイスの製品名(商品名)を記述したも
のである。
【0011】また、本実施例では、デバイス8−0〜8
−7各々に対応して、それぞれ個別にデバイスを制御す
る複数の専用のドライバプログラムを用意し、これらの
専用ドライバプログラムと、全デバイスに共通の共通ド
ライバプログラムとを前述のプログラムメモリ5に記憶
している。
【0012】そのプログラムメモリ5の内容を示したの
が図5である。アドレス10000未満にオペレーティ
ングシステム(OS)を記憶し、アドレス10000以
降に共通ドライバプログラム(CDP)と、各デバイス
に対応するドライバプログラム(DP0〜DP9)を記
憶している。そして、アドレス22900以降にはアプ
リケーションプログラムが記憶されている。
【0013】更に、図4において、3はID番号とドラ
イバプログラムの対応関係を表す第1テーブル、4はデ
バイス情報とドライバプログラムの対応関係を表す第2
テーブルである。
【0014】図2は、第1テーブル3の内容を示してお
り、ID番号とそれに対応するドライバプログラムのエ
ントリアドレスの対を、ID番号の昇順に並べた構成で
ある。図3(a)は、本実施例の情報処理装置を起動し
た直後の第1テーブル3の内容である。あらかじめデバ
イスの変更が予想されるID#0に対応して、共通ドラ
イバプログラムのエントリアドレス10000が登録し
てある。
【0015】そして、図3は第2テーブル4の内容を示
し、接続される可能性があるデバイスについて、前述の
デバイス情報のうちメーカ及びプロダクト情報と、その
デバイス専用のドライバプログラムのエントリアドレス
との対応を表すものである。
【0016】本実施例では、ID#0のデバイスとし
て、A社のa製品またはB社のb製品のいずれかが接続
されるものとする。
【0017】以下、図1のフローチャートを参照しなが
ら本実施例の動作を説明する。
【0018】システムの起動後、アプリケーションプロ
グラムによってID#0に対する入出力要求が発生した
とすると、オペレーティングシステムは、第1テーブル
3を参照し、ID#0に対応して登録されているエント
リアドレス10000、即ち共通ドライバプログラムに
制御を移行する。共通ドライバプログラムは、図1のフ
ローチャートに従う次のような処理を実行する。
【0019】先ず、ID#i(i=0)のデバイス(こ
こではデバイス8−0)にインターフェース6及び入出
力バス7を介してインクエリコマンドを発行し、コマン
ドを受け取ったデバイス8−0が自身のデバイス情報を
返すことで、共通ドライバプログラムはデバイス情報を
取得する(ステップS1)。そして、取得したデバイス
情報のうち、メーカ及びプロダクト情報に基づいて第2
テーブル4を参照し、対応するドライバプログラムのエ
ントリアドレスを取得する(ステップS3)。ここで、
デバイス8−0がA社のa製品であるとすると、ステッ
プS3においてエントリアドレス20500が得られる
ことになる。
【0020】次に共通ドライバプログラムは、第1テー
ブル3におけるID#i(ここではi=0)に対応する
エントリアドレスとして、自身のエントリアドレス10
000に代えて、ステップS3において取得したエント
リアドレス20500を登録し(ステップS5)、しか
る後にそのエントリアドレスにジャンプする(ステップ
S6)。即ち、ID番号ID#0が割当てられたデバイ
ス8−0専用のドライバプログラムのエントリアドレス
を、第1テーブル3においてID#0に対応させて登録
しておいて、そのドライバプログラムに制御を移行する
のである。こうして新しい内容に書き替えられた第1テ
ーブル3を示すのが図2(b)である。
【0021】従って、これ以降にID#0に対する入出
力要求が発生した場合には、第1テーブル3の内容は既
に書き替えられているから、オペレーティングシステム
からは直接にデバイス8−0専用のドライバプログラム
(この場合DP8)に制御が移行することになる。
【0022】もしここで、ID#0のデバイスとしてB
社のb製品が接続されていたならば、ステップS3にお
いてエントリアドレス21700が得られるから、次に
ステップS5において、共通ドライバプログラムは、第
1テーブルのID#0に対応してエントリアドレス21
700を登録し、そして、そのエントリアドレスにジャ
ンプする(ステップS6)。この結果、これ以降は、I
D#0のデバイスのドライバプログラムは、図5に示す
アドレス21700に記憶したDP9が使われるのであ
る。
【0023】なお、図1のステップS1において、ID
#iのデバイスが存在しないなどのエラーが発生した場
合は、ステップS2からステップS7に進み、また、ス
テップS3において該当するメーカ及びプロダクトが見
つからなかった場合は、同様にステップS4からS7に
進み、共通ドライバプログラムはオペレーティングシス
テムにエラーを返す。
【0024】ところで、本実施例では、あるID番号に
対する入出力要求が発生した時点で、そのID番号に対
応するドライバプログラムを共通ドライバプログラムに
よって決定しているが、これをシステムの起動時に各I
D番号に対して順にダミーの入出力要求を発行すること
で、あらかじめID番号とドライバプログラムの対応を
決定しておくようにもできる。
【0025】
【発明の効果】本発明によれば、入出力要求のあったデ
バイスのデバイス情報を取得し、そのデバイス情報に基
づいて対応するドライバプログラムを選択するようにし
たから、入出力バスに接続する入出力デバイスの変更に
柔軟に対応できる。そして、その結果、システム構成の
自由度が著しく向上する。
【0026】また、各々の入出力デバイスに専用のドラ
イバプログラムを使用することで、個々のデバイスの性
能をフルに発揮させることができ、もってシステム全体
の性能が向上する。
【図面の簡単な説明】
【図1】実施例における共通ドライバプログラムの処理
手順を示すフローチャートである。
【図2】第1テーブルの一例を示す図である。
【図3】第2テーブルの一例を示す図である。
【図4】実施例の情報処理装置の構成を示すブロック図
である。
【図5】実施例におけるプログラムメモリ構成を示す図
である。
【図6】デバイス情報の一例を示す図である。
【符号の説明】
1 CPU 3 第1テーブル 4 第2テーブル 5 プログラムメモリ 7 入出力バス 8−0〜8−7 デバイス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 特定コマンドに応答して固有のデバイス
    情報を返すことのできる複数の入出力デバイスの少なく
    とも1つを接続すると共に、前記複数の入出力デバイス
    の各々に対応する複数のドライバプログラムと、前記入
    出力デバイスを識別する為の識別番号と前記ドライバプ
    ログラムとの対応を表す第1のテーブルとを備え、前記
    第1のテーブルを参照して前記識別番号に対応するドラ
    イバプログラムによって前記入出力デバイスを制御する
    情報処理装置において、前記デバイス情報と前記ドライ
    バプログラムとの対応を表す第2のテーブルと、共通ド
    ライバプログラムとを設け、前記第1のテーブルに前記
    共通ドライバプログラムを登録しておき、該共通ドライ
    バプログラムが登録された前記識別番号が入力されたと
    き、前記共通ドライバプログラムは、当該識別番号に対
    応する前記入出力デバイスに特定コマンドを発行し、取
    得した前記デバイス情報を用いて前記第2のテーブルを
    参照して対応する前記ドライバプログラムを決定し、該
    ドライバプログラムを前記第1のテーブルにおいて当該
    識別番号に対応する共通ドライバプログラムに代えて登
    録すると共に、該ドライバプログラムによって前記入出
    力デバイスを制御することを特徴とする情報処理装置に
    おけるドライバプログラムの動的選択方法。
  2. 【請求項2】 前記第1のテーブルは、対応する前記入
    出力デバイスが置き換えられる可能性がある前記識別番
    号について、前記共通ドライバプログラムを登録するこ
    とを特徴とする請求項1記載の情報処理装置におけるド
    ライバプログラムの動的選択方法。
  3. 【請求項3】 前記デバイス情報は、製造メーカ名及び
    製品名であることを特徴とする請求項1または2記載の
    情報処理装置におけるドライバプログラムの動的選択方
    法。
JP5101062A 1993-04-27 1993-04-27 情報処理装置におけるドライバプログラムの動的選択方法 Pending JPH06309265A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5101062A JPH06309265A (ja) 1993-04-27 1993-04-27 情報処理装置におけるドライバプログラムの動的選択方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5101062A JPH06309265A (ja) 1993-04-27 1993-04-27 情報処理装置におけるドライバプログラムの動的選択方法

Publications (1)

Publication Number Publication Date
JPH06309265A true JPH06309265A (ja) 1994-11-04

Family

ID=14290632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5101062A Pending JPH06309265A (ja) 1993-04-27 1993-04-27 情報処理装置におけるドライバプログラムの動的選択方法

Country Status (1)

Country Link
JP (1) JPH06309265A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002504724A (ja) * 1998-02-20 2002-02-12 インテル・コーポレーション カメラ・ファームウェアの自動更新
WO2003065188A1 (fr) * 2002-01-28 2003-08-07 Fujitsu Limited Dispositif et ordinateur principal
US6671744B1 (en) 1999-07-05 2003-12-30 Fujitsu Limited Access control method for drive units, and a drive unit using the method
US7068386B2 (en) 2000-05-16 2006-06-27 Canon Kabushiki Kaisha Image processing system, image data processing method, and storage medium
JP2006244253A (ja) * 2005-03-04 2006-09-14 Yamaha Corp 電子機器
JP2007034898A (ja) * 2005-07-29 2007-02-08 Seiko Epson Corp デバイスドライバ、コンピュータシステム、デバイスおよびデバイス登録方法
JP2007041789A (ja) * 2005-08-02 2007-02-15 Funai Electric Co Ltd 光ディスク装置
JP2007066322A (ja) * 2006-10-05 2007-03-15 Ntt Docomo Inc データ処理装置およびデータ処理方法
US8161499B2 (en) 2004-04-21 2012-04-17 Ntt Docomo, Inc. Data processing device and data processing method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002504724A (ja) * 1998-02-20 2002-02-12 インテル・コーポレーション カメラ・ファームウェアの自動更新
US6671744B1 (en) 1999-07-05 2003-12-30 Fujitsu Limited Access control method for drive units, and a drive unit using the method
US7068386B2 (en) 2000-05-16 2006-06-27 Canon Kabushiki Kaisha Image processing system, image data processing method, and storage medium
WO2003065188A1 (fr) * 2002-01-28 2003-08-07 Fujitsu Limited Dispositif et ordinateur principal
US8161499B2 (en) 2004-04-21 2012-04-17 Ntt Docomo, Inc. Data processing device and data processing method
JP4609118B2 (ja) * 2005-03-04 2011-01-12 ヤマハ株式会社 電子機器
JP2006244253A (ja) * 2005-03-04 2006-09-14 Yamaha Corp 電子機器
JP4586666B2 (ja) * 2005-07-29 2010-11-24 セイコーエプソン株式会社 デバイスドライバ、コンピュータシステム、デバイスおよびデバイス登録方法
JP2007034898A (ja) * 2005-07-29 2007-02-08 Seiko Epson Corp デバイスドライバ、コンピュータシステム、デバイスおよびデバイス登録方法
JP2007041789A (ja) * 2005-08-02 2007-02-15 Funai Electric Co Ltd 光ディスク装置
JP4655808B2 (ja) * 2005-08-02 2011-03-23 船井電機株式会社 光ディスク装置
US7965588B2 (en) 2005-08-02 2011-06-21 Funai Electric Co., Ltd. Optical disk apparatus
JP2007066322A (ja) * 2006-10-05 2007-03-15 Ntt Docomo Inc データ処理装置およびデータ処理方法

Similar Documents

Publication Publication Date Title
JPH0793219A (ja) 情報処理装置
JPH04330520A (ja) ワークステーション内にソフトウェア・ファイルを設置する方法及び装置
JPH06309265A (ja) 情報処理装置におけるドライバプログラムの動的選択方法
KR100578955B1 (ko) 컴퓨터 시스템의 초기 시스템 셋업 동안 시디롬 드라이브의 드라이브 문자 할당을 결정하는 방법 및 장치
JP2846760B2 (ja) プログラマブルコントローラ
JP3843189B2 (ja) 光ディスクシステム制御チップおよび光ディスクシステムに使用される更新方法
JP2664168B2 (ja) 情報処理装置の起動方法
JPH06274443A (ja) 周辺機器インタフェースを備えた情報処理システム
JP2000112771A (ja) 割り込み制御装置、割り込み処理方法、オペレーティングシステム、マイクロコンピュータシステム、情報処理装置、プログラムを記録した記録媒体
JPS6378265A (ja) 処理制御方式
JPH1027153A (ja) バス転送装置
JPS59106060A (ja) デ−タロギング方式
JPH0628306A (ja) Scsiシステム及びコマンドサポート確認方法
JPH06314231A (ja) 共用メモリアクセス制御方法
JPH05324415A (ja) ロギングデータ記憶方式
JPH02253425A (ja) フロッピィ・ディスク・コントローラ
JP2005209117A (ja) タスク実行システム
JPH02115960A (ja) データ処理システム
JPH03111959A (ja) 外部デバイス制御装置
JPH06161959A (ja) 情報処理装置
JP2001154915A (ja) 情報処理装置
JPH02195466A (ja) Scsiホスト装置
JPH10134013A (ja) マルチcpuシステム
JPS6180446A (ja) 機器構成認識方式
JPH10240686A (ja) クラスタシステムにおけるコマンド実行方式、コマンド 実行方法およびコマンド実行プログラムを記録した記録 媒体