JPH06236286A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH06236286A JPH06236286A JP2141393A JP2141393A JPH06236286A JP H06236286 A JPH06236286 A JP H06236286A JP 2141393 A JP2141393 A JP 2141393A JP 2141393 A JP2141393 A JP 2141393A JP H06236286 A JPH06236286 A JP H06236286A
- Authority
- JP
- Japan
- Prior art keywords
- operation mode
- interrupt vector
- device driver
- vector table
- interrupt
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 7
- 239000013598 vector Substances 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Abstract
(57)【要約】
【目的】 2つ以上の動作モードを動的に切り換えてそ
れぞれの動作モード上でアプリケーションを動作させる
ことのできる情報処理装置において、動作モードの切り
換えを意識しないデバイスドライバや常駐プログラムを
正常動作させることを目的とする。 【構成】 マシンが起動した直後に、動作モードの切り
換えにより内容が変化する割り込みベクタをトラップ処
理する。動作モードが切り換わるごとにデータの受け渡
しを行い、トラップした内容を常に正しいアドレスに書
き換える。トラップした割り込みが発生したときに書き
換えた正しいアドレスに処理を分岐する。
れぞれの動作モード上でアプリケーションを動作させる
ことのできる情報処理装置において、動作モードの切り
換えを意識しないデバイスドライバや常駐プログラムを
正常動作させることを目的とする。 【構成】 マシンが起動した直後に、動作モードの切り
換えにより内容が変化する割り込みベクタをトラップ処
理する。動作モードが切り換わるごとにデータの受け渡
しを行い、トラップした内容を常に正しいアドレスに書
き換える。トラップした割り込みが発生したときに書き
換えた正しいアドレスに処理を分岐する。
Description
【0001】
【産業上の利用分野】本発明は、複数の動作モードを起
動後に切り換えることのできる情報処理装置に関するも
のである。
動後に切り換えることのできる情報処理装置に関するも
のである。
【0002】
【従来の技術】パーソナルコンピュータのユーザーは、
オペレーティングシステム(以下OSとする)を立ち上
げた後、様々なデバイスドライバや常駐プログラムを組
み込んでアプリケーションをより快適な環境で動作させ
るようにしている。例えばさらに広いメモリを得るため
のメモリドライバやかな漢字入力を行うためのモジュー
ルがこれに該当する。常駐プログラムを常駐させた場合
のメモリマップを図8を用いて説明する。なお、図は本
願の説明に必要な部分のみ概念的に示しており、一部省
略している。パーソナルコンピュータが立ち上がると、
BIOSプログラムによりシステム領域81、BIOS
領域84、割り込みベクタテーブル85が割り付けら
れ、OSがOS領域83にロードされる。残りの部分は
ユーザーエリア82と呼ばれ、この中にアプリケーショ
ンプログラム領域86、常駐プログラム領域87がその
プログラムの実行に必要な分確保される。割り込みベク
タテーブル85にはプログラムの「飛び先」を記述した
テーブルがあり、このテーブルによってBOIS領域8
4内の処理ルーチンが呼び出され、BIOS処理やハー
ドウエア割り込み等の処理が行われる。常駐プログラム
は主メモリ上に常に存在し、必要に応じて割り込みベク
タテーブル85の内容を割り込みベクタ格納領域88に
格納した後、割り込みベクタテーブル85に自身をポイ
ントするアドレスを設定することにより(この操作をト
ラップという)、本来の処理に換わって、または本来の
処理の前に独自の処理を行う。
オペレーティングシステム(以下OSとする)を立ち上
げた後、様々なデバイスドライバや常駐プログラムを組
み込んでアプリケーションをより快適な環境で動作させ
るようにしている。例えばさらに広いメモリを得るため
のメモリドライバやかな漢字入力を行うためのモジュー
ルがこれに該当する。常駐プログラムを常駐させた場合
のメモリマップを図8を用いて説明する。なお、図は本
願の説明に必要な部分のみ概念的に示しており、一部省
略している。パーソナルコンピュータが立ち上がると、
BIOSプログラムによりシステム領域81、BIOS
領域84、割り込みベクタテーブル85が割り付けら
れ、OSがOS領域83にロードされる。残りの部分は
ユーザーエリア82と呼ばれ、この中にアプリケーショ
ンプログラム領域86、常駐プログラム領域87がその
プログラムの実行に必要な分確保される。割り込みベク
タテーブル85にはプログラムの「飛び先」を記述した
テーブルがあり、このテーブルによってBOIS領域8
4内の処理ルーチンが呼び出され、BIOS処理やハー
ドウエア割り込み等の処理が行われる。常駐プログラム
は主メモリ上に常に存在し、必要に応じて割り込みベク
タテーブル85の内容を割り込みベクタ格納領域88に
格納した後、割り込みベクタテーブル85に自身をポイ
ントするアドレスを設定することにより(この操作をト
ラップという)、本来の処理に換わって、または本来の
処理の前に独自の処理を行う。
【0003】ところで、パーソナルコンピュータのよう
な小型で個人向けの計算機システムでは従来から単一な
OS、単一な動作モードで起動しアプリケーションを動
作しそして終了することが通常であった。このためデバ
イスドライバ、常駐プログラムはある固定の環境下での
み正常動作するように作成されていた。その一方で最
近、第1のOSの上で第2のOSが立ち上がりこの第2
のOSの管理下で仮想的な第1のOSが複数存在する仮
想計算機システムをサポートするOSが登場してきた。
この新しいOSでは複数の従来の旧いOSのアプリケー
ションをそれぞれ異なった動作モードで実行することが
できるものがある。
な小型で個人向けの計算機システムでは従来から単一な
OS、単一な動作モードで起動しアプリケーションを動
作しそして終了することが通常であった。このためデバ
イスドライバ、常駐プログラムはある固定の環境下での
み正常動作するように作成されていた。その一方で最
近、第1のOSの上で第2のOSが立ち上がりこの第2
のOSの管理下で仮想的な第1のOSが複数存在する仮
想計算機システムをサポートするOSが登場してきた。
この新しいOSでは複数の従来の旧いOSのアプリケー
ションをそれぞれ異なった動作モードで実行することが
できるものがある。
【0004】複数の動作モードの切り換えについてより
具体的な例で説明すると、例えばユーザの指定により表
示画面の解像度をシステムのリセットを行うことなしに
変えることができれば大変に便利である。なぜならば最
近までは国内のパーソナルコンピュータでは640ドッ
ト×400ドットという比較的解像度の低い表示画面を
持ったものが広く普及していた。ところがマンマシンイ
ンタフェースの向上や表示する情報量が増えるというメ
リットから、より高解像度の表示画面を持ったものがで
てきたが、これに対応したアプリケーションの数は少な
いからである。これらの2つのモードはVRAMの大き
さが異なるためメモリーの配置を変える必要があるがハ
ードは使用中に解像度を切り換えることができてもメモ
リ配置やBIOSが換わるので旧いOSではこれらの切
り換えを動的に行うことができず、第2のOSでの制御
が必要になる。
具体的な例で説明すると、例えばユーザの指定により表
示画面の解像度をシステムのリセットを行うことなしに
変えることができれば大変に便利である。なぜならば最
近までは国内のパーソナルコンピュータでは640ドッ
ト×400ドットという比較的解像度の低い表示画面を
持ったものが広く普及していた。ところがマンマシンイ
ンタフェースの向上や表示する情報量が増えるというメ
リットから、より高解像度の表示画面を持ったものがで
てきたが、これに対応したアプリケーションの数は少な
いからである。これらの2つのモードはVRAMの大き
さが異なるためメモリーの配置を変える必要があるがハ
ードは使用中に解像度を切り換えることができてもメモ
リ配置やBIOSが換わるので旧いOSではこれらの切
り換えを動的に行うことができず、第2のOSでの制御
が必要になる。
【0005】
【発明が解決しようとする課題】ところが、新しいOS
が立ち上がる前に起動されメモリに常駐しているデバイ
スドライバやプログラムについては新しいOSで完全に
制御することはむずかしく動作モードが途中で切り換わ
ることに対応できずに固定の動作モードのまま処理を行
うため、正常動作しなくなってしまう問題が発生する。
このため新しいOSを立ち上げるときはこのようなデバ
イスドライバ、常駐プログラムは使用できないように制
限をつけるか、または複数の動作モードで正常動作でき
るようにおのおのデバイスドライバ、常駐プログラムを
手直ししなければならなかった。
が立ち上がる前に起動されメモリに常駐しているデバイ
スドライバやプログラムについては新しいOSで完全に
制御することはむずかしく動作モードが途中で切り換わ
ることに対応できずに固定の動作モードのまま処理を行
うため、正常動作しなくなってしまう問題が発生する。
このため新しいOSを立ち上げるときはこのようなデバ
イスドライバ、常駐プログラムは使用できないように制
限をつけるか、または複数の動作モードで正常動作でき
るようにおのおのデバイスドライバ、常駐プログラムを
手直ししなければならなかった。
【0006】図9は動作モード1で第1のOSが立ち上
がった直後を示している。INTnの割り込みベクタテ
ーブル91nの内容はBIOS領域90の中の処理ルー
チンA1をポイントしており、INT nによりA1が
実行される。
がった直後を示している。INTnの割り込みベクタテ
ーブル91nの内容はBIOS領域90の中の処理ルー
チンA1をポイントしており、INT nによりA1が
実行される。
【0007】図10は前記とは異なる動作モード2で第
1のOSが立ち上がった直後を示しており、割り込みベ
クタテーブル91に動作モード1と異なる値が設定され
ているのが分かる。動作モード2ではINT nで処理
ルーチンA2が実行される。
1のOSが立ち上がった直後を示しており、割り込みベ
クタテーブル91に動作モード1と異なる値が設定され
ているのが分かる。動作モード2ではINT nで処理
ルーチンA2が実行される。
【0008】次に図11を用いて常駐プログラムの動作
を説明する。パーソナルコンピュータが図9の状態で立
ち上がった後、常駐プログラムbが起動されINT n
をトラップする。具体的にはINT nの割り込みベク
タテーブル91nの内容は常駐プログラムbのエントリ
ーアドレス(処理ルーチンの先頭アドレス)bに書き換
えられ、処理ルーチンA1のエントリーアドレスA1が
常駐プログラムb内に格納される。以上の設定によりI
NT nで常駐プログラムbを介し処理ルーチンA1が
実行される。
を説明する。パーソナルコンピュータが図9の状態で立
ち上がった後、常駐プログラムbが起動されINT n
をトラップする。具体的にはINT nの割り込みベク
タテーブル91nの内容は常駐プログラムbのエントリ
ーアドレス(処理ルーチンの先頭アドレス)bに書き換
えられ、処理ルーチンA1のエントリーアドレスA1が
常駐プログラムb内に格納される。以上の設定によりI
NT nで常駐プログラムbを介し処理ルーチンA1が
実行される。
【0009】このように常駐プログラムbがメモリに常
駐した後、INT nの割り込みが起こると常駐プログ
ラムbに制御が移る。この後、常駐プログラムbの内部
だけで処理が終了しINT nの呼び出し元にリターン
する場合と、トラップする前のBIOSのエントリーア
ドレスA1に処理を戻す場合とがある。常駐プログラム
bが動作モード1で常駐した後動作モード2に切り換わ
り、トラップ前のBIOSへ処理を戻す場合に不具合が
発生する。
駐した後、INT nの割り込みが起こると常駐プログ
ラムbに制御が移る。この後、常駐プログラムbの内部
だけで処理が終了しINT nの呼び出し元にリターン
する場合と、トラップする前のBIOSのエントリーア
ドレスA1に処理を戻す場合とがある。常駐プログラム
bが動作モード1で常駐した後動作モード2に切り換わ
り、トラップ前のBIOSへ処理を戻す場合に不具合が
発生する。
【0010】この状態で動作モード2に切り換えた場合
を図12を用いて説明する。動作モード2では割り込み
ベクターテーブル91及びBOIS領域90の内容が再
配置され、一部を除き動作モード1との共通性はない。
ここでは動作モード2のINT nの割り込みベクタア
ドレスは処理ルーチンA2に設定されている。ところが
動作モード1で常駐した常駐プログラムbはINT n
で処理ルーチンA1のエントリーアドレスをポイントし
ているが、処理ルーチンA1は存在せず、そのエントリ
ーアドレスのポイントする処理ルーチンB2に制御が移
り誤動作に至る。このため動作モードを切り換えるとき
に第2のOSでこのような常駐プログラムが内部領域に
持っているトラップ前の割り込みベクタテーブルの内容
を正しい値に書き直さないかぎりこれらの常駐プログラ
ムやデバイスドライバを第2のOS以前に組み込むこと
はできなかった。
を図12を用いて説明する。動作モード2では割り込み
ベクターテーブル91及びBOIS領域90の内容が再
配置され、一部を除き動作モード1との共通性はない。
ここでは動作モード2のINT nの割り込みベクタア
ドレスは処理ルーチンA2に設定されている。ところが
動作モード1で常駐した常駐プログラムbはINT n
で処理ルーチンA1のエントリーアドレスをポイントし
ているが、処理ルーチンA1は存在せず、そのエントリ
ーアドレスのポイントする処理ルーチンB2に制御が移
り誤動作に至る。このため動作モードを切り換えるとき
に第2のOSでこのような常駐プログラムが内部領域に
持っているトラップ前の割り込みベクタテーブルの内容
を正しい値に書き直さないかぎりこれらの常駐プログラ
ムやデバイスドライバを第2のOS以前に組み込むこと
はできなかった。
【0011】
【課題を解決するための手段】本発明の情報処理装置は
割り込みベクタテーブルを用いて割り込み処理を行う第
1のOSが起動した後、前記のOS上で第2のOSが起
動し、又第2のOSの上で2つ以上の動作モードを切り
換えてそれぞれの動作モード上でアプリケーションプロ
グラムを動作させることのできる情報処理装置におい
て、第1のOSが起動した直後に任意の割り込みベクタ
テーブルをトラップする手段と、トラップした割り込み
べクタテーブルを格納するテーブルと、第2のOS上の
アプリケーションプログラムの動作モードが変更される
と、前記テーブルの内容を変更後の動作モードに対応し
た割り込みべクタテーブルに書き換える手段と、を有す
ることを特徴とし、動作モードの変化によって割り込み
ベクタテーブルの内容が変わる割り込みベクタ番号につ
いてすべてトラップを行い内部に格納したトラップ以前
の割り込みベクタテーブルの内容を第2のOS下で動作
モードが変化するタイミングで正しい値に変更させるよ
うに第2のOSとの間でデータのやり取りを行う割り込
みベクタテーブル制御のための専用デバイスドライバを
第1のOSが立ち上がった直後に組み込むことにより、
従来からのデバイスドライバ、常駐プログラムは動作モ
ードによる割り込みベクタテーブルの内容の変化を受け
なくなり正常に動作することができる。
割り込みベクタテーブルを用いて割り込み処理を行う第
1のOSが起動した後、前記のOS上で第2のOSが起
動し、又第2のOSの上で2つ以上の動作モードを切り
換えてそれぞれの動作モード上でアプリケーションプロ
グラムを動作させることのできる情報処理装置におい
て、第1のOSが起動した直後に任意の割り込みベクタ
テーブルをトラップする手段と、トラップした割り込み
べクタテーブルを格納するテーブルと、第2のOS上の
アプリケーションプログラムの動作モードが変更される
と、前記テーブルの内容を変更後の動作モードに対応し
た割り込みべクタテーブルに書き換える手段と、を有す
ることを特徴とし、動作モードの変化によって割り込み
ベクタテーブルの内容が変わる割り込みベクタ番号につ
いてすべてトラップを行い内部に格納したトラップ以前
の割り込みベクタテーブルの内容を第2のOS下で動作
モードが変化するタイミングで正しい値に変更させるよ
うに第2のOSとの間でデータのやり取りを行う割り込
みベクタテーブル制御のための専用デバイスドライバを
第1のOSが立ち上がった直後に組み込むことにより、
従来からのデバイスドライバ、常駐プログラムは動作モ
ードによる割り込みベクタテーブルの内容の変化を受け
なくなり正常に動作することができる。
【0012】
【実施例】図1は第1のOSと第2のOSの関係、本発
明により生み出された割り込みベクタテーブルをトラッ
プするための割り込みベクタテーブル制御用デバイスド
ライバ(以下デバイスドライバ)aと第2のOSとの関
係を概念的に図式化したものである。第1のOS上で常
駐プログラム、常駐プログラム、デバイスドライバ
及び第2のOSが動作し、さらに第2のOS上で各動
作モードのアプリケーションが動作している。第2のO
S上のアプリケーションはデバイスドライバaを介して
常駐プログラム、デバイスドライバにアクセスすること
になる。
明により生み出された割り込みベクタテーブルをトラッ
プするための割り込みベクタテーブル制御用デバイスド
ライバ(以下デバイスドライバ)aと第2のOSとの関
係を概念的に図式化したものである。第1のOS上で常
駐プログラム、常駐プログラム、デバイスドライバ
及び第2のOSが動作し、さらに第2のOS上で各動
作モードのアプリケーションが動作している。第2のO
S上のアプリケーションはデバイスドライバaを介して
常駐プログラム、デバイスドライバにアクセスすること
になる。
【0013】第1のOSが起動された直後の割り込みベ
クタテーブルとBIOS領域中の処理ルーチンは従来と
同様に図9で示すようになる。ここでA1、B1……は
割り込みベクタであり、動作モード1と動作モード2で
値が変更される。(以後動作モードは2つで説明する
が、それ以上であっても本質的に同様である) この状態にデバイスドライバaを組み込んだものが図2
である。第1のOSが立ち上がった直後にデバイスドラ
イバaが起動されると、動作モードによって変更のある
割り込みベクタをすべてトラップする。割り込みベクタ
テーブル1上のトラップ前の割り込みベクタA1、B1
……はデバイスドライバa内のテーブル3に格納され、
割り込みベクタテーブル1にはデバイスドライバa内の
処理ルーチンをポイントする割り込みベクタa11、a
12……が設定される。INTnが実行されるとデバイ
スドライバa内の処理ルーチンa11の制御によりテー
ブル3で設定されたA1がポイントするBIOS処理ル
ーチンA1が実行される。
クタテーブルとBIOS領域中の処理ルーチンは従来と
同様に図9で示すようになる。ここでA1、B1……は
割り込みベクタであり、動作モード1と動作モード2で
値が変更される。(以後動作モードは2つで説明する
が、それ以上であっても本質的に同様である) この状態にデバイスドライバaを組み込んだものが図2
である。第1のOSが立ち上がった直後にデバイスドラ
イバaが起動されると、動作モードによって変更のある
割り込みベクタをすべてトラップする。割り込みベクタ
テーブル1上のトラップ前の割り込みベクタA1、B1
……はデバイスドライバa内のテーブル3に格納され、
割り込みベクタテーブル1にはデバイスドライバa内の
処理ルーチンをポイントする割り込みベクタa11、a
12……が設定される。INTnが実行されるとデバイ
スドライバa内の処理ルーチンa11の制御によりテー
ブル3で設定されたA1がポイントするBIOS処理ル
ーチンA1が実行される。
【0014】割り込みベクタのトラップ処理の手順を図
5を用いて説明する。デバイスドライバaは動作モード
1と動作モード2の割り込みベクタテーブルを認識して
おり、従って動作モード1と動作モード2でどの割り込
みベクタを変更すればよいかを知ることができる。デバ
イスドライバaが起動されるとトラップが必要な割り込
みベクタアドレスを順次指定する(S1)。次に指定し
た割り込みベクタiの内容をデバイスドライバa内のメ
モリ(テーブル3)に格納する(S2)。割り込みベク
タiにデバイスドライバa内の処理ルーチンa1iのエ
ントリーアドレスa1iを設定する(S3)。上記をト
ラップが必要なすべて割り込みベクタについて行なった
ことを確認し(S4)、トラップ処理を終了する。
5を用いて説明する。デバイスドライバaは動作モード
1と動作モード2の割り込みベクタテーブルを認識して
おり、従って動作モード1と動作モード2でどの割り込
みベクタを変更すればよいかを知ることができる。デバ
イスドライバaが起動されるとトラップが必要な割り込
みベクタアドレスを順次指定する(S1)。次に指定し
た割り込みベクタiの内容をデバイスドライバa内のメ
モリ(テーブル3)に格納する(S2)。割り込みベク
タiにデバイスドライバa内の処理ルーチンa1iのエ
ントリーアドレスa1iを設定する(S3)。上記をト
ラップが必要なすべて割り込みベクタについて行なった
ことを確認し(S4)、トラップ処理を終了する。
【0015】この後常駐プログラム(デバイスドライバ
でもよい)bがINT nの割り込みベクタをトラップ
したのを示したのが図3である。常駐プログラムbは割
り込みベクタを自身のエントリーアドレスb1に換え、
デバイスドライバaの処理ルーチンa11のアドレスを
自身の内部メモリ領域に格納する。INT nにより常
駐プログラムb、デバイスドライバaを経てBIOS処
理ルーチンA1が実行される。
でもよい)bがINT nの割り込みベクタをトラップ
したのを示したのが図3である。常駐プログラムbは割
り込みベクタを自身のエントリーアドレスb1に換え、
デバイスドライバaの処理ルーチンa11のアドレスを
自身の内部メモリ領域に格納する。INT nにより常
駐プログラムb、デバイスドライバaを経てBIOS処
理ルーチンA1が実行される。
【0016】この状態で動作モード2に切り換わった場
合、正常動作するためにはINTxxに対するBIOS
のエントリーアドレスはA1がA2に、B1がB2にと
いったように切り換わらなければならない。第2のOS
はオペレータの指示により動作モード変更を認識し、図
6で示すように、デバイスドライバaに対して動作モー
ド1の割り込みベクタを動作モード2の割り込みベクタ
に変更するよう指示する。ここで第2のOSはあらかじ
め動作モード1、2の割り込みベクタテーブルの値がわ
かっており、ある特定の割り込みまたはデバイスコント
ロール等によりこれらの値を順にデバイスドライバaに
通知することができる。
合、正常動作するためにはINTxxに対するBIOS
のエントリーアドレスはA1がA2に、B1がB2にと
いったように切り換わらなければならない。第2のOS
はオペレータの指示により動作モード変更を認識し、図
6で示すように、デバイスドライバaに対して動作モー
ド1の割り込みベクタを動作モード2の割り込みベクタ
に変更するよう指示する。ここで第2のOSはあらかじ
め動作モード1、2の割り込みベクタテーブルの値がわ
かっており、ある特定の割り込みまたはデバイスコント
ロール等によりこれらの値を順にデバイスドライバaに
通知することができる。
【0017】図4は動作モード2に切り換えた後のメモ
リの変移の概要を示す。また図7には、前述の処理によ
りデバイスドライバa内のテーブル3の割り込みベクタ
がモード2に対応した値に切り換わった状態を示す。図
4の割り込みべクタa12、a13…はデバイスドライ
バaの処理ルーチンの先頭アドレスにすでに変更されて
いるのでモードが変わっても不変である。ここでINT
nが発生すると割り込みベクタテーブル1内の値b1
により常駐プログラムbの処理ルーチンb1に制御が移
る。さらにトラップ前の処理を行うときはテーブル3に
格納されているa11の値によってデバイスドライバa
の処理ルーチンa11に制御が移り、処理ルーチンa1
1はテーブル3の値A2によりBIOS処理ルーチンA
2をポイントする。よってINT nにより動作モード
2の正しい処理ルーチンA2を実行することができる。
リの変移の概要を示す。また図7には、前述の処理によ
りデバイスドライバa内のテーブル3の割り込みベクタ
がモード2に対応した値に切り換わった状態を示す。図
4の割り込みべクタa12、a13…はデバイスドライ
バaの処理ルーチンの先頭アドレスにすでに変更されて
いるのでモードが変わっても不変である。ここでINT
nが発生すると割り込みベクタテーブル1内の値b1
により常駐プログラムbの処理ルーチンb1に制御が移
る。さらにトラップ前の処理を行うときはテーブル3に
格納されているa11の値によってデバイスドライバa
の処理ルーチンa11に制御が移り、処理ルーチンa1
1はテーブル3の値A2によりBIOS処理ルーチンA
2をポイントする。よってINT nにより動作モード
2の正しい処理ルーチンA2を実行することができる。
【0018】このように見てきた時、デバイスドライバ
aを組み込んだ後にトラップを行うデバイスドライバや
常駐プログラムは動作モードの切り換えによるBIOS
のエントリーアドレスの変更から切り放され、動作モー
ドに関わりなく動作することがわかる。
aを組み込んだ後にトラップを行うデバイスドライバや
常駐プログラムは動作モードの切り換えによるBIOS
のエントリーアドレスの変更から切り放され、動作モー
ドに関わりなく動作することがわかる。
【0019】なお本発明の実施例はデバイスドライバa
の形式で説明したが、常駐プログラムの形式であって
も、一部制約はあるが同様の効果を得ることは可能であ
る。
の形式で説明したが、常駐プログラムの形式であって
も、一部制約はあるが同様の効果を得ることは可能であ
る。
【0020】
【発明の効果】以上述べた如く、本発明による複数の動
作モードの切り換えによる割り込みベクタテーブルの変
化を制御する専用のデバイスドライバをマシンの起動時
に組み込むことにより、動作モードが固定であることを
前提として作成された、割り込みベクタテーブルをトラ
ップする常駐プログラムやデバイスドライバ(ほぼ全数
がこの形態)がこれらに修正を加えることなく、動作モ
ードの切り換えをサポートするOSで利用できるので、
従来の常駐プログラムやデバイスドライバを有効に活用
できるとともに前記のOSの制御が簡便になるという効
果を有する。
作モードの切り換えによる割り込みベクタテーブルの変
化を制御する専用のデバイスドライバをマシンの起動時
に組み込むことにより、動作モードが固定であることを
前提として作成された、割り込みベクタテーブルをトラ
ップする常駐プログラムやデバイスドライバ(ほぼ全数
がこの形態)がこれらに修正を加えることなく、動作モ
ードの切り換えをサポートするOSで利用できるので、
従来の常駐プログラムやデバイスドライバを有効に活用
できるとともに前記のOSの制御が簡便になるという効
果を有する。
【図1】第1のOSと第2のOSと割り込みベクタテー
ブル制御デバイスドライバとの関係を示す概念図。
ブル制御デバイスドライバとの関係を示す概念図。
【図2】図9の後、割り込みベクタテーブル制御デバイ
スドライバaが組み込まれたときの割り込みベクタテー
ブルの内容の変化を示した図。
スドライバaが組み込まれたときの割り込みベクタテー
ブルの内容の変化を示した図。
【図3】図2の後、常駐プログラムbが組み込まれたと
きの割り込みベクタテーブルの内容の変化を示した図。
きの割り込みベクタテーブルの内容の変化を示した図。
【図4】図3の後、動作モードが切り換わり、デバイス
ドライバaの内部メモリに格納したトラップ時の割り込
みベクタテーブルの値が変わったことを示す図。
ドライバaの内部メモリに格納したトラップ時の割り込
みベクタテーブルの値が変わったことを示す図。
【図5】デバイスドライバaの初期化時に、必要な割り
込みべクタのトラップ処理行なうことを示すフローチャ
ート。
込みべクタのトラップ処理行なうことを示すフローチャ
ート。
【図6】デバイスドライバaの動作モード変更時、第2
のOSによって呼ばれる処理フローチャート。
のOSによって呼ばれる処理フローチャート。
【図7】デバイスドライバaの内部メモリの割り込みベ
クタの格納領域が動作モードによって内容が書き換わっ
たことを示した概念図。
クタの格納領域が動作モードによって内容が書き換わっ
たことを示した概念図。
【図8】常駐プログラムを示すメモリマップ。
【図9】動作モード1で第1のOS起動直後の割り込み
ベクタテーブルとBIOSとを示した図。
ベクタテーブルとBIOSとを示した図。
【図10】動作モード2で第1のOS起動直後の割り込
みベクタテーブルとBIOSとを示した図。
みベクタテーブルとBIOSとを示した図。
【図11】図9の後、常駐プログラムbが常駐し、元の
割り込みベクタテーブルの内容が常駐プログラムbの内
部メモリに格納されたことを示す図。
割り込みベクタテーブルの内容が常駐プログラムbの内
部メモリに格納されたことを示す図。
【図12】図11の後、動作モードが2になり、BIO
Sの内容とそれにともなう割り込みベクタテーブルが変
化することを示した図。
Sの内容とそれにともなう割り込みベクタテーブルが変
化することを示した図。
1:割り込みべクタテーブル 2:BIOS領域 3:テーブル 81:システム領域 82:ユーザーエリア82 83:OS領域 84:BIOS領域 85:割り込みべクタテーブル 86:アプリケーションプログラム領域 87:常駐プログラム領域 88:割り込みべクタ格納領域
Claims (1)
- 【請求項1】 割り込みベクタテーブルを用いて割り込
み処理を行う第1のOSが起動した後、前記のOS上で
第2のOSが起動し、又第2のOSの上で2つ以上の動
作モードを切り換えてそれぞれの動作モード上でアプリ
ケーションプログラムを動作させることのできる情報処
理装置において、 第1のOSが起動した直後に任意の割り込みベクタテー
ブルをトラップする手段と、トラップした割り込みべク
タテーブルを格納するテーブルと、 第2のOS上のアプリケーションプログラムの動作モー
ドが変更されると、前記テーブルの内容を変更後の動作
モードに対応した割り込みべクタテーブルに書き換える
手段と、を有することを特徴とする情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2141393A JPH06236286A (ja) | 1993-02-09 | 1993-02-09 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2141393A JPH06236286A (ja) | 1993-02-09 | 1993-02-09 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06236286A true JPH06236286A (ja) | 1994-08-23 |
Family
ID=12054340
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2141393A Pending JPH06236286A (ja) | 1993-02-09 | 1993-02-09 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06236286A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08286972A (ja) * | 1995-04-19 | 1996-11-01 | Nec Corp | 情報処理装置 |
| US6715016B1 (en) * | 2000-06-01 | 2004-03-30 | Hitachi, Ltd. | Multiple operating system control method |
| JP2007164421A (ja) * | 2005-12-13 | 2007-06-28 | Mitsubishi Electric Corp | 並列処理装置及び並列処理方法及び並列処理プログラム |
| US7725903B2 (en) | 2002-05-17 | 2010-05-25 | Ntt Docomo, Inc. | Method for providing event to application, and electronic device using this method |
-
1993
- 1993-02-09 JP JP2141393A patent/JPH06236286A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08286972A (ja) * | 1995-04-19 | 1996-11-01 | Nec Corp | 情報処理装置 |
| US6715016B1 (en) * | 2000-06-01 | 2004-03-30 | Hitachi, Ltd. | Multiple operating system control method |
| US6892261B2 (en) * | 2000-06-01 | 2005-05-10 | Hitachi, Ltd. | Multiple operating system control method |
| US7725903B2 (en) | 2002-05-17 | 2010-05-25 | Ntt Docomo, Inc. | Method for providing event to application, and electronic device using this method |
| JP2007164421A (ja) * | 2005-12-13 | 2007-06-28 | Mitsubishi Electric Corp | 並列処理装置及び並列処理方法及び並列処理プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2590267B2 (ja) | 仮想計算機における表示制御方式 | |
| JP3546678B2 (ja) | マルチos構成方法 | |
| JP3659062B2 (ja) | 計算機システム | |
| US4859995A (en) | Mouse pointer with switchable emulation mode | |
| KR20130012126A (ko) | 예외 이벤트 처리 장치 및 방법 | |
| US20030105927A1 (en) | Method for use of stack | |
| JPH02267634A (ja) | 割込み処理装置 | |
| JP2001265609A (ja) | 演算処理装置 | |
| JP2001202253A (ja) | データ処理方法およびデータ処理装置 | |
| US6718539B1 (en) | Interrupt handling mechanism in translator from one instruction set to another | |
| EP0074479A2 (en) | Data processing apparatus with intersegment call | |
| US7552434B2 (en) | Method of performing kernel task upon initial execution of process at user level | |
| JPH06242987A (ja) | コンピュータ装置においてマイクロプロセッサの正常な処理の引継ぎをホストプロセッサが実行する方法および装置 | |
| JP2005122334A (ja) | メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム | |
| JPH06236286A (ja) | 情報処理装置 | |
| US6820153B2 (en) | Interrupt processing and memory management method in an operation processing device and a device using the same | |
| JP2003345624A (ja) | デバッグ装置及びデバッグ方法 | |
| CN1867895B (zh) | 用于除了操作一个主操作系统外还操作一个辅助操作系统的方法和装置 | |
| US20080229054A1 (en) | Method for performing jump and translation state change at the same time | |
| JP2001216172A (ja) | マルチos構成方法 | |
| US20040059890A1 (en) | Executing variable length instructions stored within a plurality of discrete memory address regions | |
| JP2007035066A (ja) | マルチos構成方法 | |
| JPH09231069A (ja) | 情報処理方法及び装置 | |
| JP2004287618A (ja) | オペレーティングシステム起動制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム起動制御装置 | |
| JPH02133833A (ja) | インサーキツトエミユレータ制御装置 |