JP2001027948A - 情報処理装置およびその方法 - Google Patents

情報処理装置およびその方法

Info

Publication number
JP2001027948A
JP2001027948A JP11199436A JP19943699A JP2001027948A JP 2001027948 A JP2001027948 A JP 2001027948A JP 11199436 A JP11199436 A JP 11199436A JP 19943699 A JP19943699 A JP 19943699A JP 2001027948 A JP2001027948 A JP 2001027948A
Authority
JP
Japan
Prior art keywords
task
information
patch
monitoring
information processing
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.)
Withdrawn
Application number
JP11199436A
Other languages
English (en)
Inventor
Hidenori Kato
秀憲 加藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP11199436A priority Critical patent/JP2001027948A/ja
Publication of JP2001027948A publication Critical patent/JP2001027948A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 パッチ処理は、システムが立ち上がった時点
で設定された監視アドレスを、システムの電源がオフに
されるなどシステムの動作が停止されるまで監視し続け
るため、監視アドレスの数、言い換えればバグなどを修
正するためのパッチの数に制限がある。 【解決手段】 監視レジスタ13により、プログラムコー
ドの複数の実行アドレスを監視して、監視アドレスが実
行される場合に割り込みを発生させる。CPU12上で稼働
するOS21は、監視アドレスをタスクごとに設定し、割り
込みが検出された場合、アクティブなタスクにRAM14に
格納された修正コードを実行させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置および
その方法に関し、例えば、プログラムコードにパッチ処
理を施す情報処理装置およびその方法に関するものであ
る。
【0002】
【従来の技術】パッチ処理は、システムが立ち上がった
時点で設定されるある数の監視アドレスを監視すること
により、その部分のコードを修正コードに置き換えて実
行させるものである。
【0003】
【発明が解決しようとする課題】上記のパッチ処理は、
システムが立ち上がった時点で設定された監視アドレス
を、システムの電源がオフにされるなどシステムの動作
が停止されるまで監視し続けるため、監視アドレスの数
に制限があり、言い換えれば、バグなどを修正するため
のパッチの数に制限がある。
【0004】本発明は、上述の問題を解決するためのも
のであり、監視アドレスの数を容易に増加させることが
できる情報処理装置およびその方法を提供することを目
的とする。
【0005】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
【0006】本発明にかかる情報処理装置は、プログラ
ムコードの複数の実行アドレスを監視可能であり、監視
アドレスが実行される場合に割り込みを発生する機能を
有する情報処理装置であって、前記監視アドレスをタス
クごとに設定する設定手段と、前記割り込みが検出され
た場合、アクティブなタスクに修正コードを実行させる
制御手段とを有することを特徴とする。
【0007】本発明にかかる情報処理方法は、プログラ
ムコードの複数の実行アドレスを監視可能であり、監視
アドレスが実行される場合に割り込みを発生する情報処
理方法であって、前記監視アドレスをタスクごとに設定
し、前記割り込みが検出された場合、アクティブなタス
クに修正コードを実行させることを特徴とする。
【0008】
【発明の実施の形態】以下、本発明にかかる一実施形態
の情報処理装置を図面を参照して詳細に説明する。
【0009】図1は実施形態の情報処理装置の構成例を
示すブロック図である。CPU12は、ROM11などに格納され
たプログラムに従い、RAM14をワークメモリとして様々
な処理を実行する。また、監視レジスタ13は、CPU12が
プログラムの実行を監視するためのリソースである。
【0010】図2はROM11のメモリマップの一例を示す図
である。ROM11はCPU12がデコード可能なメモリ空間に割
り当てられ、様々なプログラムが格納されている。ROM1
1に格納されたオペレーティングシステム(OS)21により
制御されるCPU12は、同じくROM11に格納されたアプリケ
ーションプログラム22や23などを実行する。OS21は、各
プログラムの実行をタスクとして管理し、ある一定時間
の実行、割り込みの発生、または、システムリクエスト
に基づき、それらタスクの状態を切り替えることによっ
て、すべてのプログラムの動作を管理および制御する。
【0011】タスクの管理方法はOSによって異なるが、
本実施形態ではタスクキューを用いる方法を説明する。
図3はタスクの実行を管理するタスクキュー31を示す図
で、RAM14の所定アドレスに割り付けられている。32は
タスクキュー31を構成するタスク情報で、タスクの実行
を再開するために必要な様々な情報が記録されている。
OS21は、タスクの生成要求や終了要求に従い、該当する
タスク情報32をタスクキュー31に登録したり、タスクキ
ュー31から削除したりする。さらに、OS21は、実行可能
なタスクを管理し、タスク切り替えが発生するごとにタ
スクキュー31によって次に実行されるタスクを決定する
など、タスクキュー31に基づき、タスクの切替制御、生
成、再開、中断および終了などを管理する。なお、どの
タスクが次に実行されるかは、OSのアルゴリズムによ
る。
【0012】図4は監視レジスタ13によりROM11に格納さ
れているプログラムの実行を監視する様子を説明するた
めの図である。監視レジスタ13のレジスタ数はCPUに固
有であるが、図4ではレジスタ数を「4」として示す。監
視レジスタ13の各レジスタは、CPU12により初期化さ
れ、監視アドレスがセットされる。そして、監視アドレ
スがセットされた後、監視アドレスに対応するROM11の
アドレスに格納されたコードをCPU12が実行しようとす
る際に、監視レジスタ13は割り込みを発生する。この割
り込みの発生を検知したOS21は、割り込みを処理し、CP
U12が実行しようとしたアドレスに対応する修正コード
をCPU12に実行させた後、その修正コードに対応するROM
11の指定アドレス(リターンアドレス)へCPU12の処理
を戻す。
【0013】上記の手順でパッチ処理が実現されるが、
このままでは監視アドレスを設定することができるROM1
1のアドレスは、監視レジスタ13のレジスタ数だけであ
る。そこで、本実施形態においては、数が制限されたレ
ジスタ、本実施形態では四つのレジスタを用いて多数の
パッチを可能にするために、OS21によるタスク切り替え
を利用する。つまり、図5に一例を示すように、タスク
キュー31に登録されたタスク情報32にパッチ情報51を付
加する。
【0014】タスク情報32にパッチ情報51を付加するこ
とにより、OS21は、パッチ情報51をもつタスク情報32に
対応するタスクをパッチ処理が必要なタスクとして認識
する。そして、OS21は、タスク切り替えが発生する度に
監視レジスタ13を初期化し、パッチ情報51が設定されて
いるタスクを実行する場合は、パッチ情報51に基づき監
視レジスタ13に監視アドレスを設定する。従って、一つ
のタスクに付き四つの監視アドレスを設定することがで
き、例えば一つのタスクで一つのアプリケーションプロ
グラムが管理される場合、一つのプログラムに付き四個
所のアドレスについてパッチを施すことができる。
【0015】どのプログラムにどのようなパッチを施す
かは、システムが立ち上がる際に構築される。図6はパ
ッチ情報を説明するための図である。パッチ情報ファイ
ル62は、図示しない不揮発性のメモリ、例えばハードデ
ィスク、フロッピディスクまたはバッテリバックアップ
されたSRAMなどに格納されている。システムの立ち上げ
(ブート)時に、CPU12は、パッチ情報ファイル62の有
無を調べ、パッチ情報ファイル62が存在すれば、パッチ
情報ファイル62から読み出したパッチ情報をRAM14の所
定アドレスにパッチタスク情報61として格納する。ブー
トが終了しシステムの制御権がOS21に移ると、OS21は、
RAM14に格納されたパッチタスク情報61を参照しながら
タスク管理を開始する。
【0016】図7はパッチタスク情報61の初期化処理の
一例を示すフローチャートで、システムのブート時にCP
U12により実行される処理である。ステップS71で、パッ
チ情報ファイル62がサーチされ、ステップS72でパッチ
情報ファイル62の有無が判定され、パッチ情報ファイル
62がなければステップS73をスキップし、パッチ情報フ
ァイル62があればステップS73でRAM14にパッチタスク情
報61が格納される。
【0017】図8はタスク情報32にパッチ情報51を付加
する処理の一例を示すフローチャートで、OS21により実
行される処理である。OS21は、新しいタスクを生成する
場合、ステップS81でパッチタスク情報61の有無を判定
し、パッチタスク情報61が存在すればステップS82で、
新しいタスクを割り当てようとするプログラムに対応す
るパッチタスク情報61があるか否かを判定する。パッチ
タスク情報61がない場合、または、新しいタスクを割り
当てようとするプログラムに対応するパッチタスク情報
61がない場合、パッチ情報51を付加する処理は終了す
る。
【0018】新しいタスクを割り当てようとするプログ
ラムに対応するパッチタスク情報61がある場合、ステッ
プS83でパッチタスク情報61に基づきパッチ情報51を作
成し、ステップS84で、作成されたパッチ情報51を付加
したタスク情報32を作成し、タスクキュー31に登録す
る。
【0019】図9はタスクを切り替える際に監視レジス
タ13を再設定する処理例を示すフローチャートで、OS21
により実行される処理である。
【0020】タスク切替が発生すると、OS21は、次に実
行すべきタスクをタスクキュー31に登録された選択し、
ステップS91で、選択したタスクに対応するタスク情報3
2にパッチ情報51が付加されているか否かを判定する。
パッチ情報51がなければステップS92で監視レジスタ13
をクリアし、パッチ情報51があればステップS93でパッ
チ情報51に基づき監視レジスタ13に監視アドレスを設定
する。
【0021】このように、本実施形態によれば、タスク
切替を利用してパッチ処理の監視アドレスを動的に変化
させることにより、監視アドレスを増加させることがで
きる。つまり、タスク数×監視レジスタ13のレジスタ数
の監視アドレスを設定することができ、パッチ処理を施
すアドレスを増加させることができる。さらに、パッチ
処理の必要がないタスク(プログラム)に対しては、実
行アドレスの監視を行わないように設定されるため、プ
ログラムの実行速度を低下させることもない。
【0022】上記の実施形態においては、監視レジスタ
13をプログラムコードを修正するためのパッチ処理に利
用する例を説明したが、監視レジスタ13をプログラム開
発におけるデバッグに利用して、タスクごとに設定され
たアドレスを監視するようにすることもできる。
【0023】以上説明したように、本実施形態によれ
ば、アドレス監視機能を利用してプログラムコードにパ
ッチ処理を施す必要がある場合に、タスク切替時に監視
アドレスを動的に切り替えることで、パッチ処理を施す
アドレスを増加させることが可能になり、プログラムコ
ードの修正をより容易に行うことができる。
【0024】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
【0025】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることは言うまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることは言うまでもない。
【0026】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0027】
【発明の効果】以上説明したように、本発明によれば、
監視アドレスの数を容易に増加させることができる情報
処理装置およびその方法を提供することができる。
【図面の簡単な説明】
【図1】本発明にかかる情報処理装置の構成例を示すブ
ロック図、
【図2】図1に示すROMのメモリマップの一例を示す図、
【図3】タスクの実行を管理するタスクキューを示す
図、
【図4】図1に示す監視レジスタによりROMに格納されて
いるプログラムの実行を監視する様子を説明するための
図、
【図5】タスクキューに登録されたタスク情報に付加す
るパッチ情報を説明するための図、
【図6】パッチ情報を説明するための図、
【図7】パッチタスク情報の初期化処理の一例を示すフ
ローチャート、
【図8】タスク情報にパッチ情報を付加する処理の一例
を示すフローチャート、
【図9】タスクを切り替える際に監視レジスタを再設定
する処理例を示すフローチャートである。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 プログラムコードの複数の実行アドレス
    を監視可能であり、監視アドレスが実行される場合に割
    り込みを発生する機能を有する情報処理装置であって、 前記監視アドレスをタスクごとに設定する設定手段と、 前記割り込みが検出された場合、アクティブなタスクに
    修正コードを実行させる制御手段とを有することを特徴
    とする情報処理装置。
  2. 【請求項2】 前記設定手段は、監視アドレスを設定す
    る必要があるタスクのタスク情報をタスクキューに登録
    する場合、そのタスク情報に少なくとも一つの監視アド
    レスを示す情報を付加することを特徴とする請求項1に
    記載された情報処理装置。
  3. 【請求項3】 さらに、前記設定手段により、記憶媒体
    に格納されたパッチ情報ファイルに基づきパッチタスク
    情報が設定されるメモリを有することを特徴とする請求
    項2に記載された情報処理装置。
  4. 【請求項4】 前記設定手段は、前記パッチタスク情報
    に基づき監視アドレスの設定が必要か否かを判定するこ
    とを特徴とする請求項3に記載された情報処理装置。
  5. 【請求項5】 前記制御手段は、前記割り込みが発生さ
    れた監視アドレスに対応する前記パッチタスク情報に格
    納された修正コードを前記アクティブなタスクに実行さ
    せることを特徴とする請求項3または請求項4に記載され
    た情報処理装置。
  6. 【請求項6】 プログラムコードの複数の実行アドレス
    を監視可能であり、監視アドレスが実行される場合に割
    り込みを発生する情報処理方法であって、 前記監視アドレスをタスクごとに設定し、 前記割り込みが検出された場合、アクティブなタスクに
    修正コードを実行させることを特徴とする情報処理方
    法。
  7. 【請求項7】 プログラムコードの複数の実行アドレス
    を監視可能であり、監視アドレスが実行される場合に割
    り込みを発生する情報処理のプログラムコードが記録さ
    れた記録媒体であって、前記プログラムコードは少なく
    とも、 前記監視アドレスをタスクごとに設定するステップのコ
    ードと、 前記割り込みが検出された場合、アクティブなタスクに
    修正コードを実行させるステップのコードとを有するこ
    とを特徴とする記録媒体。
