JP3863902B2 - 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体 - Google Patents

命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3863902B2
JP3863902B2 JP2005363038A JP2005363038A JP3863902B2 JP 3863902 B2 JP3863902 B2 JP 3863902B2 JP 2005363038 A JP2005363038 A JP 2005363038A JP 2005363038 A JP2005363038 A JP 2005363038A JP 3863902 B2 JP3863902 B2 JP 3863902B2
Authority
JP
Japan
Prior art keywords
instruction
change
information
change information
unit
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
Application number
JP2005363038A
Other languages
English (en)
Other versions
JP2006120176A (ja
Inventor
尚人 菅井
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 JP2005363038A priority Critical patent/JP3863902B2/ja
Publication of JP2006120176A publication Critical patent/JP2006120176A/ja
Application granted granted Critical
Publication of JP3863902B2 publication Critical patent/JP3863902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置において、オペレーティングシステム動作中に命令の一部を書き換えることにより、その機能を動的に変更する命令変更方式及び方法に関する。
特開平9−62500では、計算機システムの稼働中に、不具合を部分的に修正するパッチ処理を行うために、プロセスを最高優先度で実行することによりパッチ処理中に他のプロセスの動作を停止させ、誤動作を防止する方法を開示している。
現在広く使用されている米国Intel CorporationのPentium(登録商標)プロセッサのように、プロセッサの命令長が単一ではない場合、1命令を書き込む場合にも、複数の命令を書き換える必要が生じることがある。例えば、スタック操作命令は1バイト、レジスタ転送命令が2バイトであるのに対し、ジャンプ命令は5バイトの領域を使用する場合がある。
一方、オペレーティングシステムには、プロセスの応答性を向上させるため、割り込み発生時に直ちにプロセス切り替えを行うことが可能な構造を持つものがある。割り込みの発生により、それまで待ち状態に置かれていたプロセスが実行可能状態となり、そのプロセスの優先度が割り込み発生時に実行されていたプロセスよりも高ければ、優先度の低いプロセスの実行権が横取りされる。この場合、オペレーティングシステム内の任意の箇所で、プロセスの切り替えが発生する。
特開平9−62500号公報
上述のように、複数の命令を1命令に書き換えようとする場合、書き換えられる複数の命令の間で、プロセス実行権の横取りが行われている場合には、もしその書き換えを行ってしまうと、実行が中断されていたプロセスの再開時に、書き換えられた命令の途中から実行を再開しようとすることとなり、障害が発生してしまうという問題がある。
この発明は、上記のような課題を解決するためになされたもので、オペレーティングシステム内の任意の箇所で実行権の横取りによるプロセス切り替えが可能な構造を持ったオペレーティングシステムにおいて、命令の書き換え箇所で、プロセスの実行権の横取りが行われていないことを保証する方式及び方法を提供する。
この発明に係る命令変更方式は、複数の命令からなる複数のプロセスにより構成されたオペレーティングシステムを動作させる情報処理装置に備えられ、オペレーティングシステムの動作中に、オペレーティングシステムを構成する複数のプロセスのいずれかのプロセスを書き換える命令変更方式において、
変更する命令に関する情報を入力し、入力した情報に基づいて、変更する命令が格納されているアドレスを検索して取得し、少なくとも上記アドレスと変更後の命令の内容を記述した変更後命令とを含む変更情報を生成し、生成した変更情報を出力する書き換え要求生成部と、
上記アドレスと上記変更後命令とを含む変更情報を記録する記録領域である変更情報記録領域と、
上記書き換え要求生成部から変更情報を入力し、入力した変更情報に基づいて、上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ記録する変更情報記録部と、
変更情報記録領域に記録された変更情報を読み込み、読み込んだ変更情報に基づいて、オペレーティングシステムを構成する複数のプロセスの中のプロセスを判定して、判定したプロセスの命令の書き換えを実行する命令書き換え部と、
上記複数のプロセスを、上記複数のプロセスを実行する優先度を用いて管理するプロセス管理部と
を備え、
上記プロセス管理部は、上記命令書き換え部の優先度を、実行可能状態にあるプロセスの中で最低レベルに設定することを特徴とする。
この発明に係る命令変更方式は、複数の命令からなる複数のプロセスにより構成されたオペレーティングシステムを動作させる情報処理装置に備えられ、オペレーティングシステムの動作中に、オペレーティングシステムを構成する複数のプロセスのいずれかのプロセスを書き換える命令変更方式において、
変更する命令に関する情報を入力し、入力した情報に基づいて、変更する命令が格納されているアドレスを検索して取得し、少なくとも上記アドレスと変更後の命令の内容を記述した変更後命令とを含む変更情報を生成し、生成した変更情報を出力する書き換え要求生成部と、
上記アドレスと上記変更後命令とを含む変更情報を記録する記録領域である変更情報記録領域と、
上記書き換え要求生成部から変更情報を入力し、入力した変更情報に基づいて、上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ記録する変更情報記録部と、
オペレーティングシステムによって実行される実行可能状態にあるプロセスのプロセス状態を取得し、取得したプロセス状態の情報を出力するプロセス状態取得部と、
上記プロセス状態取得部からプロセス状態の情報を入力し、入力したプロセス状態の情報に基づいて、命令書き換えの可否を判定する命令書き換え判定部と、
上記命令書き換え部は、上記命令書き換え判定部に命令の書き換えの可否を判断する指示を出力し、上記命令書き換え判定部から命令書き換えが可能であると判定された場合に、変更情報記録領域に記録された変更情報を読み込み、読み込んだ変更情報に基づいて、オペレーティングシステムを構成する複数のプロセスの中のプロセスを判定して、判定したプロセスの命令の書き換えを実行する命令書き換え部と
を備えることを特徴とする。
上記プロセス状態取得部は、実行可能状態にあるプロセスを抽出し、抽出した実行可能状態にあるプロセスのプロセス状態の情報を上記命令書き換え判定部へ出力し、
上記命令書き換え判定部は、上記実行可能状態にあるプロセス状態の情報を入力し、入力した実行可能状態にあるプロセス状態の情報に基づいて、実行可能状態にあるプロセスが命令を中断した時点のアドレスを取得し、取得したアドレスが、上記変更情報記録領域に記録されている変更情報に含まれるアドレスと一致する場合は、命令の書き換えができないと判断することを特徴とする。
上記命令変更方式は、さらに、上記命令書き換え判定部から、変更情報に含まれるアドレスと一致するアドレスを有するプロセスのプロセス状態の情報を入力し、入力したプロセス状態の情報を用いて、上記プロセスの優先度を取得し、取得したプロセスの優先度より低い優先度を上記命令書き換え部へ設定することを上記プロセス管理部に指示する命令書き換え優先度設定部を備え、
上記プロセス管理部は、上記命令書き換え優先度設定部の指示に基づいて、上記命令書き換え部へ優先度を設定することを特徴とする。
上記書き換え要求生成部は、さらに、変更前の命令に復元することを要求する復元要求情報を含む変更する命令に関する情報を入力し、上記アドレスと上記変更後命令と上記復元要求情報とを含む変更情報を生成し、
上記変更情報記録領域は、さらに、変更前の命令である変更前命令と、上記復元要求情報とを記録する記録領域を備え、
上記変更情報記録部は、上記変更情報に上記復元要求情報が含まれている場合は、上記アドレスに格納されている命令を変更前命令として読み込み、読み込んだ変更前命令と上記復元要求情報と上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ書き込み、
上記書き換え要求生成部は、命令を復元する復元要求情報を入力し、入力した命令復元情報に基づいて、命令を復元することを上記命令書き換え部へ指示し、
上記命令書き換え部は、上記書き換え要求生成部からの指示に基づいて、上記変更情報記録領域に記録されている変更情報を読み込み、読み込んだ変更情報に復元要求情報が記録されている場合に、読み込んだ変更情報からアドレスと変更前命令とを抽出し、抽出した変更前命令を上記アドレスへ書き込むことを特徴とする。
上記命令変更方式は、さらに、上記複数のプロセスを、上記複数のプロセスを実行する優先度を用いて管理するプロセス管理部を備え、
上記書き換え要求生成部は、さらに、変更前の命令に復元することを要求する復元要求情報を含む変更する命令に関する情報を入力し、上記アドレスと上記変更後命令と上記復元要求情報とを含む変更情報を生成し、
上記変更情報記録領域は、さらに、変更前の命令である変更前命令と、上記復元要求情報とを記録する記録領域を備え、
上記変更情報記録部は、上記変更情報に上記復元要求情報が含まれている場合は、上記アドレスに格納されている命令を変更前命令として読み込み、読み込んだ変更前命令と上記復元要求情報と上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ書き込み、
上記書き換え要求生成部は、命令を復元する復元要求情報を入力し、入力した命令復元情報に基づいて、命令を復元することを上記命令書き換え部へ指示し、
上記命令書き換え部は、上記書き換え要求生成部からの指示に基づいて、上記変更情報記録領域に記録されている変更情報を読み込み、読み込んだ変更情報に復元要求情報が記録されている場合に、読み込んだ変更情報からアドレスと変更前命令とを抽出し、抽出した変更前命令を上記アドレスへ書き込むことを特徴とする。
この発明に係る命令変更方式は、変更する命令に関する変更情報を記録する変更情報記録領域を有し、複数の命令からなる複数のプロセスにより構成されたオペレーティングシステムを動作させる情報処理装置で実行され、オペレーティングシステムの動作中に、オペレーティングシステムを構成する複数のプロセスのいずれかのプロセスを書き換える命令変更方法において、
上記複数のプロセスを、上記複数のプロセスを実行する優先度を用いて管理し、
利用者から変更する命令に関する情報を入力し、
入力した情報に基づいて、変更する命令が格納されているアドレスを検索して取得し、
少なくとも上記アドレスと変更後の命令の内容を記述した変更後命令とを含む変更情報を生成し、
生成した変更情報を上記変更情報記録領域に記録し、
上記変更情報記録領域に記録された変更情報を読み込み、読み込んだ変更情報に基づいて、オペレーティングシステムを構成する複数のプロセスの中のプロセスを判定して、上記プロセスの命令の書き換えを実行する命令書き換えプロセスを生成し、
生成した命令書き換えプロセスを実行する順番が実行可能状態のプロセスの中で最後になるように優先度に設定し、
上記命令書き換えプロセスを実行することを特徴とする。
この発明に係る命令変更プログラムは、変更する命令に関する変更情報を記録する変更情報記録領域を有し、複数の命令からなる複数のプロセスにより構成されたオペレーティングシステムを動作させる情報処理装置で実現され、オペレーティングシステムの動作中に、オペレーティングシステムを構成する複数のプロセスのいずれかのプロセスを書き換える命令変更を上記情報処理装置で実現する命令変更プログラムにおいて、
上記複数のプロセスを、上記複数のプロセスを実行する優先度を用いて管理する手順と、
変更する命令に関する情報を入力手順と、
入力した情報に基づいて、変更する命令が格納されているアドレスを検索して取得する手順と、
少なくとも上記アドレスと変更後の命令の内容を記述した変更後命令とを含む変更情報を生成する手順と、
生成した変更情報を上記変更情報記録領域に記録する手順と、
上記変更情報記録領域に記録された変更情報を読み込み、読み込んだ変更情報に基づいて、オペレーティングシステムを構成する複数のプロセスの中のプロセスを判定して、上記プロセスの命令を書き換えを実行する命令書き換えプロセスを生成する手順と、
生成した命令書き換えプロセスを実行する順番が実行可能状態のプロセスの中で最後になるように優先度に設定する手順と、
上記命令書き換えプロセスを実行する手順と
を備えることを特徴とする。
この発明に係る命令変更プログラムを記録した計算機で読み取り可能な記録媒体は、変更する命令に関する変更情報を記録する変更情報記録領域を有し、複数の命令からなる複数のプロセスにより構成されたオペレーティングシステムを動作させる情報処理装置が読み取ることが可能である記録媒体であって、オペレーティングシステムの動作中に、オペレーティングシステムが有する命令を書き換える命令変更を上記情報処理装置で実現する命令変更プログラムを記録した記録媒体において、
上記複数のプロセスを、上記複数のプロセスを実行する優先度を用いて管理する手順と、
変更する命令に関する情報を入力手順と、
入力した情報に基づいて、変更する命令が格納されているアドレスを検索して取得する手順と、
少なくとも上記アドレスと変更後の命令の内容を記述した変更後命令とを含む変更情報を生成する手順と、
生成した変更情報を上記変更情報記録領域に記録する手順と、
上記変更情報記録領域に記録された変更情報を読み込み、読み込んだ変更情報に基づいて、オペレーティングシステムを構成する複数のプロセスの中のプロセスを判定して、上記プロセスの命令を書き換えを実行する命令書き換えプロセスを生成する手順と、
生成した命令書き換えプロセスを実行する順番が実行可能状態のプロセスの中で最後になるように優先度に設定する手順と、
上記命令書き換えプロセスを実行する手順と
を備えることを特徴とする。
この発明の命令変更方式及び命令変更方法によれば、動作中のオペレーティングシステムの機能の変更(命令の変更)を容易かつ安全に行うことができる。
また、命令書き換えを行うアドレスで動作を中断しているプロセスの存在を確認することにより、動作中のオペレーティングシステムの機能の変更(命令の変更)を容易かつ安全に行うことができる。
さらに、命令書き換えを行うアドレスで動作を中断しているプロセスが存在するかを判定することができ、またそのようなプロセスが存在する場合でも可能な限り速やかに命令の書き換えを行うことができるため、動作中のオペレーティングシステムの機能を安全にかつ迅速に変更することができる。
また、デバッグやオペレーティングシステム動作の検証の目的で、一時的にオペレーティングシステムの機能を変更した場合にも、オペレーティングシステムの本来の機能を容易に復元することができる。
実施の形態1.
図1は、この発明の実施の形態1における情報処理装置の一例を表す構成図である。
この情報処理装置は、複数の命令からなる複数のプロセスにより構成されたオペレーティングシステムを動作させる情報処理装置に備えられ、オペレーティングシステムの動作中に、オペレーティングシステムを構成する複数のプロセスのいずれかのプロセスを書き換える命令変更方式及び命令変更方法について説明する。
10はオペレーティングシステム、20は変更情報記録部、30は命令書き換え部であり、11はプロセス管理部である。
100は命令書き換え要求を行う命令書き換え要求プロセス(書き換え要求プロセス)であり、110は命令書き換えを行う命令書き換えプロセス(書き換えプロセス)である。プロセス管理部11は、命令書き換え要求プロセス100を変更情報記録部20へ出力し、命令書き換えプロセス110を命令書き換え部30へ出力する。
プロセス管理部11は、生成された複数のプロセスを管理する。プロセス管理部11は、複数のプロセスを、上記複数のプロセスを実行する優先度を用いて、実行可能状態のプロセスの実行する順番を管理する。
書き換え要求生成部70は、利用者から変更する命令に関する情報を入力し、入力した情報に基づいて、変更する命令が格納されているアドレスを検索して取得し、少なくとも上記アドレスと変更後の命令を記述した変更後命令(書き換え命令)とを含む変更情報を生成する。書き換え要求生成部70は、生成した変更情報に基づいて命令書き換え要求プロセス100を生成し、出力する。
変更情報記録領域は、上記アドレスと上記変更後命令とを含む変更情報を記録する記録領域である。変更情報記録領域は、図1中には、明示していないが、変更情報記録部20へ備えられている。
変更情報記録部20は、書き換え要求生成部70が生成した命令書き換え要求プロセス100を入力する。変更情報記録部20は、入力した命令書き換え要求プロセスから変更情報を抽出し、上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ記録する。
命令書き換え部30は、変更情報記録領域に記録された変更情報を読み込み、読み込んだ変更情報に基づいて、オペレーティングシステムを構成する複数のプロセスのいずれかのプロセスが有する命令を書き換える。
図2は、変更情報記録部20に含まれる変更情報記録領域の構成の一例を示す図である。
この実施の形態では、プロセス管理部11は、命令書き換え部30の優先度、すなわち、書き換える命令を有する命令書き換えプロセスの優先度を、実行可能状態にあるプロセスの中で最低レベルに設定する。
変更情報記録領域は、図1には示していない。変更情報記録部20は、命令書き換え要求プロセス100を受け取る。
この発明の実施の形態1における情報処理装置の動作を図2を用いて説明する。
図3(a)は、書き換え要求動作を示すフロー図である。
まず、変更情報記録部20は、S101で書き換えを行う命令が格納されているアドレスを変更情報記録領域に記録する。続いて、S102で書き換える命令を記録し、S103で書き換え要求プロセスの識別子を記録する。S104で命令書き換えの完了待ち状態となる。
書き換え要求を行ったプロセスが待ち状態になったため、プロセス管理部11は、実行可能状態にあるプロセスのうち、最も優先度の高いものを選択し実行する。
そして、最低優先度に設定されている命令書き換えの動作が開始される時点では実行権が横取りされているプロセスは存在しないため、命令の書き換えを行っても障害が発生することはない。
命令書き換えの動作を、図3(b)を用いて説明する。
命令書き換え部30は、命令書き換えプロセス110を受け取る。S121で、命令書き換え部30は、プロセス管理部11に対しプロセス切り替えを停止させる指示を行う。続いて、S122で、変更情報記録部20に記録されているアドレスに書き換える命令を書き込む。
S123で、変更情報記録領域に記録されているプロセス識別子を参照し、命令書き換え要求プロセス100に対し、プロセス管理部11を介して命令書き換えの完了を通知する。
この時点で、命令書き換え要求プロセス100は、待ち状態から実行可能状態に遷移するが、プロセス切り替えは停止されているため、命令書き換えプロセス110の実行は継続する。
S124で、プロセス管理部11に対しプロセス切り替えを再開させる指示を行う。
ここで、プロセス切り替えが再開されると、書き換え要求を行ったプロセスの優先度は、最低優先度に設定されている書き換えプロセスよりも必ず高い値を持つため、プロセス管理部11は、実行可能状態となっている書き換え要求プロセスの実行を再開する。
図2(a)において、書き換え要求プロセスは、S105で実行が再開されると、S106で変更情報記録部の書き換え完了フラグを設定し、終了する。
以上のように、この実施の形態の命令変更方式は、複数のプロセスが並行して実行される情報処理装置において、オペレーティングシステムの動作中にオペレーティングシステム内の命令を書き換えることによりその機能を変更する命令変更方式であって、書き換えアドレスと変更する命令を含む情報を変更情報記録領域へ記録する変更情報記録部20と、変更情報記録領域に保持された変更情報を参照し、主記憶上のオペレーティングシステム内の命令を書き換える命令書き換え部30とを備え、命令書き換え部30は、最低優先度により実行されることを特徴とする。
この実施の形態1の情報処理装置によれば、動作中のオペレーティングシステムの機能の変更を容易かつ安全に行うことが可能となる。
実施の形態2.
図4は、この発明の実施の形態2における情報処理装置の一例の構成図である。
40はプロセス状態取得部、50は命令書き換え判定部であり、その他の符号は、実施の形態1と同一である。
プロセス状態取得部40は、オペレーティングシステムによって実行される実行可能状態にあるプロセスのプロセス状態を取得し、取得したプロセスのプロセス状態の情報を出力する。
命令書き換え判定部50は、プロセス状態取得部40からプロセスのプロセス状態の情報を入力し、入力したプロセスのプロセス状態の情報に基づいて、命令書き換えの可否を判定する。具体的には、命令書き換え判定部50は、実行可能状態にあるプロセス状態の情報を入力し、入力した実行可能状態にあるプロセスのプロセス状態の情報に基づいて、実行可能状態にあるプロセスが命令を中断した時点のアドレスを取得し、取得したアドレスが、上記変更情報記録領域に記録されている変更情報に含まれるアドレスと一致する場合は、命令の書き換えができないと判断する。
実施の形態2における動作を、フロー図5および図6を用いて説明する。
まず、変更情報記録部20は、S201で書き換えを行うアドレスを変更情報記録領域に記録し、S202で書き換える命令を記録する。続いて、命令書き換え部30は、S203でプロセス切り替えを禁止する。このプロセス切り替えの禁止は、次に行う命令書き換え可否の判定時に、プロセスの状態が変化することを防止するために必要となる。S204で命令書き換え判定部50により命令書き換えの可否を判定する。
命令書き換え判定部50による判定の結果、書き換え可能であれば、命令書き換え部30は、S206で変更情報記録領域に記録されているアドレスに、書き換える命令を書き込む。命令書き換え部30は、続くS207では変更情報記録領域の書き換え完了フラグを設定し、S208でプロセス切り替えを再開させる指示を行い終了する。
命令書き換え判定部の詳細な動作を、図6を用いて説明する。
S221でプロセス状態取得部40を介して、実行可能状態にあるプロセスが存在するかを調べる。存在しない場合には、命令書き換え判定部50は、実行権が横取りされているプロセスは存在しないことを示しているため、S222において、命令書き換えが可能と判定して終了する。
S221で実行可能状態にあるプロセスが存在した場合、命令書き換え判定部50は、続くS223でそのプロセスの実行中断アドレスを取得する。そして、S224で書き換え命令の配置されるアドレス範囲、すなわち、書き換えアドレスから書き換え命令長の範囲に、S223で取得したアドレスが含まれるかを調べる。
もし、含まれる場合には、命令書き換えを行ってしまうと、その実行可能状態プロセスの実行再開時に障害を発生させてしまうため、S225において命令書き換えは不可と判定して終了する。
実行可能プロセスの中断アドレスが、書き換え命令の範囲に含まれない場合には、実行可能状態にあるプロセスが他に存在しないかを調べ、S221からの処理を繰り返す。
以上のように、この実施の形態の命令変更方式は、複数のプロセスが並行して実行される情報処理装置において、オペレーティングシステムの動作中にオペレーティングシステム内の命令を書き換えることによりその機能を変更する方式であって、書き換えアドレスと変更する命令を含む情報を記録する変更情報記録部20と、変更情報記録部に保持された変更情報を参照し、主記憶上のオペレーティングシステム内の命令を書き換える命令書き換え部30と、オペレーティングシステム上で実行されるプロセスの状態を取得するプロセス状態取得部40と、取得したプロセス状態に基づき命令書き換えの可否を判定する命令書き換え判定部50とを備えたことを特徴とする。
この実施の形態2の情報処理装置によれば、命令書き換えを行うアドレスで動作を中断しているプロセスが存在するかを判定することができるため、動作中のオペレーティングシステムの機能を安全に変更することが可能となる。
実施の形態3.
図7は、この発明の実施の形態3における情報処理装置の一例の構成図である。
60は書き換え優先度設定部であり、その他の符号は、実施の形態2と同一である。
命令書き換え優先度設定部60は、命令書き換え判定部50から、変更情報に含まれるアドレスと一致するアドレスを有するプロセスのプロセス状態の情報を入力する。命令書き換え優先度設定部60は、入力したプロセス状態の情報を用いて、上記プロセスの優先度を取得し、取得したプロセスの優先度より低い優先度を命令書き換え部30の優先度へ、すなわち、書き換え命令を有している命令書き換えプロセスの優先度へに設定することをプロセス管理部11に指示する。
プロセス管理部11は、命令書き換え優先度設定部60の指示に基づいて、命令書き換え部30の優先度、すなわち書き換え命令を有している命令書き換えプロセスの優先度を設定する。
実施の形態3における動作を図8を用いて説明する。
まず、変更情報記録部20は、S301で書き換えを行うアドレスを変更情報記録領域に記録し、S302で書き換える命令を記録する。続いて、命令書き換え部30は、S303でプロセス切り替えを禁止し、S204で命令書き換え判定部により命令書き換えの可否を判定する。命令書き換え判定部50の動作は、実施の形態2の場合と同一である。
命令書き換え判定部50による判定の結果、書き換え可能であれば、命令書き換え部30は、S306で変更情報記録領域に記録されているアドレスに、書き換える命令を書き込む。命令書き換え部30は、続くS307では変更情報記録領域の書き換え完了フラグを設定し、S308でプロセス切り替えを再開させる指示を行い終了する。
S305で書き換え不可と判定された場合、書き換え優先度設定部60は、S310で命令書き換えアドレスで実行を中断しているプロセスの優先度を取得する。プロセス管理部11は、S311では、命令書き換え部30の優先度をS310で取得した優先度より1低い値に設定する。命令書き換え部30は、続いてS312でプロセス切り替えを再開させる指示を行ない、S313で自身の実行を中断する。
この時点で、命令書き換えアドレスにおいて実行を中断していたプロセスの優先度が、命令書き換え部30の優先度よりも高くなるため、実行を中断していたプロセスの実行が再開される。そして、そのプロセスの実行が完了、あるいは待ち状態となった場合には、直ちに命令書き換え部30によって命令書き換えプロセスの実行が再開される。命令書き換えプロセスは、他の命令実行プロセスよりも優先度が1だけ低く設定されているため、命令書き換えプロセスの前にその他のプロセスが実行されることはない。
S314で実行が再開されると、S315で一旦プロセス切り替えを停止する指示を行い、S316で変更情報記録領域に記録されているアドレスに、書き換える命令を書き込む。続いて、プロセス管理部11は、S317で命令書き換え部30の優先度をS311での変更を行う前の値に復元し、S307で変更情報記録領域の書き換え完了フラグを設定する。S308でプロセス切り替えを再開させる指示を行い終了する。
以上のように、この実施の形態の命令変更方式は、実施の形態2の命令変更方式に加え、プロセス状態取得部40により取得されたプロセス優先度に基づき命令書き換えプロセスの優先度を決定するする書き換え優先度設定部60を備え、命令書き換え部30は、書き換え優先度設定部60により設定された優先度により実行されることを特徴とする。
この実施の形態3の情報処理装置によれば、命令書き換えを行うアドレスで動作を中断しているプロセスが存在するかを判定することができ、また、そのようなプロセスが存在する場合でも可能な限り速やかに命令の書き換えを行うことができるため、動作中のオペレーティングシステムの機能を安全にかつ迅速に変更することが可能となる。
実施の形態4.
図9は、この発明の実施の形態4における情報処理装置の一例の構成図である。
120は、書き換えた命令の復元要求を行うプロセスである。その他の符号は、実施の形態3と同一である。
実施の形態4の変更情報記録領域は、少なくとも、アドレスと、変更後命令と、変更前の命令である変更前命令(元命令保存部)と、復元要求情報(復元フラグ)とを記録する。
実施の形態4では、書き換え要求生成部70、変更情報記録部20、命令書き換え部30とは、実施の形態1で説明した機能に加え、下記の機能を実施する。その他の機能は、実施の形態1で説明した機能と同様である。
書き換え要求生成部70は、変更後命令に加え、変更前の命令に復元することを要求する復元要求情報を含む変更する命令に関する情報を入力する。従って、書き換え要求生成部70は、アドレスと変更後命令と復元要求情報とを含む変更情報を生成する。
変更情報記録部20は、変更情報に復元要求情報が含まれている場合は、上記アドレスに格納されている命令を変更前命令として読み込み、読み込んだ変更前命令と上記復元要求情報と上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ書き込む。
さらに、書き換え要求生成部70は、利用者から命令を復元する復元要求情報を入力し、入力した命令復元情報に基づいて、命令を復元することを命令書き換え部へ指示する。
書き換え要求生成部70は、上記命令復元情報を含む、復元を要求する復元要求プロセス120を生成する。復元要求プロセス120は、変更情報記録部20を介して、命令書き換え部30へ命令の復元を指示することになる。
命令書き換え部30は、書き換え要求生成部70からの指示に基づいて、変更情報記録領域に記録されている変更情報を読み込む。命令書き換え部30は、読み込んだ変更情報に復元要求情報が記録されている場合に、読み込んだ変更情報からアドレスと変更前命令とを抽出し、抽出した変更前命令を上記アドレスへ書き込む。
図10は、この発明の実施の形態4における変更情報記録領域の構成の一例を示す図である。
実施の形態4における動作を、図11および図12を用いて説明する。
図11は、命令書き換え時の動作を示すフロー図である。
まず、変更情報記録部20は、S401で書き換えを行うアドレスを変更情報記録領域に記録し、S402で書き換える命令を記録する。続いて、命令書き換え部30は、S403でプロセス切り替えを禁止し、S204で命令書き換え判定部により命令書き換えの可否を判定する。命令書き換え判定部50の動作は、実施の形態3の場合と同一である。
命令書き換え判定部50による判定の結果、書き換え可能であれば、S406で書き換え領域に含まれる命令、すなわち、書き換えアドレスから書き換え命令長の範囲に含まれる命令を変更情報記録領域の元命令保存部に保存する。S407で変更情報記録領域に記録されているアドレスに、書き換える命令を書き込む。続くS408では、変更情報記録領域の書き換え完了フラグを設定し、S408でプロセス切り替えを再開させる指示を行い終了する。
S405で書き換え不可と判定された場合、S410で命令書き換えアドレスで実行を中断しているプロセスの優先度を取得する。S411では、自身の優先度をS410で取得した優先度より1低い値に設定する。続いてS412でプロセス切り替えを再開させる指示を行ない、S413で自身の実行を中断する。
S414で実行が再開されると、S415で一旦プロセス切り替えを停止する指示を行い、S416で変更情報記録領域に記録されているアドレスに、書き換える命令を書き込む。続いて、S417で自身の優先度をS411での変更を行う前の値に復元し、S407で変更情報記録領域の書き換え完了フラグを設定する。S408でプロセス切り替えを再開させる指示を行い終了する。
S406およびS416において、書き換え命令の保存を行う点が実施の形態3に比べて異なっている。
図12は、命令復元時の動作を示すフロー図である。
S421で、変更情報記録領域の復元を行うアドレスを含む部分について、書き換え完了フラグが設定されているかを調べる。設定されていない場合には復元の必要はないため、そのまま終了する。
書き換え完了フラグが設定されている場合には、S422において、プロセス管理部に対しプロセス切り替えを停止する指示を行う。続くS423で、元命令保存部に保存されている変更前の命令を、下記和えアドレスに書き込む。S424で書き換え完了フラグを消去し、S425でプロセス切り替えを再開する指示を行って終了する。
以上のように、この実施の形態の命令変更方式は、実施の形態1〜3の命令変更方式に加え、変更情報記録領域は、変更前命令保存部と、復元要求フラグを含み、命令書き換え部30は、復元要求フラグが設定されている場合に、変更情報記録領域中の変更前命令保存部に含まれる命令を復元することを特徴とする。
この実施の形態4の情報処理装置によれば、デバッグやオペレーティングシステム動作の検証の目的で、一時的にオペレーティングシステムの機能を変更した場合にも、オペレーティングシステムの本来の機能を容易に復元することが可能となる。
これにより、デバッグやオペレーティングシステム動作の検証のために、動作中のオペレーティングシステムの命令を書き換え、その機能を安全に変更することが可能となる。
実施の形態5.
上記実施の形態1〜4で説明した命令変更方式及び命令変更方法は、情報処理装置(計算機)で実現されるプログラム(命令変更プログラム)によって実現することができる。
また、上記命令変更プログラムは、上記情報処理装置が読み取り可能な記録媒体へ記録することができる。上記記録媒体へ記録された命令変更プログラムは、上記情報処理装置に備えられる記憶領域に読みこまれ、実行される。
実施の形態1における情報処理装置の一例を表す構成図。 変更情報記録部20に含まれる変更情報記録領域の構成の一例を示す図。 (a)は命令の書き換え要求動作を示すフロー図。(b)は命令の書き換え動作を示すフロー図。 実施の形態2における情報処理装置の一例の構成図。 実施の形態2の動作を示すフロー図。 命令書き換え判定部の詳細な動作フロー図。 実施の形態3における情報処理装置の一例の構成図。 実施の形態3における動作を示すフロー図。 実施の形態4における情報処理装置の一例の構成図。 実施の形態4における変更情報記録領域の構成の一例を示す図。 命令書き換え時の動作を示すフロー図。 命令復元時の動作を示すフロー図。
符号の説明
10 オペレーティングシステム、11 プロセス管理部、20 変更情報記録部、30 命令書き換え部、40 プロセス状態取得部、50 命令書き換え判定部、60 書き換え優先度設定部、70 書き換え要求生成部、100 命令書き換え要求プロセス、110 命令書き換えプロセス、120 復元要求を行うプロセス。

Claims (2)

  1. 複数の命令からなる複数のプロセスにより構成されたオペレーティングシステムを動作させる情報処理装置に備えられ、オペレーティングシステムの動作中に、オペレーティングシステムを構成する複数のプロセスのいずれかのプロセスを書き換える命令変更方式において、
    変更する命令に関する情報を入力し、入力した情報に基づいて、変更する命令が格納されているアドレスを検索して取得し、少なくとも上記アドレスと変更後の命令の内容を記述した変更後命令とを含む変更情報を生成し、生成した変更情報を出力する書き換え要求生成部と、
    上記アドレスと上記変更後命令とを含む変更情報を記録する記録領域である変更情報記録領域と、
    上記書き換え要求生成部から変更情報を入力し、入力した変更情報に基づいて、上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ記録する変更情報記録部と、
    オペレーティングシステムによって実行される実行可能状態にあるプロセスのプロセス状態を取得し、取得したプロセス状態の情報を出力するプロセス状態取得部と、
    上記プロセス状態取得部からプロセス状態の情報を入力し、入力したプロセス状態の情報に基づいて、命令書き換えの可否を判定する命令書き換え判定部と、
    記命令書き換え判定部に命令の書き換えの可否を判断する指示を出力し、上記命令書き換え判定部から命令書き換えが可能であると判定された場合に、変更情報記録領域に記録された変更情報を読み込み、読み込んだ変更情報に基づいて、オペレーティングシステムを構成する複数のプロセスの中のプロセスを判定して、判定したプロセスの命令の書き換えを実行する命令書き換え部と
    を備え、
    上記プロセス状態取得部は、
    実行可能状態にあるプロセスを抽出し、抽出した実行可能状態にあるプロセスのプロセス状態の情報を上記命令書き換え判定部へ出力し、
    上記命令書き換え判定部は、
    上記実行可能状態にあるプロセス状態の情報を入力し、入力した実行可能状態にあるプロセス状態の情報に基づいて、実行可能状態にあるプロセスが命令を中断した時点のアドレスを取得し、取得したアドレスが、上記変更情報記録領域に記録されている変更情報に含まれるアドレスと一致する場合は、命令の書き換えができないと判断し、
    上記命令変更方式は、さらに、
    上記複数のプロセスを、上記複数のプロセスを実行する優先度を用いて管理するプロセス管理部と、
    上記命令書き換え判定部から、変更情報に含まれるアドレスと一致するアドレスを有するプロセスのプロセス状態の情報を入力し、入力したプロセス状態の情報を用いて、上記プロセスの優先度を取得し、取得したプロセスの優先度より低い優先度を上記命令書き換え部へ設定することを上記プロセス管理部に指示する命令書き換え優先度設定部とを備え、
    上記プロセス管理部は、
    上記命令書き換え優先度設定部の指示に基づいて、上記命令書き換え部へ優先度を設定することを特徴とする命令変更方式。
  2. 記書き換え要求生成部は、さらに、変更前の命令に復元することを要求する復元要求情報を含む変更する命令に関する情報を入力し、上記アドレスと上記変更後命令と上記復元要求情報とを含む変更情報を生成し、
    上記変更情報記録領域は、さらに、変更前の命令である変更前命令と、上記復元要求情報とを記録する記録領域を備え、
    上記変更情報記録部は、上記変更情報に上記復元要求情報が含まれている場合は、上記
    アドレスに格納されている命令を変更前命令として読み込み、読み込んだ変更前命令と上記復元要求情報と上記アドレスと上記変更後命令とを含む変更情報を上記変更情報記録領域へ書き込み、
    上記書き換え要求生成部は、命令を復元する復元要求情報を入力し、入力した命令復元情報に基づいて、命令を復元することを上記命令書き換え部へ指示し、
    上記命令書き換え部は、上記書き換え要求生成部からの指示に基づいて、上記変更情報記録領域に記録されている変更情報を読み込み、読み込んだ変更情報に復元要求情報が記録されている場合に、読み込んだ変更情報からアドレスと変更前命令とを抽出し、抽出した変更前命令を上記アドレスへ書き込むことを特徴とする請求項に記載された命令変更方式。
JP2005363038A 2005-12-16 2005-12-16 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体 Expired - Fee Related JP3863902B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005363038A JP3863902B2 (ja) 2005-12-16 2005-12-16 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005363038A JP3863902B2 (ja) 2005-12-16 2005-12-16 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001166057A Division JP2002358203A (ja) 2001-06-01 2001-06-01 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2006120176A JP2006120176A (ja) 2006-05-11
JP3863902B2 true JP3863902B2 (ja) 2006-12-27

Family

ID=36537935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005363038A Expired - Fee Related JP3863902B2 (ja) 2005-12-16 2005-12-16 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3863902B2 (ja)

Also Published As

Publication number Publication date
JP2006120176A (ja) 2006-05-11

Similar Documents

Publication Publication Date Title
KR100413915B1 (ko) 마이크로프로세서에기초한컴퓨터시스템과,그구동방법및그를위한백업시스템
JP5655677B2 (ja) ハイパーバイザ置き換え方法および情報処理装置
JP5093259B2 (ja) Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム
KR101636870B1 (ko) 최소 부트 이미지의 생성 방법 및 장치
US9298472B2 (en) High-speed restart method, information processing device, and program
JPH03278126A (ja) 計算機システム立上げ方式
JP5225003B2 (ja) メモリ保護方法、情報処理装置、メモリ保護プログラム及びメモリ保護プログラムを記録した記録媒体
JP4873423B2 (ja) 仮想化プログラム、シミュレーション装置、仮想化方法
KR20100122924A (ko) 멀티 오퍼레이팅 시스템(os) 기동 장치 및 멀티 os 기동 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 멀티 os 기동 방법
JP2005346610A (ja) スナップショットの取得および利用のための記憶システムおよび方法
JPS6364144A (ja) 記憶装置間デ−タ転送方式
JP2008152332A (ja) 機器、制御装置及び制御ソフトウェア更新方法
JP3863902B2 (ja) 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体
JP2002358203A (ja) 命令変更方式及び命令変更方法及び命令変更プログラム及び命令変更プログラムを記録した記録媒体
JP2003216449A (ja) パッチ処理システム
JP4872328B2 (ja) 動作環境切り替えプログラム及び情報処理装置
JPH11134204A (ja) スタック保護装置
JPS63284617A (ja) コンピュ−タの自動再スタ−ト方法
JP3652878B2 (ja) 副ロードモジュールのトランザクション同期置換方式
TWI682323B (zh) 伺服器及其設定方法
JP4170133B2 (ja) 情報処理装置
JP2004272479A (ja) 情報処理装置、画像形成装置、スワップアウト制御方法、そのプログラム及びそのプログラムを記録した記録媒体
KR100870175B1 (ko) 에이알엠7 계열 마이크로 컨트롤러에서의 콘텍스트 스위치방법
JP2001051854A (ja) 情報管理システム
JP6303724B2 (ja) ログ制御方法、ログ制御プログラムおよびログ制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060831

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: 20060926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060929

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: 20091006

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees