JP2003167747A - モジュール実行方式及びモジュール実行方法 - Google Patents

モジュール実行方式及びモジュール実行方法

Info

Publication number
JP2003167747A
JP2003167747A JP2001364143A JP2001364143A JP2003167747A JP 2003167747 A JP2003167747 A JP 2003167747A JP 2001364143 A JP2001364143 A JP 2001364143A JP 2001364143 A JP2001364143 A JP 2001364143A JP 2003167747 A JP2003167747 A JP 2003167747A
Authority
JP
Japan
Prior art keywords
module
unit
emulation
symbol table
function
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
JP2001364143A
Other languages
English (en)
Inventor
Naohito Sugai
尚人 菅井
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001364143A priority Critical patent/JP2003167747A/ja
Publication of JP2003167747A publication Critical patent/JP2003167747A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 第1のOS上で、第2のOSで動作するデバ
イスドライバモジュールを実行させる方式を提供する。 【解決手段】 第2のOSが有する機能を提供するエミ
ュレーション部10と、第1のOSの機能とアドレスと
を対応付ける第1のOSシンボルテーブル20と、エミ
ュレーション部10が有する機能とアドレスとを対応付
ける第2のOSシンボルテーブル21と、デバイスドラ
イバモジュールを第1のOSへロードするデバイスドラ
イバモジュールロード部30と、上記モジュールが、第
1のOSで動作するか、第2のOSで動作するかを判別
するモジュール判別部40と、判別結果に基づいて、い
ずれかのシンボルテーブルを選択するシンボルテーブル
選択部50と、選択したシンボルテーブルを用いて、必
要なアドレスを取得するアドレス解決部60とを備え、
上記取得したアドレスを用いて、デバイスドライバモジ
ュールを実行させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置のオ
ペレーティングシステムにおけるデバイスドライバモジ
ュールの実行方式及び方法に関する。
【0002】
【従来の技術】同一命令セットのプロセッサ、同一アー
キテクチャのハードウェア(H/W)においても、動作
可能なオペレーティングシステム(OS)は複数存在
し、システムの要求に適したOSが使用される。異なる
システムのアプリケーションプログラムを実行するため
の技術としては、特開平5−151003「システム・
コントロール・プログラム、及び情報処理システム」に
示されるように、OS内にに異なるシステムの仮想的な
デバイスドライバを含むエミュレーション部を設ける方
式が知られている。
【0003】一方、既存のシステムにあるデバイスを新
規に付加する場合、使用されているOSに対応したデバ
イスドライバが必要となるが、H/Wベンダなどにより
デバイスドライバモジュールが提供される場合、提供さ
れるのは主要なOSに対応したもののみであり、すべて
のOSに対応するデバイスドライバモジュールが提供さ
れる訳ではない。
【0004】
【発明が解決しようとする課題】デバイスドライバモジ
ュールが第2のOSにのみ提供されている場合、第1の
OSで、このデバイスを利用しようとすると、第1のO
Sに対応するデバイスドライバを新たに作成する必要が
あった。
【0005】この発明は、上記のような課題を解決する
ためになされたもので、第1のOS上で、第2のOSの
モジュールを動作可能とする方式及び方法を実現する。
【0006】
【課題を解決するための手段】この発明に係るモジュー
ル実行方式は、第1のオペレーティングシステム(以
下、「OS」と記す)上で、モジュールを実行させるモ
ジュール実行方式において、第1のOS上で、第2のO
Sが有する機能を提供するエミュレーション部と、上記
第1のOSが有する第1の機能と、上記第1の機能が存
在するアドレスとを対応付ける第1のシンボルテーブル
と、上記エミュレーション部が有する第2の機能と、上
記第2の機能が存在するアドレスとを対応付ける第2の
シンボルテーブルと、上記モジュールを第1のOSへロ
ードするモジュールロード部と、上記モジュールロード
部がロードしたモジュールが、第1のOSで動作するも
のであるか、第2のOSで動作するものであるかを判別
するモジュール判別部と、上記モジュール判別部の判別
結果に基づいて、第1のシンボルテーブルと第2のシン
ボルテーブルとのいずれかのシンボルテーブルを選択す
るシンボルテーブル選択部と、上記シンボルテーブル選
択部が選択したシンボルテーブルを用いて、上記モジュ
ールの実行に必要なアドレスを取得するアドレス解決部
とを備え、上記第1のOSは、上記アドレス解決部が取
得したアドレスを用いて、モジュールを実行させること
を特徴とする。
【0007】上記モジュール実行方式は、さらに、記憶
領域と、上記モジュール判別部が判別した結果に基づい
て、上記エミュレーション部と、上記第2のシンボルテ
ーブルとを上記第1のOSへロードするエミュレーショ
ンロード部とを備え、上記エミュレーション部と、上記
第2のシンボルテーブルとは、記録領域に記憶され、上
記エミュレーションロード部によって、上記第1のOS
へロードされることを特徴とする。
【0008】上記エミュレーション部は、上記第2のO
Sの機能に対する割り込み禁止処理を、上記第1のOS
におけるプロセス切換え禁止処理として管理する割り込
み管理エミュレーション部を備えることを特徴とする。
【0009】上記モジュール実行方式は、さらに、上記
第1のOSが用いるデータ形式と上記エミュレーション
が提供する機能が用いるデータ形式とを一致させるエミ
ュレーションデータ一致部と、上記モジュール判別部で
上記第2のOSで動作する判別されたモジュールの実行
が開始したことを検出し、上記エミュレーションデータ
一致部を起動するとともに、上記モジュール判別部で上
記第2のOSで動作する判別されたモジュールの実行が
終了したことを検出し、上記エミュレーションデータ一
致部を起動するモジュール実行検出部とを備えることを
特徴とする。
【0010】上記モジュールは、デバイスドライバモジ
ュールであることを特徴とする。
【0011】この発明に係るモジュール実行方法は、第
1のオペレーティングシステム(以下、「OS」と記
す)上で、第2のOSの機能を提供するエミュレーショ
ン機能を備え、第1のOS上で、モジュールを実行させ
るモジュール実行方法において、上記第1のOSが有す
る機能と、上記機能が存在するアドレスとを対応付ける
第1のシンボルテーブルを生成し、上記エミュレーショ
ン機能が有する機能と上記機能が存在するアドレスとを
対応付ける第2のシンボルテーブルを生成し、上記モジ
ュールを第1のOSへロードし、上記モジュールがロー
ドしたモジュールが、第1のOSで動作するものである
か、第2のOSで動作するものであるかを判別し、上記
判別した結果に基づいて、第1のシンボルテーブルと第
2のシンボルテーブルとのいずれかのシンボルテーブル
を選択し、上記選択したシンボルテーブルを用いて、上
記モジュールの実行に必要なアドレスを取得し、上記第
1のOSは、上記取得したアドレスを用いて、モジュー
ルを実行させることを特徴とする。
【0012】
【発明の実施の形態】実施の形態1.図1は、実施の形
態1におけるデバイスドライバ実行方式の構成の一例を
示す図である。図1の符号において、1は第1のオペレ
ーティングシステム(以下、「OS」と記す)、10は
第2のOSのエミュレーション部(エミュレーション
部)、20は第1のOSシンボルテーブル(第1のシン
ボルテーブル)、21は第2のOSシンボルテーブル
(第2のシンボルテーブル)、30はデバイスドライバ
モジュールロード部(モジュールロード部)である。4
0はモジュール判別部、50はシンボルテーブル選択
部、60はモジュールアドレス解決部(アドレス解決
部)、70はデバイスドライバモジュールである。図2
は、デバイスドライバモジュール70の詳細な構造の一
例を示す図である。ヘッダは、第1のOSのドライバモ
ジュールであるか、第2のOSのドライバモジュールで
あるかを判別するための情報を含む。
【0013】シンボルテーブルは、ある「名前」(シン
ボル名)と、その名前の機能が存在するOS内のアドレ
スの対応表である。第1のOSシンボルテーブル20
は、第1のOS自身が持つ機能(第1の機能)に対する
ものである。第2のOSシンボルテーブル21は、OS
エミュレーション部10が持つエミュレーション機能
(第2の機能)に対応したものである。
【0014】第2のエミュレーション部10は、第1の
OS上で、第2のOSが有する機能を提供する。デバイ
スドライバモジュールロード部30は、上記モジュール
を第1のOSへロードする。モジュール判別部40は、
上記モジュールロード部30がロードしたモジュール
が、第1のOSで動作するものであるか、第2のOSで
動作するものであるかを判別する。シンボルテーブル選
択部50は、モジュール判別部40の判別結果に基づい
て、第1のOSシンボルテーブル20と第2のOSシン
ボルテーブル21とのいずれかのシンボルテーブルを選
択する。モジュールアドレス解決部60は、シンボルテ
ーブル選択部50が選択したシンボルテーブルを用い
て、上記デバイスドライバモジュールの実行に必要なア
ドレスを取得する。なお、OS(第1のOS、第2のO
Sを含む)は、コンピュータのCPUで動作する。ま
た、図1に一例として示した第1のOSの各構成要素に
ついてもCPUで動作し、必要に応じてコンピュータの
記憶領域を利用する。各テーブル(第1のシンボルテー
ブル、第2のシンボルテーブルを含む)は、コンピュー
タが利用可能な記憶領域に記憶される。
【0015】実施の形態1における動作を、図3のフロ
ー図を用いて説明する。利用者により、指定されたファ
イルのドライバモジュールのロードが指示されると、フ
ァイルロード部へ指定されたファイルのドライバモジュ
ールが通知される。ファイルロード部は、S101で指
定されたドライバモジュールをOS1内にロードし、モ
ジュール判別部を呼び出す。モジュール判別部は、S1
02でロードされたドライバモジュールのヘッダを参照
し、第1のOSのドライバモジュールであるか、第2の
OSのドライバモジュールであるかを判別する。
【0016】第1のOSのドライバモジュールであると
判定された場合、S104でモジュール判別部は、シン
ボルテーブル選択部に対し、第1のOSのシンボルテー
ブルを使用するよう設定する。一方、第2のOSのドラ
イバモジュールであると判定された場合、S105で第
2のOSのシンボルテーブルを使用するよう設定する。
【0017】アドレス解決部は、S104あるいはS1
05で設定されたシンボルテーブルを参照し、S106
でドライバモジュールの未解決アドレスを解決する。
【0018】ここで、アドレス解決について説明する。
ドライバモジュール内のコード部には、命令の操作の対
象となるアドレスが未確定のものが含まれている。例え
ば、OSの機能として“copy_from_use
r”ルーチンを使用する場合、モジュールに含まれる命
令としては“call 0”となっており、実行するた
めには0の部分を、OSの“copy_from_us
er”ルーチンの実際のアドレスに置き換える必要があ
る。アドレス解決が必要な命令がコード部のどこに存在
するかは、再配置情報として、「コード部内のアドレス
解決が必要な命令の位置、名前」を組とした形式で記録
されている。アドレス解決を実際に行なうためには、再
配置情報に含まれる名前をシンボルテーブルで検索し、
得られたアドレスを再配置情報で示される命令のアドレ
ス部に書き込む。
【0019】OS1にロードされたドライバモジュール
が第1のOSのものの場合、OS1のシンボルテーブル
20を使用してアドレス解決を行うため、ドライバモジ
ュールはOS1の機能を使用して動作するよう設定され
る。OS2にロードされたドライバモジュールが第2の
OSに対応したものの場合、OSエミュレーション部の
機能に対応したシンボルテーブル21を使用してアドレ
ス解決を行う。
【0020】これにより、OSにロードされた第2のO
Sのドライバモジュールは、OS機能の呼び出しにおい
て、OSエミュレーション部10を使用して動作するよ
うになる。
【0021】この実施の形態1のデバイスドライバ実行
方式によれば、ドライバモジュールの対応するOSを判
別し、対応するシンボルテーブルを使用してアドレス解
決が行われるため、第2のOSのデバイスドライバを第
2のOSのエミュレーション機能を使用して動作させる
ことが可能となる。
【0022】以上のように、この実施の形態のモジュー
ル実行方式及び方法は、オペレーティングシステム(O
S)におけるデバイスドライバモジュールの実行方式に
おいて、デバイスドライバモジュールのロード部と、デ
バイスドライバモジュールが第1のOSのものである
か、第2のOSのものであるかを判別するモジュール判
別部と、第2のOSの機能を第1のOS上で提供するエ
ミュレーション部と、第1のOSシンボルテーブル、第
2のOSシンボルテーブルと、このいずれかを選択する
シンボルテーブル選択部と、ロードされたデバイスドラ
イバモジュールのアドレス解決をシンボルテーブル選択
部により選択されたシンボルテーブルを使用して行うモ
ジュールアドレス解決部とを有し、第1のOS上で、第
2のOSのデバイスドライバモジュールを動作させるこ
とを特徴とする。
【0023】実施の形態2.図4は、実施の形態2にお
けるデバイスドライバ実行方式の構成の一例を示す図で
ある。図4の符号において、80はOSエミュレーショ
ンモジュール、90はOSエミュレーションモジュール
ロード部(エミュレーションロード部)である。その他
の符号は、図1と同一である。
【0024】エミュレーションロード部90は、モジュ
ール判別部40が判別した結果に基づいて、記憶領域に
記憶されているエミュレーション部10と第2のシンボ
ルテーブル21とを第1のOSへロードする。この実施
の形態では、第2のOSエミュレーション部10と、第
2のシンボルテーブル21とは、OS上記常駐するので
はなく、エミュレーションモジュール80として記録領
域に記憶され、エミュレーションモジュールロード部9
0によって、第1のOSへロードされる。
【0025】実施の形態2における動作を、図5のフロ
ー図を用いて説明する。利用者により、指定されたファ
イルのドライバモジュールのロードが指示されると、フ
ァイルロード部へ指定されたファイルのドライバモジュ
ールが通知される。ファイルロード部は、S201で指
定されたドライバモジュールをOS内にロードし、モジ
ュール判別部を呼び出す。モジュール判別部は、S20
2でロードされたドライバモジュールのヘッダを参照
し、第1のOSのドライバモジュールであるか、第2の
OSのドライバモジュールであるかを判別する。
【0026】第1のOSのドライバモジュールであると
判定された場合、S204でモジュール判別部は、シン
ボルテーブル選択部に対し、第1のOSのシンボルテー
ブルを使用するよう設定する。一方、第2のOSのドラ
イバモジュールであると判定された場合、S205でO
Sエミュレーションモジュールロード部により、第2の
OSのシンボルテーブルとOSエミュレーション部を含
むOSエミュレーションモジュールをOS内のロードす
る。続いて、S206でシンボルテーブル選択部に対
し、第2のOSのシンボルテーブルを使用するよう設定
する。
【0027】アドレス解決部は、S204あるいはS2
06で設定されたシンボルテーブルを参照し、S207
でドライバモジュールの未解決アドレスを解決する。
【0028】この実施の形態2のデバイスドライバ実行
方式によれば、ドライバモジュールが第2のOSのもの
であると判定された時点で、第2のOSのシンボルテー
ブルとOSエミュレーション部を含むOSエミュレーシ
ョンモジュールがOS内にロードされるため、第1のO
Sにおいて第2のOSのデバイスドライバを動作させる
場合にも、メモリ使用の効率を向上させることが可能と
なる。
【0029】以上のように、この実施の形態のモジュー
ル実行方式及び方法は、デバイスドライバモジュールの
ロード部と、デバイスドライバモジュールが第1のOS
のものであるか、第2のOSのものであるかを判別する
モジュール判別部と、第2のOSの機能を第1のOS上
で提供するエミュレーション部と第2のOSシンボルテ
ーブルを含むOSエミュレーションモジュールと、OS
エミュレーションモジュールロード部とを有し、モジュ
ール判別部によりデバイスドライバモジュールが第2の
OSのものと判別された場合に、OSエミュレーション
モジュールがOSエミュレーションモジュールロード部
によりOS内にロードされることを特徴とする。
【0030】実施の形態3.図6は、実施の形態3にお
けるデバイスドライバ実行方式の構成の一例を示す図で
ある。11は割り込み管理エミュレーション部であり、
2は第1のOSにおけるプロセス管理部、3は割り込み
管理部、71はドライバモジュールである。その他の符
号は、実施の形態1と同一である。
【0031】第2のOSエミュレーション部10は、第
2のOSの機能に対する割り込みの処理を管理し、第2
のOSの機能に対する割り込み禁止処理を、第1のOS
におけるプロセス切換え禁止処理として管理する。
【0032】実施の形態1及び2で示したように、第2
のOSのドライバモジュールがOS内にロードされた場
合、OSエミュレーション部に対応するシンボルテーブ
ルを参照して実行されるアドレス解決により、OS機能
の呼び出しにおいてOSエミュレーション部10を使用
して動作するようになる。従って、第2のOSのドライ
バモジュール71における割り込みの禁止あるいは許可
の処理は、エミュレーション部10内の割り込み管理エ
ミュレーション部11の呼び出しとなっている。
【0033】第2のOSのドライバモジュールの実行に
より割り込み禁止が行なわれた場合の動作を、図7を用
いて説明する。図7(A)は、第2のOSのドライバモ
ジュールの動作を示すものであり、図7(B)は、OS
1及びOSエミュレーション部10の動作を示すもので
ある。
【0034】S301において、ドライバモジュールの
割り込み禁止がおこなわれると、OSエミュレーション
部10内の割り込み管理エミュレーション部11が呼び
出される。割り込み管理エミュレーション部11は、S
351において、プロセス管理部2に対し、ドライバモ
ジュールを実行しているプロセスのプロセス切換え禁止
の設定を行う。
【0035】その後、S302、ドライバモジュールの
処理が継続されるが、この状態で割り込みが発生した場
合、OS1としての割り込み禁止は行なわれていないた
め、S352において、OS1の割り込み管理部が受理
する。S353で、割り込み要因から対応する割り込み
がOS1のものか、OS2のドライバモジュールで処理
されるべきのものかを判定する。
【0036】割り込みがOS1により処理されるものの
場合、S355でOS1のハンドラによる通常の割り込
み処理を行なうが、プロセス切換えが禁止されているた
め、割り込み処理の終了後のS356におけるプロセス
切換えチェックでは、プロセス切換えが発生することは
ない。
【0037】割り込みが第2のOSのドライバモジュー
ルのハンドラにより処理される必要がある場合、S35
4において、割り込みが発生したことを割り込み管理エ
ミュレーション部11に記録した後、割り込み処理を終
了し、ドライバモジュールの処理に復帰する。
【0038】S303で、ドライバモジュールの実行に
より割り込み許可が行なわれると、割り込み管理エミュ
レーション部11は、S357において、プロセス管理
部2に対し、ドライバモジュールを実行しているプロセ
スのプロセス切換え許可の設定を行う。
【0039】続いて、S358において、第2のOSの
ドライバモジュールに対する割り込みが割り込み管理エ
ミュレーション部11に記録されているかを調べる。記
録されている割り込みがあれば、S359でドライバモ
ジュール内のハンドラを実行する。
【0040】図7(A)に示す通り、第2のOSのドラ
イバモジュールの実行は、S301の割り込み禁止から
S303の割り込み許可までの間、ドライバモジュール
からの見かけ上は中断することなく実行され、その間に
割り込みが発生した場合には、S303の割り込み許可
後に、S304で割り込みハンドラが起動される。一
方、OS1の割り込み処理は、第2のOSのドライバモ
ジュールの割り込み禁止区間の長さにかかわらず、通常
通り処理される。
【0041】この実施の形態3のデバイスドライバ実行
方式によれば、第1のOSの動作に影響を与えることな
く、第2のOSのドライバモジュールを動作させること
が可能となる。
【0042】以上のように、この実施の形態のモジュー
ル実行方式及び方法は、割り込み管理エミュレーション
部を含むエミュレーション部を有し、割り込み管理エミ
ュレーション部は、第2のOSのドライバモジュールの
実行による割り込み禁止操作を、第1のOSにおけるプ
ロセス切換え禁止操作として処理することを特徴とす
る。
【0043】実施の形態4.図8は、実施の形態4にお
けるデバイスドライバ実行方式の構成の一例を示す図で
ある。100はドライバモジュール実行検出部、12は
エミュレーションデータ一致部であり、その他の符号
は、実施の形態1,3と同一である。
【0044】エミュレーションデータ一致部12は、第
1のOSが用いるデータ形式と上記エミュレーションが
提供する機能が用いるデータ形式とを一致させる。モジ
ュール実行検出部100は、第2のOSで動作するモジ
ュールの実行が開始したことを検出し、エミュレーショ
ンデータ一致部12を起動するとともに、第2のOSで
動作するモジュールの実行が終了したことを検出し、エ
ミュレーションデータ一致部12を起動する。
【0045】第2のOSのドライバモジュールを、OS
エミュレーション部を介して第1のOSで実行する場
合、このドライバモジュールは、本来第2のOS上で動
作するように作成されているものであり、ドライバモジ
ュールが直接参照するデータも第2のOSと完全に同一
の形式である必要がある。一方、システム上で実際に動
作しているのはOS1であり、ドライバモジュールがO
Sの動作状況のデータを使用する場合には、OS1のデ
ータを直接参照することはできない。OS1のデータ形
式とOS2のデータ形式が異なることに起因する。この
ため、エミュレーションデータは、ドライバモジュール
がOS1のデータを第2のOSの形式に変換したものを
保持するためのものである。
【0046】ドライバモジュール実行検出部100につ
いて説明する。ドライバモジュール71が呼び出される
のは、OS1のドライバエントリからの呼び出しと、O
S1の割り込み管理部から割り込み処理ハンドラの呼び
出しのみである。一方、ドライバモジュールが第2のO
Sのものの場合、ドライバモジュールからOS1に対す
る呼び出しは、OSエミュレーション部の呼び出しに限
られる。従って、ドライバモジュールの実行開始は、 (1)ドライバモジュールのOS1のドライバエントリ
からの呼び出し。 (2)ドライバモジュールのOS1の割り込み管理部か
らの呼び出し。 (3)OSエミュレーション部からドライバモジュール
への復帰。 また、ドライバモジュールの実行終了は、 (1)ドライバモジュールのOS1のドライバエントリ
への復帰。 (2)ドライバモジュールのOS1の割り込み管理部へ
の復帰。 (3)ドライバモジュールからOSエミュレーション部
の呼び出し。 の各箇所が実行されることにより検出可能である。
【0047】実施の形態4における動作を、図9を用い
て説明する。S401で、第2のOSのデバイスドライ
バモジュールの実行が開始されると、ドライバモジュー
ル実行検出部100がエミュレーションデータ一致部1
2を起動する。エミュレーションデータ一致部12は、
S402において、エミュレーションモジュールが参照
するOSのデータをエミュレーションデータに転送す
る。
【0048】S403で、ドライバモジュール実行によ
りエミュレーションデータが参照される。また、S40
4ドライバモジュール実行により、エミュレーションデ
ータが変更される。これらのエミュレーションデータの
参照及び変更は、ドライバモジュール実行中は、任意の
順序で、任意の回数行うことが可能である。
【0049】S404で、ドライバモジュール実行検出
部100がドライバモジュールの実行終了を検出する
と、S405において、ドライバモジュールが変更した
エミュレーションモデータをOSのデータ領域に転送す
る。
【0050】この実施の形態4のデバイスドライバ実行
方式によれば、ドライバモジュールの実行中は、第1の
OSのデータと、第2のOSのドライバモジュールが使
用するエミュレーションデータを一致させることが可能
となる。
【0051】以上のように、この実施の形態のモジュー
ル実行方式及び方法は、第2のOSのデバイスドライバ
モジュールの実行検出部と、エミュレーションデータ一
致部を含むエミュレーション部を有し、エミュレーショ
ンデータ一致部は、上記実行検出部による第2のOSの
ドライバモジュールの実行開始時と終了時に第1のOS
データとエミュレーションモジュール内のデータを一致
させることを特徴とする。
【0052】実施の形態5.上記実施の形態1から4で
は、モジュールの一例として、デバイスドライバモジュ
ール用いて説明したが、これに限られるわけではない。
これ以外のモジュールであっても、この発明に係るモジ
ュール実行方式及び方法を適用することは可能である。
【0053】実施の形態6.この発明に係るモジュール
実行方式及び方法は、ソフトウェアによって実現するこ
ともできる。ソフトウェアは、プログラムによって作成
され、上記プログラムを計算機にロードすることによっ
てモジュール実行方式及び方法を実現する。また、上記
プログラムは、計算機で読み取り可能な記録媒体へ記録
することが可能であり、記録媒体に記録されたプログラ
ムを計算機へロードすることによって、モジュール実行
方式及び方法を計算機上で実現することができる。
【0054】
【発明の効果】モジュールが動作するOSを判別し、判
別した結果に基づいて選択するシンボルテーブルを用い
ることによって、自己のOSとは異なるOSで動作する
モジュールを、エミュレーション機能を用いて実行させ
ることができる。
【0055】また、上記エミュレーション機能とシンボ
ルテーブルとを記録領域に記憶し、必要に応じてロード
させることによって、OSのメモリを有効に利用するこ
とができる。
【0056】エミュレーション機能に対する割り込みを
管理することによって、自己のOSの動作に影響を与え
ることなく処理を進めることができる。
【0057】エミュレーションデータ一致部を有するこ
とにより、エミュレーション機能を用いてデータを参照
することできるとともに、エミュレーション機能によっ
て更新されたデータを自己のOSへ反映することができ
る。
【0058】また、このモジュール方式及び方法によれ
ば、デバイスドライバモジュール、及び、その他のモジ
ュールに適用することができる。
【図面の簡単な説明】
【図1】 実施の形態1におけるデバイスドライバ実行
方式の構成の一例を示す図。
【図2】 デバイスドライバモジュール70の詳細な構
造の一例を示す図。
【図3】 実施の形態1における動作の一例を表すフロ
ー図。
【図4】 実施の形態2におけるデバイスドライバ実行
方式の構成の一例を示す図。
【図5】 実施の形態2における動作の一例を表すフロ
ー図。
【図6】 実施の形態3におけるデバイスドライバ実行
方式の構成の一例を示す図。
【図7】 第2のOSのドライバモジュールの実行によ
り割り込み禁止が行なわれた場合の動作の一例を表すフ
ロー図。
【図8】 実施の形態4におけるデバイスドライバ実行
方式の構成の一例を示す図。
【図9】 実施の形態4における動作の一例を表すフロ
ー図。
【符号の説明】
1 第1のオペレーティングシステム、2 第1のOS
におけるプロセス管理部、3 割り込み管理部、10
第2のOSのエミュレーション部、11 割り込み管理
エミュレーション部、12 エミュレーションデータ一
致部、20 第1のOSシンボルテーブル、21 第2
のOSシンボルテーブル、30 デバイスドライバモジ
ュールロード部、40 モジュール判別部、50 シン
ボルテーブル選択部、60 モジュールアドレス解決
部、70 デバイスドライバモジュール(ドライバモジ
ュール)、71 ドライバモジュール、80 OSエミ
ュレーションモジュール、90 OSエミュレーション
モジュールロード部、100ドライバモジュール実行検
出部。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 第1のオペレーティングシステム(以
    下、「OS」と記す)上で、モジュールを実行させるモ
    ジュール実行方式において、 第1のOS上で、第2のOSが有する機能を提供するエ
    ミュレーション部と、 上記第1のOSが有する第1の機能と、上記第1の機能
    が存在するアドレスとを対応付ける第1のシンボルテー
    ブルと、 上記エミュレーション部が有する第2の機能と、上記第
    2の機能が存在するアドレスとを対応付ける第2のシン
    ボルテーブルと、 上記モジュールを第1のOSへロードするモジュールロ
    ード部と、 上記モジュールロード部がロードしたモジュールが、第
    1のOSで動作するものであるか、第2のOSで動作す
    るものであるかを判別するモジュール判別部と、 上記モジュール判別部の判別結果に基づいて、第1のシ
    ンボルテーブルと第2のシンボルテーブルとのいずれか
    のシンボルテーブルを選択するシンボルテーブル選択部
    と、 上記シンボルテーブル選択部が選択したシンボルテーブ
    ルを用いて、上記モジュールの実行に必要なアドレスを
    取得するアドレス解決部とを備え、 上記第1のOSは、上記アドレス解決部が取得したアド
    レスを用いて、モジュールを実行させることを特徴とす
    るモジュール実行方式。
  2. 【請求項2】 上記モジュール実行方式は、さらに、記
    憶領域と、 上記モジュール判別部が判別した結果に基づいて、上記
    エミュレーション部と、上記第2のシンボルテーブルと
    を上記第1のOSへロードするエミュレーションロード
    部とを備え、 上記エミュレーション部と、上記第2のシンボルテーブ
    ルとは、記録領域に記憶され、上記エミュレーションロ
    ード部によって、上記第1のOSへロードされることを
    特徴とする請求項1記載のモジュール実行方式。
  3. 【請求項3】 上記エミュレーション部は、上記第2の
    OSの機能に対する割り込み禁止処理を、上記第1のO
    Sにおけるプロセス切換え禁止処理として管理する割り
    込み管理エミュレーション部を備えることを特徴とする
    請求項1または請求項2記載のモジュール実行方式。
  4. 【請求項4】 上記モジュール実行方式は、さらに、 上記第1のOSが用いるデータ形式と上記エミュレーシ
    ョンが提供する機能が用いるデータ形式とを一致させる
    エミュレーションデータ一致部と、 上記モジュール判別部で上記第2のOSで動作する判別
    されたモジュールの実行が開始したことを検出し、上記
    エミュレーションデータ一致部を起動するとともに、上
    記モジュール判別部で上記第2のOSで動作する判別さ
    れたモジュールの実行が終了したことを検出し、上記エ
    ミュレーションデータ一致部を起動するモジュール実行
    検出部とを備えることを特徴とする請求項1または請求
    項2記載のモジュール実行方式。
  5. 【請求項5】 上記モジュールは、デバイスドライバモ
    ジュールであることを特徴とする請求項1から4いずれ
    かに記載のモジュール実行方式。
  6. 【請求項6】 第1のオペレーティングシステム(以
    下、「OS」と記す)上で、第2のOSの機能を提供す
    るエミュレーション機能を備え、第1のOS上で、モジ
    ュールを実行させるモジュール実行方法において、 上記第1のOSが有する機能と、上記機能が存在するア
    ドレスとを対応付ける第1のシンボルテーブルを生成
    し、 上記エミュレーション機能が有する機能と上記機能が存
    在するアドレスとを対応付ける第2のシンボルテーブル
    を生成し、 上記モジュールを第1のOSへロードし、 上記モジュールがロードしたモジュールが、第1のOS
    で動作するものであるか、第2のOSで動作するもので
    あるかを判別し、 上記判別した結果に基づいて、第1のシンボルテーブル
    と第2のシンボルテーブルとのいずれかのシンボルテー
    ブルを選択し、 上記選択したシンボルテーブルを用いて、上記モジュー
    ルの実行に必要なアドレスを取得し、 上記第1のOSは、上記取得したアドレスを用いて、モ
    ジュールを実行させることを特徴とするモジュール実行
    方法。
JP2001364143A 2001-11-29 2001-11-29 モジュール実行方式及びモジュール実行方法 Pending JP2003167747A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001364143A JP2003167747A (ja) 2001-11-29 2001-11-29 モジュール実行方式及びモジュール実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001364143A JP2003167747A (ja) 2001-11-29 2001-11-29 モジュール実行方式及びモジュール実行方法

Publications (1)

Publication Number Publication Date
JP2003167747A true JP2003167747A (ja) 2003-06-13

Family

ID=19174373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001364143A Pending JP2003167747A (ja) 2001-11-29 2001-11-29 モジュール実行方式及びモジュール実行方法

Country Status (1)

Country Link
JP (1) JP2003167747A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217193A (ja) * 2007-03-01 2008-09-18 Nec Corp プレリンクシステム、プレリンク方法、及びプログラム
JP2009205566A (ja) * 2008-02-29 2009-09-10 Nec Corp 仮想計算機装置、計算資源活用方法、および、プログラム
CN101114940B (zh) * 2007-06-26 2011-12-07 中兴通讯股份有限公司 实现模块逻辑化的方法
JP2012519910A (ja) * 2009-03-04 2012-08-30 ヴイエムウェア インク 仮想化により導入される待ち時間の管理

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217193A (ja) * 2007-03-01 2008-09-18 Nec Corp プレリンクシステム、プレリンク方法、及びプログラム
CN101114940B (zh) * 2007-06-26 2011-12-07 中兴通讯股份有限公司 实现模块逻辑化的方法
JP2009205566A (ja) * 2008-02-29 2009-09-10 Nec Corp 仮想計算機装置、計算資源活用方法、および、プログラム
JP4730386B2 (ja) * 2008-02-29 2011-07-20 日本電気株式会社 仮想計算機装置、計算資源活用方法、および、プログラム
JP2012519910A (ja) * 2009-03-04 2012-08-30 ヴイエムウェア インク 仮想化により導入される待ち時間の管理

Similar Documents

Publication Publication Date Title
US6996828B1 (en) Multi-OS configuration method
KR100306456B1 (ko) 오퍼레이팅시스템의재기동방법
JP4327363B2 (ja) 周辺リソース構成のためのacpiソース言語の自動生成
US8112745B2 (en) Apparatus and method for capabilities verification and restriction of managed applications in an execution environment
WO2018099292A1 (zh) 一种进程管理方法及装置
US20070266231A1 (en) Portable Electronic Device and Method for Loading Resource Data of the Portable Electronic Device
US8499143B2 (en) Method for shortening the boot time of a computer system
JPH1115675A (ja) 割込みコントローラ及び制御システム
JP5338435B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP4026667B2 (ja) マルチos構成方法
CN108595192B (zh) 一种应用程序的安装方法及终端设备
US20080184365A1 (en) Information processing method, information processing apparatus, information processing program, and recording medium on which the program is recorded
JP2003167747A (ja) モジュール実行方式及びモジュール実行方法
CN110955885B (zh) 一种数据写入方法及装置
KR20040071831A (ko) 자바 프로그램에서 클래스 로딩 과정을 단축시키는 시스템및 방법
US20040123092A1 (en) System and method for making BIOS routine calls from different hardware partitions
WO2007049423A1 (ja) コンピュータシステム、及びそれにおける基本プログラムの起動方法
JP2006048506A (ja) プロセッサ、メモリ管理システム及びメモリ管理プログラム
KR20020081909A (ko) 컴퓨터의 부팅 방법 및 컴퓨터 시스템
KR860000494B1 (ko) 이니셜 프로그램 로우드방식(Initial program load 方式)
JP2007510221A (ja) デバイスのオペレーティング・モードを選択的にイネーブルするためのシステム
US6789211B2 (en) Storing in a reserved memory location data indicative of a stack location which stores the entry point of a dynamically loaded file
JP3652878B2 (ja) 副ロードモジュールのトランザクション同期置換方式
JP2005284925A (ja) コンピュータシステムおよびプログラム更新方法
KR100650574B1 (ko) 피씨아이를 이용한 이중화 장치의 심볼 테이블 복원 방법

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Effective date: 20040518

Free format text: JAPANESE INTERMEDIATE CODE: A7424

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041019