JP11199436A 1999-07-13 1999-07-13 情報処理装置およびその方法 Withdrawn JP2001027948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11199436A JP2001027948A (ja) 1999-07-13 1999-07-13 情報処理装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11199436A JP2001027948A (ja) 1999-07-13 1999-07-13 情報処理装置およびその方法

Publications (1)

Publication Number Publication Date
JP2001027948A true JP2001027948A (ja) 2001-01-30

Family

ID=16407798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11199436A Withdrawn JP2001027948A (ja) 1999-07-13 1999-07-13 情報処理装置およびその方法

Country Status (1)

Country Link
JP (1) JP2001027948A (ja)

Similar Documents

Publication Publication Date Title
USRE40092E1 (en) Method for quickly booting a computer system
RU2435200C2 (ru) Быстрая загрузка операционной системы из выключенного состояния
US5497497A (en) Method and apparatus for resetting multiple processors using a common ROM
US6327653B1 (en) Technique for easily changing operating systems of a digital computer system using at least two pushbuttons
JP5212360B2 (ja) 制御プログラム、制御システムおよび制御方法
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
US7996648B2 (en) Coupled symbiotic operating systems
JP2004127040A (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP2005301639A (ja) Osの障害対応方法およびそのプログラム
US20110047550A1 (en) Software program execution device, software program execution method, and program
JP2002132741A (ja) プロセッサ追加方法、計算機及び記録媒体
JP2009134565A (ja) 仮想計算機システム及び仮想計算機システムの制御方法
JP5819350B2 (ja) 計算機システム及び起動方法
KR100994723B1 (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체
JP3993342B2 (ja) 電子計算機における処理の中断/再開方法
CN113791873B (zh) 一种虚拟机创建方法、计算设备及存储介质
JP5929353B2 (ja) 例外処理方法、プログラム及び装置
JP2001027948A (ja) 情報処理装置およびその方法
JP4597032B2 (ja) コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
JP2003216449A (ja) パッチ処理システム
JP2004287618A (ja) オペレーティングシステム起動制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム起動制御装置
JP2003242026A (ja) 情報処理システムおよびプログラム実行モード制御方法
JPH05165652A (ja) タスク切替え制御方法
JP2001051854A (ja) 情報管理システム
JPH11316691A (ja) オペレーティングシステムの実行方法及び、これを用いた情報処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061003