JP4063573B2 - Device driver installation / execution method, installation / execution method, and program - Google Patents
Device driver installation / execution method, installation / execution method, and program Download PDFInfo
- Publication number
- JP4063573B2 JP4063573B2 JP2002109135A JP2002109135A JP4063573B2 JP 4063573 B2 JP4063573 B2 JP 4063573B2 JP 2002109135 A JP2002109135 A JP 2002109135A JP 2002109135 A JP2002109135 A JP 2002109135A JP 4063573 B2 JP4063573 B2 JP 4063573B2
- Authority
- JP
- Japan
- Prior art keywords
- driver
- information
- request
- system mapping
- mapping information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明はデバイスドライバの組み込み・実行方式、組み込み・実行方法、及びプログラムに関し、特に多数の装置やOSに対応したデバイスを装置に組み込む際に必要なドライバをデバイスについて1種類とし装置やOSに関する使用の差分を吸収するためのモジュールと合わせて装置に組み込むようにしたデバイスドライバの組み込み・実行技術に関する。
【0002】
【従来の技術】
情報処理装置に実装又は接続して使用するデバイスの製造業者は自社のデバイス製品を制御するためのプログラムであるドライバを製品とともに提供し、利用者はそれを情報処理装置のオペレーティングシステム(OSという)に組み込んで使用する。従って、製造業者はデバイス製品を販売するために多くのOSの種類・版数(バージョンともいう)や実装又は接続する装置に合わせてドライバを複数種類用意している。
【0003】
このため、多く使用されていないOS用のドライバは用意されていなかったり用意が遅れたりすることが起こりやすく、どうしても使用したい場合は利用者が自らドライバを作成する必要があった。デバイス製造業者は少数使用のOSや装置に対してはデバイスの販売機会を失ってしまうことが多かった。
【0004】
【発明が解決しようとする課題】
第1の問題点は、従来のドライバはOSに依存したドライバの構成となっているため、各種のOS毎に適した多くのドライバを開発する必要があったということである。
【0005】
第2の問題点は、種々の本体装置を開発している本体製造業者は同一デバイスであっても本体装置毎にI/Oアドレス等のマッピング条件が異なることがあり、そのような場合には本体装置毎にドライバをカスタマイズしてI/Oアドレスを合わせる必要があったということである。
【0006】
本発明の目的は、OSとドライバとの間にインタフェース部を設けて多種類のOSや装置に対する差分を吸収することにより、1つのデバイスに1つのドライバを用意するだけでドライバを組み込み可能としたデバイスドライバの組み込み方式、組み込み方法、プログラムを提供することにある。
【0007】
【課題を解決するための手段】
本発明の第1のデバイスドライバの組み込み・実行方式は、装置に搭載されたオペーレーティングシステム(OSという)と、装置に搭載されたデバイスを制御するプログラムであるドライバと、装置のアドレス割付情報を含むデバイス情報とOSの種別と版数を含むOS情報とを含むシステムマッピング情報と、OSとドライバとの間の情報の伝達を仲介し制御するインタフェース部とを有し、
前記インタフェース部は、前記システムマッピング情報を参照してドライバを登録し前記システムマッピング情報を参照してドライバへ要求を伝達することを特徴とする。
【0008】
本発明の第2のデバイスドライバの組み込み・実行方式は、装置に搭載されたOSと、装置に搭載されたデバイスを制御するプログラムであるドライバと、装置のアドレス割付情報を含むデバイス情報とOSの種別とOSの版数を含むOS情報とを含むシステムマッピング情報と、OSとドライバとの間の情報の伝達を仲介し制御するインタフェース部とを有し、
前記インタフェース部は、対応するOSの種類毎にOSとのインターフェース手段を有するOSインタフェース処理部と、前記システムマッピング情報に基づいてドライバの登録情報を編集しOSへ登録するドライバ登録処理部とを有し、前記システムマッピング情報を参照してドライバへ要求を伝達することを特徴とする。
【0009】
本発明の第3のデバイスドライバの組み込み・実行方式は、装置に搭載されたOSと、装置に搭載されたデバイスを制御するプログラムであるドライバと、装置のアドレス割付情報を含むデバイス情報とOSの種別とOSの版数を含むOS情報とを含むシステムマッピング情報と、OSとドライバとの間の情報の伝達を仲介し制御するインタフェース部とを有し、
前記インタフェース部は、対応するOSの種類毎にOSとのインターフェース手段を有するOSインタフェース処理部と、前記システムマッピング情報に基づいてドライバの登録情報を編集しOSへ登録するドライバ登録処理部とを有し、OSからドライバへの要求を受けると前記アドレス割付情報を付加して要求をドライバに送り、
前記ドライバは受け付けた要求とアドレス割付情報に従って要求を処理することを特徴とする。
【0010】
本発明の第4のデバイスドライバの組み込み・実行方式は、第1、第2、又は第3のデバイスドライバの組み込み・実行方式において、前記インターフェース部は、システムの開始或いは再開の際のOSからの起動により前記システムマッピング情報を補助記憶装置から主記憶装置にロードし前記ドライバ登録処理部を起動してドライバを登録させる初期設定処理部を有することを特徴とする。
【0011】
本発明の第5のデバイスドライバの組み込み・実行方式は、第1、第2、又は第3のデバイスドライバの組み込み・実行方式において、前記インターフェース部は、システムの開始或いは再開の際のOSからの起動により前記システムマッピング情報を前記装置とネットワークで接続するサーバから前記装置内の主記憶装置にロードし前記ドライバ登録処理部を起動してドライバを登録させる初期設定処理部を有することを特徴とする。
【0012】
本発明の第1のデバイスドライバの組み込み・実行方法は、装置のアドレス割付情報を含むデバイス情報とOSの種別と版数を含むOS情報とを含むシステムマッピング情報に基づいて装置に搭載されたデバイスを制御するプログラムであるドライバをOSに登録し、OSからの要求を受けると前記システムマッピング情報を参照して必要な情報を付加しドライバへ要求を伝達することを特徴とする。
【0013】
本発明の第2のデバイスドライバの組み込み・実行方法は、装置のアドレス割付情報を含むデバイス情報とOSの種別と版数を含むOS情報とを含むシステムマッピング情報に基づいて複数用意されたOSとのインターフェース手段を選択し、前記システムマッピング情報に基づいて装置に搭載されたデバイスを制御するプログラムであるドライバの登録情報を編集しOSへ登録し、OSからの要求を受けると前記システムマッピング情報を参照して必要な情報を付加しドライバへ要求を伝達することを特徴とする。
【0014】
本発明の第3のデバイスドライバの組み込み・実行方法は、装置のアドレス割付情報を含むデバイス情報とOSの種別と版数を含むOS情報とを含むシステムマッピング情報に基づいて複数用意されたOSとのインターフェース手段を選択し、前記システムマッピング情報に基づいて装置に搭載されたデバイスを制御するプログラムであるドライバの登録情報を編集しOSへ登録し、OSからドライバへの要求を受けると前記アドレス割付情報を付加して要求をドライバに送り、前記ドライバは受け付けた要求とアドレス割付情報に従って要求を処理することを特徴とする。
【0015】
本発明の第4のデバイスドライバの組み込み・実行方法は、第1、第2、又は第3のデバイスドライバの組み込み・実行方法において、システムの開始或いは再開の際に前記OSからの起動により前記システムマッピング情報を前記装置内の補助記憶装置から前記装置内の主記憶装置にロードすることを特徴とする。
【0016】
本発明の第5のデバイスドライバの組み込み・実行方法は、第1、第2、又は第3のデバイスドライバの組み込み・実行方法において、システムの開始或いは再開の際に前記OSからの起動により前記システムマッピング情報を前記装置とネットワークで接続するサーバから前記装置内の主記憶装置にロードすることを特徴とする。
【0017】
本発明の第1のプログラムは、装置のアドレス割付情報を含むデバイス情報とOSの種別と版数を含むOS情報とを含むシステムマッピング情報に基づいて装置に搭載されたデバイスを制御するプログラムであるドライバをOSに登録する手順と、OSからの要求を受けると前記システムマッピング情報を参照して必要な情報を付加しドライバへ要求を伝達する手順とをコンピュータに実行させる。
【0018】
本発明の第2のプログラムは、装置のアドレス割付情報を含むデバイス情報とOSの種別と版数を含むOS情報とを含むシステムマッピング情報に基づいて複数用意されたOSとのインターフェース手段を選択する手順と、前記システムマッピング情報に基づいて装置に搭載されたデバイスを制御するプログラムであるドライバの登録情報を編集しOSへ登録する手順と、OSからの要求を受けると前記システムマッピング情報を参照して必要な情報を付加しドライバへ要求を伝達する手順とをコンピュータに実行させる。
【0019】
本発明の第3のプログラムは、装置のアドレス割付情報を含むデバイス情報とOSの種別と版数を含むOS情報とを含むシステムマッピング情報に基づいて複数用意されたOSとのインターフェース手段を選択する手順と、前記システムマッピング情報に基づいて装置に搭載されたデバイスを制御するプログラムであるドライバの登録情報を編集しOSへ登録する手順と、OSからドライバへの要求を受けると前記アドレス割付情報を付加して要求をドライバに送る手順と、前記ドライバが受け付けた要求とアドレス割付情報に従って要求を処理する手順とをコンピュータに実行させる。
【0020】
本発明の第4のプログラムは、第1、第2、又は第3のプログラムにおいて、システムの開始或いは再開の際に前記OSからの起動により前記システムマッピング情報を前記装置内の補助記憶装置から前記装置内の主記憶装置にロードする手順とをコンピュータに実行させる。
【0021】
本発明の第5のプログラムは、第1、第2、又は第3のプログラムにおいて、システムの開始或いは再開の際に前記OSからの起動により前記システムマッピング情報を前記装置とネットワークで接続するサーバから前記装置内の主記憶装置にロードする手順とをコンピュータに実行させる。
【0022】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1は本発明の第1の実施の形態の構成を示すブロック図である。図1を参照すると、第1の実施の形態の構成は、主記憶装置10と、補助記憶装置20と、デバイス30を含み、図示しないがこれらはCPUや入出力制御部やデバイス30以外のデバイス等を含む情報処理装置に実装される。
【0023】
主記憶装置10は、補助記憶装置20からブートプログラム21によってシステムファイル23からロードされるプログラムであるアプリケーションソフトのAPL11、オペレーティングシステムのOS40、インタフェース部50、ドライバ60を含んでいる。なお、ドライバ60は装置に接続されるデバイスに応じて用意される。
【0024】
補助記憶装置20は、通常磁気ディスク装置で実現され、ブートプログラム21と、主記憶装置にロードされるシステムファイル23と、システムマッピング情報22とを含む。システムマッピング情報22はデバイスの品名、情報処理装置内のアドレス割付情報、接続されるバス情報、割り込みポート等の情報を含むデバイス情報と、OSの種別と版数とを含むOS情報とを含む。
【0025】
インタフェース部50は種々のOSに対応するインタフェース機能を有し、ドライバに対して単一のインタフェースを提供する。また、補助記憶装置20に格納されているシステムマッピング情報22を読み出し、その情報をドライバ60へ引き継ぐ機能を備えている。ドライバ60はインタフェース部50から引き継いだ情報を基にOS40からの指示に従ってデバイス30の制御を実行する。
【0026】
図2はインタフェース部50の構成を示す図である。インタフェース部50は、初期設定処理を行う初期設定処理部51と、OSインタフェース処理部52と、リソース確保解放処理部53と、ドライバ登録処理部54と、システムマッピング情報22の保持、読み出しを行うシステムマッピング情報処理部55と、ドライバ60とのインタフェース動作を処理するドライバインタフェース処理部56とを含む。
【0027】
OSインタフェース処理部52は、OS40からのコールを受けたりOS40へのシステムコールを行ったりするOSインターフェース機能(図2では1〜n)をOSの種類に応じて備え、他種類のOSへの対応が可能であり、システムマッピング情報に基づいて使用されるOSインタフェース機能が選択される。
【0028】
リソース確保解放処理部53は、ドライバ60が必要とするリソースの確保と解放をOSインタフェース処理部52を介してOS40との間で調整しながら行うプログラムである。ドライバ登録処理部54は、ドライバ60に用意されている関数アドレス情報を有しシステムマッピング情報に基づいて登録情報を編集しドライバの登録、デバイスの登録、割り込みハンドラの登録をOSインタフェース処理部52を介して行う。
【0029】
次に本発明の第1の実施の形態の動作を図面を参照して説明する。
まず、システム開始・再開時の処理について、図3のフローチャートを参照して説明する。
【0030】
補助記憶装置20に格納されているブートプログラム21は、システムの開始又は再開時に発行されるリセットにより起動される(S71)。起動されたブートプログラム21はAPL11、OS40、インタフェース部50、ドライバ60を含むシステムファイル23を主記憶装置10へロードする(S72)。ブートプログラム21はシステムファイルロード後にOS40を起動する(S73)。
【0031】
OS40はシステムに必要な初期化処理を起動するとともに、インタフェース部50を起動する(S74)。インタフェース部50の起動は初期設定処理部51をコールすることにより実行され、初期設定処理部51はドライバ60を初期化するための初期設定処理を実行する。
【0032】
次に、初期設定処理部51の動作について図4のフローチャートを参照して説明する。初期設定処理部51はインタフェース部50で使用するフラグ、ポインタ等の変数の初期化を行い(S76)、補助記憶装置20からデバイス情報とOS情報を含むシステムマッピング情報22を読み出してシステムマッピング情報処理部55へ渡す(S77)。
【0033】
次に初期設定処理部51はインタフェース部50で必要とするリソースの確保をリソース確保解放処理部53へ要求する(S78)。リソース確保解放処理部53はシステムマッピング情報処理部55からOSの種別とOSの版数を含むOS情報を取得しOSインタフェース処理部52へ引き継いでOS40に対応したリソース確保のシステムコールを要求する(S78)。OSインタフェース処理部52は引き継いだOSの種別・版数を記憶し、以後の処理は引き継いだOSの種別・版数に対応したOSインタフェース(1〜nのいずれか)にて行う。
【0034】
次に初期設定処理部51はドライバ登録処理部54をコールする。ドライバ登録処理部54はシステムマッピング情報処理部55からデバイスの品名、装置内のアドレス割付、接続されるバス、割り込みポート等のデバイス情報と、OSの種別やOSの版数等のOS情報を取得し、これらの情報に基づいて登録する装置とOSに対応するようドライバ登録情報の編集を行いOSインタフェース処理部52へドライバ登録処理を要求する(S79)。
【0035】
この際に、ドライバ登録とは別にデバイスの登録が必要なOSの場合にはデバイス登録をOSインタフェース処理部52へ要求する。また、割り込みハンドラ登録が必要な場合はOSインタフェース処理部52へ割り込みハンドラ登録処理を要求するが説明は省略する。登録する割り込みハンドラはドライバインタフェース処理部56に用意されている。
【0036】
次にOS種別によって異なるドライバの登録動作を説明する図5、図6、図7を参照して詳細に説明する。図5、図6はドライバ登録とデバイス登録を別々に行う方式のOSの種別(OS−Aとする)について示した図であり、図5はドライバ登録の動作を、図6はデバイス登録の動作をそれぞれ示している。図7にはドライバ登録と同時にデバイス登録を行う方式の種別のOS(OS−Bとする)の登録動作について示している。なお、便宜的に登録するデバイス30をデバイスC、ドライバをドライバCとする。
【0037】
図5を参照すると、ドライバ登録処理部54がシステムマッピング情報処理部55より取得したシステムマッピング情報を基にOS種別をOS−Aと認識し、OS−Aとしてドライバ登録に必要なドライバ関数テーブル571を編集し、ドライバ関数テーブル571のアドレスを入力としてOSインタフェース処理部52へドライバ登録のシステムコールを依頼する。
【0038】
OSインタフェース処理部52はドライバ登録処理部54から引き継いだドライバ関数テーブル571のアドレスを入力としてOS40(OS−A、I/Oシステム管理)にあるデバイスドライバインストール関数41をコールする。デバイスドライバインストール関数41はドライバ管理テーブル42へドライバ関数テーブル571のアドレスを含む情報をデバイスドライバC登録情報として登録し、ドライバ登録番号をドライバ登録処理部54まで返却してドライバの登録動作が完了する。
【0039】
次にデバイス登録野動作について図6を参照して説明する。ドライバ登録完了後、ドライバ登録処理部54は、デバイスディスクリプタアドレスやデバイス名等をシステムマッピング情報のデバイス情報に基づいて編集し、ドライバの登録処理で取得したドライバ登録番号と合わせてデバイスC登録情報572を生成し、OSインタフェース処理部52へデバイス登録を要求する。
【0040】
OSインタフェース処理部52はドライバ登録処理部54からデバイスC登録情報572を引き継いでOS40(OS−A、I/Oシステム管理)のデバイス登録関数43をコールする。デバイス登録関数43はデバイスリスト44へデバイスC登録情報572を登録する。以後OSは管理テーブル42とデバイスリスト44を参照してデバイス30を制御し使用する。
【0041】
次に、ドライバ登録と同時にデバイス登録を行う方式の種別のOS(OS−B)の登録動作について図7を参照して説明する。ドライバ登録処理部54はデバイスCのデバイス制御ブロック長、装置情報(論理装置名、装置識別子、装置種別、装置状態で構成)、ドライバ情報(ドライバ名称、アドレス)、情報通知ID(情報通知用メッセージボックスID)からなるデバイスC制御ブロック575をシステムマッピング情報に基づいて編集し生成する。 ドライバ登録処理部54は、さらに、デバイスC制御ブロックアドレス、同期タイプ、外部同期用メッセージボックスID、外部同期用メッセージ識別情報からなるデバイスC制御情報574をシステムマッピング情報に基づいて編集し生成してOSインタフェース処理部52へドライバおよびデバイスCの登録を要求する。
【0042】
OSインタフェース処理部52はOS40(OS−B、I/Oシステム管理)のデバイス登録関数45をコールする。デバイス登録関数45はデバイス管理テーブル46へドライバ情報とデバイスC制御情報を含んだデバイスC登録情報を登録する。以後OSはデバイス管理テーブル46を参照してデバイス30を制御し使用する。
【0043】
次に、実際にデバイスアクセス要求が発生した場合の動作について図8のフローチャートを参照して説明する。デバイスアクセス要求はAPL11又はOS40の内部処理において発生し、発生するとOS40がインタフェース部50をコールする(S81)。
【0044】
インタフェース部50はOS40からコールされた要求に対して既に読み込み済みのシステムマッピング情報を参照してドライバ60をコールする(S82)。OS40からのコールはOSインタフェース処理部52にて受付け、ドライバインタフェース処理部56にてドライバ60をコールする。尚、ドライバインタフェース処理部56は必要に応じてドライバコール時のリソース確保、復帰時のリソース解放をリソース確保解放処理部53へ要求する。
【0045】
インタフェース部50からコールされたドライバ60は要求と情報処理装置内のアドレス割付等のデバイス情報をもとにデバイス30の制御を実行する。ドライバ60はOS40の種別を意識せず、引き継がれたシステムマッピング情報をもとにデバイスのアドレスや割り込みポート、バス配下のID等を認識し、デバイス制御を実行する(S83)。
【0046】
このように、インタフェース部50がOSの種別・版数に関する差分を吸収し、アドレス割付等の装置に関する情報を装置から取り出して供給するのでドライバ60はOSや装置に依存する情報を予め組み込んでおく必要が無く、デバイスに対して1種類用意すればよい。
【0047】
次に実際にデバイスアクセス要求が発生した場合の動作について、OS−Aの場合を例に詳細に説明する。図9はOS−Aにおける動作について説明した図であり、F84〜F89は各構成要素間の情報の流れを示している。
【0048】
まず、OS40(OS−A:I/Oシステム管理)にてデバイスCへのアクセス要求が発生すると、OS40は図6に示したデバイスリスト44のデバイスC登録情報からドライバ登録番号により対応するデバイスドライバCのドライバ関数テーブル571を認識し、図5に示したドライバ関数テーブル571からデバイスCのデバイスクリエイト関数アドレスを取得する。
【0049】
次にOS40(OS−A、I/Oシステム管理)は取得したアドレスによりデバイスCクリエイト関数521をコールする(F84)。デバイスCクリエイト関数521はOS−Aの場合、デバイスアクセス要求時にはデバイスの初期設定および運用パラメータの設定を行う規定であるものとし、デバイスの初期設定、運用パラメータ設定の要求と、システムマッピング情報に基づいたデバイスの装置内割付けアドレスを入力情報としてドライバインタフェース処理部56をコールする(F85)。
【0050】
ドライバインタフェース処理部56はデバイス30の装置内割付けアドレスおよび実行結果詳細格納バッファ(図示しないが既にリソース確保されているバッファ)のアドレスを入力情報としてドライバ60の初期設定関数61をコールする(F86)。
【0051】
初期設定関数61はデバイス30の装置内割付アドレスをベースアドレスとしてデバイス30の初期設定レジスタ31へアクセスし、その後ステータスレジスタ32をリードして初期状態を確認する(F88)。初期設定関数61は初期設定実行結果をリターン値(正常終了又は異常終了)としてドライバインタフェース処理部56へ返却する(F86)。尚、実行結果が異常終了の場合は実行結果の詳細を結果詳細格納バッファへ格納しておく。
【0052】
次にドライバインタフェース処理部56はデバイス30の装置内割付けアドレス入力および実行結果詳細格納バッファのアドレスを入力情報としてドライバ60の運用パラメータ設定関数62をコールする(F87)。運用パラメータ設定関数62はデバイス30の装置内割付アドレスをベースアドレスとしてデバイス30のパラメータレジスタ群33へ運用パラメータをライトした後リードチェックする(F89)。
【0053】
運用パラメータ設定関数62は運用パラメータ設定結果をリターン値(正常終了又は異常終了)としてドライバインタフェース処理部56へ返却する(F87)。尚、実行結果が異常終了の場合は実行結果詳細を結果詳細格納バッファへ格納しておく。
【0054】
次にドライバインタフェース処理部56はデバイスクリエイト実行結果をリターン値(正常終了又は異常終了)としてOSインタフェース処理部52のデバイスCクリエイト関数521へ返却する(F85)。デバイスCクリエイト関数521はOS−Aで定義された形式で実行結果をOS40(OS−A、I/Oシステム管理)へ返却する(F84)。
【0055】
次に本発明の第2の実施の形態について説明する。図10は本発明の第2の実施の形態の構成を示した図である。第1の実施の形態ではドライバを登録する情報処理装置内の補助記憶装置20にシステムファイル23を格納する構成としたが、第2の実施の形態ではネットワーク29を介して接続するファイルサーバ27にシステムファイル23を格納する構成としている点が異なる。
【0056】
システムファイル23の格納位置が第1の実施の形態と相違するが、システムファイル23の機能や他の構成要素の機能は上記相違点を除けば同じであり、容易に理解できるので、構成・動作の全体の説明は省略し、相違点に関する部分の動作について説明する。なお、図1と図10で同じ機能を有するものは同じ番号を付与している。
【0057】
システム開始・再開時の動作において、図3を参照すると、ステップS71に相当するステップではブートプログラム26を起動する。ステップS72に相当するステップではブートプログラム26はネットワーク29を介してファイルサーバ27に格納されているシステムファイル23を主記憶装置10へロードする。以降の動作は第1の実施の形態と同じとなる。
【0058】
第2の実施の形態では、図10の情報処理装置がクライアント装置として多数ネットワーク29に接続する構成で各クライアント装置に共通のドライバを登録する場合、システムファイル23をクライアント装置それぞれに格納することなくファイルサーバ27に格納するだけでよいので、システム全体でのファイルの使用効率がよいという特長がある。
【0059】
【発明の効果】
第1の効果は1つのデバイスに対して種々のOS毎に対応したドライバを用意する必要がなくなることである。従って、デバイスを供給するメーカはドライバの開発工数を著しく削減することができる。その理由は、OSに依存する部分を制御するインタフェース部をOSとの間に置いたためである。
【0060】
第2の効果は、1つのデバイスに対して種々の装置毎にドライバをカスタマイズする必要がなくなることである。その理由は、本体装置に依存する部分を制御するインタフェース部をOSとの間に置きアドレスマッピング等の読替を実行するようにしたためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示す図である。
【図2】本発明のインタフェース部50の詳細な構成を示した図である。
【図3】本発明の第1の実施の形態のシステム開始・再開時の動作を示すフローチャートである。
【図4】本発明の第1の実施の形態の初期設定処理部51の動作を示すフローチャートである。
【図5】本発明の第1の実施の形態のドライバ登録動作を説明するための図である。
【図6】本発明の第1の実施の形態のデバイス登録動作を説明するための図である。
【図7】本発明の第1の実施の形態のドライバ登録と同時にデバイス登録する動作を説明するための図である。
【図8】本発明の第1の実施の形態のデバイスアクセス要求の処理動作を示すフローチャートである。
【図9】本発明の第1の実施の形態のデバイスアクセス要求の処理動作を説明するための図である。
【図10】本発明の第1の実施の形態の構成を示す図である。
【符号の説明】
10 主記憶装置
11 APL
20 補助記憶装置
21 ブートプログラム
22 システムマッピング情報
23 システムファイル
30 デバイス
31 初期設定レジスタ
32 ステータスレジスタ
33 パラメータレジスタ群
40 OS
41 デバイスドライバインストール関数
42 ドライバ管理テーブル
43 デバイス登録関数
44 デバイスリスト
45 デバイス登録関数
46 デバイス管理テーブル
50 インタフェース部
51 初期設定処理部
52 OSインタフェース処理部
53 リソース確保解放処理部
54 ドライバ登録処理部
55 システムマッピング情報処理部
56 ドライバインタフェース処理部
60 ドライバ
61 初期設定関数
62 運用パラメータ設定関数[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a device driver installation / execution method, an installation / execution method, and a program, and more particularly, to use a device necessary for installing a device corresponding to a large number of devices and OSs in the device as one type of device, and to use the device and OS. The present invention relates to a device driver installation / execution technique that is incorporated in an apparatus together with a module for absorbing the difference between the two.
[0002]
[Prior art]
A manufacturer of a device that is used by being mounted on or connected to an information processing apparatus provides a driver, which is a program for controlling the device product of the company, together with the product, and the user uses it as an operating system (OS) of the information processing apparatus. Used by incorporating it into Therefore, a manufacturer prepares a plurality of types of drivers in accordance with many OS types / versions (also referred to as versions) and devices to be mounted or connected in order to sell device products.
[0003]
For this reason, it is likely that a driver for an OS that is not frequently used is not prepared or the preparation is delayed, and the user has to create a driver himself if he / she wants to use it. Device manufacturers often lose the opportunity to sell devices for a small number of operating systems and devices.
[0004]
[Problems to be solved by the invention]
The first problem is that since the conventional driver has a driver configuration depending on the OS, it is necessary to develop many drivers suitable for each type of OS.
[0005]
The second problem is that the main unit manufacturers developing various main units may have different mapping conditions such as I / O addresses for each main unit even in the same device. This means that it was necessary to customize the driver for each main unit and match the I / O address.
[0006]
An object of the present invention is to provide an interface unit between an OS and a driver so as to absorb a difference with respect to various types of OSs and apparatuses, thereby making it possible to incorporate a driver only by preparing one driver for one device. The object is to provide a device driver installation method, installation method, and program.
[0007]
[Means for Solving the Problems]
The first device driver installation / execution method of the present invention includes an operating system (OS) installed in the apparatus, a driver that is a program for controlling the device installed in the apparatus, and address allocation information of the apparatus. System mapping information including device information including OS, OS information including OS type and version number, and an interface unit that mediates and controls transmission of information between the OS and the driver,
The interface unit registers a driver with reference to the system mapping information and transmits a request to the driver with reference to the system mapping information.
[0008]
The second device driver installation / execution method of the present invention includes an OS installed in the apparatus, a driver that is a program for controlling the device installed in the apparatus, device information including address allocation information of the apparatus, and the OS System mapping information including OS information including type and OS version number, and an interface unit that mediates and controls transmission of information between the OS and the driver,
The interface unit includes an OS interface processing unit having an interface unit with the OS for each corresponding OS type, and a driver registration processing unit that edits driver registration information based on the system mapping information and registers the information in the OS. Then, a request is transmitted to the driver with reference to the system mapping information.
[0009]
The third device driver installation / execution method of the present invention includes an OS installed in an apparatus, a driver that is a program for controlling a device installed in the apparatus, device information including address allocation information of the apparatus, and the OS System mapping information including OS information including type and OS version number, and an interface unit that mediates and controls transmission of information between the OS and the driver,
The interface unit includes an OS interface processing unit having an interface unit with the OS for each corresponding OS type, and a driver registration processing unit that edits driver registration information based on the system mapping information and registers the information in the OS. When the request from the OS to the driver is received, the address assignment information is added and the request is sent to the driver.
The driver processes the request according to the received request and address allocation information.
[0010]
The fourth device driver installation / execution method of the present invention is the first, second, or third device driver installation / execution method, in which the interface unit is connected to the OS from the OS when starting or restarting the system. It has an initial setting processing unit that loads the system mapping information from the auxiliary storage device to the main storage device upon activation and activates the driver registration processing unit to register the driver.
[0011]
The fifth device driver installation / execution method of the present invention is the first, second, or third device driver installation / execution method, in which the interface unit is connected to the OS from the OS when starting or restarting the system. An initial setting processing unit that loads the system mapping information from a server connected to the device via a network to a main storage device in the device upon activation and activates the driver registration processing unit to register the driver. .
[0012]
The first device driver installation / execution method of the present invention is a device mounted on an apparatus based on system mapping information including device information including address allocation information of the apparatus and OS information including an OS type and version number. A driver that is a program for controlling the system is registered in the OS, and upon receiving a request from the OS, the system mapping information is referred to, necessary information is added, and the request is transmitted to the driver.
[0013]
A second device driver installation / execution method of the present invention includes a plurality of OSs prepared based on system mapping information including device information including device address allocation information and OS information including OS type and version number. Interface registration means, and based on the system mapping information, the driver registration information, which is a program for controlling the device mounted on the apparatus, is edited and registered in the OS, and upon receiving a request from the OS, the system mapping information is obtained. It is characterized by adding necessary information with reference and transmitting the request to the driver.
[0014]
A third device driver installation / execution method of the present invention includes a plurality of OSs prepared based on system mapping information including device information including device address allocation information and OS information including OS type and version number. When the interface means is selected, the registration information of the driver, which is a program for controlling the device mounted on the apparatus based on the system mapping information, is edited and registered in the OS, and upon receiving a request from the OS to the driver, the address assignment is performed. The information is added and the request is sent to the driver, and the driver processes the request according to the received request and the address allocation information.
[0015]
The fourth device driver installation / execution method of the present invention is the first, second, or third device driver installation / execution method, wherein the system is started up from the OS when the system is started or restarted. The mapping information is loaded from the auxiliary storage device in the device to the main storage device in the device.
[0016]
A fifth device driver installation / execution method according to the present invention is the first, second, or third device driver installation / execution method, wherein the system is activated by starting up from the OS when the system is started or restarted. The mapping information is loaded from a server connected to the device through a network into a main storage device in the device.
[0017]
A first program of the present invention is a program for controlling a device mounted on a device based on system mapping information including device information including device address allocation information and OS information including OS type and version number. The computer causes the computer to execute a procedure for registering the driver in the OS and a procedure for adding the necessary information with reference to the system mapping information upon receiving a request from the OS and transmitting the request to the driver.
[0018]
The second program of the present invention selects a plurality of OS interface means prepared based on system mapping information including device information including device address allocation information and OS information including OS type and version number. The procedure, the procedure for editing the registration information of the driver, which is a program for controlling the device mounted on the apparatus based on the system mapping information, and registering it in the OS, and upon receiving a request from the OS, the system mapping information is referred to. And causing the computer to execute a procedure for adding necessary information and transmitting the request to the driver.
[0019]
The third program of the present invention selects a plurality of OS interface means prepared based on system mapping information including device information including device address allocation information and OS information including OS type and version number. The procedure, the procedure for editing the registration information of the driver, which is a program for controlling the device mounted on the apparatus based on the system mapping information, and registering it in the OS, and the address allocation information when receiving a request from the OS to the driver In addition, the computer executes a procedure for sending the request to the driver and a procedure for processing the request according to the request received by the driver and the address allocation information.
[0020]
According to a fourth program of the present invention, in the first, second, or third program, the system mapping information is read from the auxiliary storage device in the device by starting from the OS when the system is started or restarted. And causing the computer to execute a procedure for loading to the main storage device in the apparatus.
[0021]
According to a fifth program of the present invention, in the first, second, or third program, a server that connects the system mapping information to the device via a network by starting from the OS when the system is started or restarted. And causing the computer to execute a procedure for loading to the main storage device in the apparatus.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of the first embodiment of the present invention. Referring to FIG. 1, the configuration of the first embodiment includes a
[0023]
The
[0024]
The
[0025]
The
[0026]
FIG. 2 is a diagram illustrating the configuration of the
[0027]
The OS
[0028]
The resource securing /
[0029]
Next, the operation of the first exemplary embodiment of the present invention will be described with reference to the drawings.
First, processing at the time of system start / resume will be described with reference to the flowchart of FIG.
[0030]
The boot program 21 stored in the
[0031]
The
[0032]
Next, the operation of the initial
[0033]
Next, the initial
[0034]
Next, the initial
[0035]
At this time, in the case of an OS that requires device registration in addition to driver registration, the OS
[0036]
Next, a detailed description will be given with reference to FIGS. 5, 6, and 7 for explaining the registration operation of the driver depending on the OS type. FIG. 5 and FIG. 6 are diagrams showing OS types (referred to as OS-A) in which driver registration and device registration are performed separately, FIG. 5 shows driver registration operation, and FIG. 6 shows device registration operation. Respectively. FIG. 7 shows an operation for registering an OS (referred to as OS-B) of a type that performs device registration simultaneously with driver registration. For convenience, it is assumed that the
[0037]
Referring to FIG. 5, the driver
[0038]
The OS
[0039]
Next, the device registration field operation will be described with reference to FIG. After completing the driver registration, the driver
[0040]
The OS
[0041]
Next, a registration operation of an OS (OS-B) of a type that performs device registration simultaneously with driver registration will be described with reference to FIG. The driver
[0042]
The OS
[0043]
Next, the operation when a device access request is actually generated will be described with reference to the flowchart of FIG. The device access request is generated in the internal processing of the APL 11 or the
[0044]
The
[0045]
The
[0046]
In this way, the
[0047]
Next, the operation when a device access request is actually generated will be described in detail by taking the case of OS-A as an example. FIG. 9 is a diagram for explaining the operation in OS-A, and F84 to F89 show the flow of information between the components.
[0048]
First, when an access request to the device C occurs in the OS 40 (OS-A: I / O system management), the
[0049]
Next, the OS 40 (OS-A, I / O system management) calls the device C create
[0050]
The driver
[0051]
The
[0052]
Next, the driver
[0053]
The operation
[0054]
Next, the driver
[0055]
Next, a second embodiment of the present invention will be described. FIG. 10 is a diagram showing the configuration of the second exemplary embodiment of the present invention. In the first embodiment, the
[0056]
Although the storage location of the
[0057]
In the operation at the time of starting and restarting the system, referring to FIG. 3, the
[0058]
In the second embodiment, when a common driver is registered in each client device in a configuration in which the information processing device in FIG. 10 is connected to a large number of networks 29 as client devices, the
[0059]
【The invention's effect】
The first effect is that it is not necessary to prepare drivers corresponding to various OSs for one device. Therefore, manufacturers that supply devices can significantly reduce the number of driver development steps. The reason is that an interface unit for controlling a part depending on the OS is placed between the OS.
[0060]
The second effect is that it is not necessary to customize a driver for each device for one device. The reason is that an interface unit that controls a part depending on the main unit is placed between the OS and an address mapping or the like is executed.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first exemplary embodiment of the present invention.
FIG. 2 is a diagram showing a detailed configuration of an
FIG. 3 is a flowchart illustrating an operation at the time of starting and restarting a system according to the first embodiment of this invention.
FIG. 4 is a flowchart illustrating an operation of an initial
FIG. 5 is a diagram for explaining a driver registration operation according to the first embodiment of this invention;
FIG. 6 is a diagram for explaining a device registration operation according to the first embodiment of this invention;
FIG. 7 is a diagram for explaining an operation for device registration simultaneously with driver registration according to the first embodiment of this invention;
FIG. 8 is a flowchart illustrating a device access request processing operation according to the first embodiment of this invention;
FIG. 9 is a diagram for explaining a device access request processing operation according to the first embodiment of this invention;
FIG. 10 is a diagram showing a configuration of a first exemplary embodiment of the present invention.
[Explanation of symbols]
10 Main memory
11 APL
20 Auxiliary storage
21 Boot program
22 System mapping information
23 System files
30 devices
31 Initial setting register
32 Status register
33 Parameter register group
40 OS
41 Device driver installation function
42 Driver management table
43 Device registration function
44 Device list
45 Device registration function
46 Device management table
50 Interface section
51 Initial setting processing section
52 OS interface processor
53 Resource reservation release processing part
54 Driver Registration Processing Unit
55 System Mapping Information Processing Unit
56 Driver interface processor
60 drivers
61 Initial setting function
62 Operation Parameter Setting Function
Claims (12)
前記インタフェース部は、対応するOSの種類毎にOSとのインターフェース手段を有するOSインタフェース処理部と、装置に搭載されたOSに対応した前記インターフェース手段と前記システムマッピング情報に基づいてドライバの登録情報を編集しOSへ登録するドライバ登録処理部とを有し、
アプリケーションソフトからOSを介して要求を受けると、前記システムマッピング情報を参照してドライバへ要求を伝達することを特徴とするデバイスドライバの組み込み・実行方式。System mapping including an OS installed in the apparatus, a driver that is a program for controlling a device mounted in the apparatus, device information including address allocation information of the apparatus, OS information including the OS type and the OS version number And an interface unit that mediates and controls transmission of information between the OS and the driver,
The interface unit includes an OS interface processing unit having an interface unit with the OS for each corresponding OS type, the interface unit corresponding to the OS installed in the apparatus, and driver registration information based on the system mapping information. A driver registration processing unit for editing and registering in the OS,
When a request is received from an application software via an OS, the device driver installation / execution method is characterized in that the request is transmitted to the driver with reference to the system mapping information.
前記インタフェース部は、対応するOSの種類毎にOSとのインターフェース手段を有するOSインタフェース処理部と、装置に搭載されたOSに対応した前記インターフェース手段と前記システムマッピング情報に基づいてドライバの登録情報を編集しOSへ登録するドライバ登録処理部とを有し、
アプリケーションソフトからOSを介して要求を受けると、前記アドレス割付情報を付加して要求をドライバに送り、前記ドライバは受け付けた要求とアドレス割付情報に従って要求を処理することを特徴とするデバイスドライバの組み込み・実行方式。System mapping including an OS installed in the apparatus, a driver that is a program for controlling a device mounted in the apparatus, device information including address allocation information of the apparatus, OS information including the OS type and the OS version number And an interface unit that mediates and controls transmission of information between the OS and the driver,
The interface unit includes an OS interface processing unit having an interface unit with the OS for each corresponding OS type, the interface unit corresponding to the OS installed in the apparatus, and driver registration information based on the system mapping information. A driver registration processing unit for editing and registering in the OS,
When a request is received from the application software via the OS, the address assignment information is added and the request is sent to the driver, and the driver processes the request according to the received request and the address assignment information. -Execution method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002109135A JP4063573B2 (en) | 2002-04-11 | 2002-04-11 | Device driver installation / execution method, installation / execution method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002109135A JP4063573B2 (en) | 2002-04-11 | 2002-04-11 | Device driver installation / execution method, installation / execution method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003303161A JP2003303161A (en) | 2003-10-24 |
JP4063573B2 true JP4063573B2 (en) | 2008-03-19 |
Family
ID=29392680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002109135A Expired - Fee Related JP4063573B2 (en) | 2002-04-11 | 2002-04-11 | Device driver installation / execution method, installation / execution method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4063573B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562436A (en) * | 2020-07-15 | 2020-08-21 | 南方电网数字电网研究院有限公司 | Equipment driving method and device of double-core intelligent electric meter |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4528144B2 (en) * | 2005-01-26 | 2010-08-18 | 富士通株式会社 | Memory dump program boot method, mechanism and program |
JP4757589B2 (en) * | 2005-09-27 | 2011-08-24 | 住友重機械工業株式会社 | Embedded control method, management apparatus, embedded control apparatus, and embedded control system |
JP5066946B2 (en) * | 2007-03-05 | 2012-11-07 | 日本電気株式会社 | OS type automatic specifying device, OS automatic starting device, processor system, OS type automatic specifying method, OS automatic starting method, program, and storage medium |
JP5125881B2 (en) * | 2008-08-22 | 2013-01-23 | 日本電気株式会社 | Electronic device and method for confirming validity of written data |
JP2012108707A (en) * | 2010-11-17 | 2012-06-07 | Toyota Motor Corp | Control apparatus |
-
2002
- 2002-04-11 JP JP2002109135A patent/JP4063573B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562436A (en) * | 2020-07-15 | 2020-08-21 | 南方电网数字电网研究院有限公司 | Equipment driving method and device of double-core intelligent electric meter |
Also Published As
Publication number | Publication date |
---|---|
JP2003303161A (en) | 2003-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1321654C (en) | Remote boot | |
US6966060B1 (en) | Method and system for remote client installation | |
US8544021B2 (en) | Execution context isolation in a driver execution environment (DXE) with marshaling arguments to a common location in response to an LPC | |
US8904518B2 (en) | Information processing device, information processing method, and program distribution system | |
JP4923058B2 (en) | Automated device driver management | |
US7546448B2 (en) | Boot architecture discovery in pre-boot environment | |
US20080222160A1 (en) | Method and system for providing a program for execution without requiring installation | |
JP5009299B2 (en) | Separate extension and device driver configuration | |
US6871223B2 (en) | System and method for agent reporting in to server | |
US20030070162A1 (en) | Information processor having multi OS and its OS update method | |
US7574592B2 (en) | Approval process for booting devices in pre-boot execution environment (PXE) | |
JP2002328813A (en) | Method for correcting program | |
CN110908753B (en) | Intelligent fusion cloud desktop server, client and system | |
US8640150B2 (en) | Information processing terminal, information processing method, and program product | |
CN110532106B (en) | Inter-process communication method, device, equipment and storage medium | |
WO2019062771A1 (en) | Method for enabling multiple instances of one android application to be opened, mobile terminal, and storage medium | |
JP4724660B2 (en) | How to manage software components that are integrated into an embedded system | |
JP2007527562A5 (en) | ||
JP4063573B2 (en) | Device driver installation / execution method, installation / execution method, and program | |
CN112256351B (en) | Method for realizing Feign component, method and device for calling micro-service | |
CN111338829B (en) | Calling method and device for remote procedure call service | |
CN111045789B (en) | Virtual machine starting method and device, electronic equipment and storage medium | |
JP2002538516A (en) | Method and apparatus for extending the function of a dynamic command with an intelligent agent | |
CN112130900B (en) | User information management method, system, equipment and medium for BMC | |
JP2000276359A (en) | Information processor, method for initializing program and program providing medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050317 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050322 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071225 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130111 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |