(57)【要約】【課題】アクセス違反が発生する度に例外処理を行う構成と比べて、アクセス違反によるシステムダウンを減らすことができる画像処理装置を提供する。【解決手段】この画像処理装置１は、メモリアクセス違反を発生したアプリケーション上の位置情報のうち、無視すべき位置情報が登録された無視テーブル６８と、メモリアクセス違反が検知されたとき、メモリアクセス違反を発生したアプリケーション上の位置情報が無視テーブル６８に登録されていないときは例外処理を行い、無視テーブル６８に登録されているときは例外処理を行わない例外処理手段６５とを備える。【選択図】図１
2010134746.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションによりアクセスされるメモリと、
前記アプリケーションによる前記メモリへのアクセス違反を検知する検知手段と、
前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反の内容を保存する保存手段と、
前記アクセス違反を発生した前記アプリケーション上の位置情報のうち、無視すべき位置情報が登録された無視テーブルと、
前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反を発生した前記アプリケーション上の位置情報が前記無視テーブルに登録されていないときは例外処理を行い、前記無視テーブルに登録されているときは例外発生箇所に戻る例外処理手段とを備えた画像処理装置。
【請求項２】
前記保存手段は、前記アクセス違反の内容を履歴情報として不揮発性記憶部に保存する請求項１に記載の画像処理装置。
【請求項３】
前記検知手段により前記アクセス違反が検知されたとき、前記保存手段により保存された前記アクセス違反の内容をクリアしない再起動を行う強制再起動手段と、
前記再起動後に前記保存手段により保存されている前記アクセス違反の内容に基づいて前記無視すべき位置情報を前記無視テーブルに登録する登録手段と、
更に備えた請求項１に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
コンピュータシステムのメモリ方式として、仮想記憶方式が一般に採用されている（例えば、特許文献１参照。）。
【０００３】
特許文献１に記載されたコンピュータシステムは、複数のタスクを実行するアプリケーションによりアクセスされる主記憶メモリと、論理アドレスと主記憶メモリ上の物理アドレスとをページ単位で対応付けたページテーブルと、ペーテーブルに対し、現在実行中のタスクのスタックに対応するページの保護情報を読み書き禁止に設定し、次に実行するタスクのスタックに対応するページの保護情報を読み書き可能に設定するページ情報書き換え手段と、現在実行しているタスクが他のタスクのスタックへアクセスしたとき、ページ保護例外処理を発生するメモリ管理機構とを備える。現在実行しているタスクが他のタスクのスタックへアクセスした場合、現在実行中のタスクが休止状態となり、タクスの暴走を防止することができる。
【特許文献１】特開平１１−１３４２０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、アクセス違反が発生する度に例外処理を行う構成と比べて、アクセス違反によるシステムダウンを減らすことができる画像処理装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の一態様は、上記目的を達成するため、以下の画像処理装置を提供する。
【０００６】
［１］アプリケーションによりアクセスされるメモリと、前記アプリケーションによる前記メモリへのアクセス違反を検知する検知手段と、前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反の内容を保存する保存手段と、前記アクセス違反を発生した前記アプリケーション上の位置情報のうち、無視すべき位置情報が登録された無視テーブルと、前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反を発生した前記アプリケーション上の位置情報が前記無視テーブルに登録されていないときは例外処理を行い、前記無視テーブルに登録されているときは例外発生箇所に戻る例外処理手段とを備えた画像処理装置。
【０００７】
［２］前記保存手段は、前記アクセス違反の内容を履歴情報として不揮発性記憶部に保存する前記［１］に記載の画像処理装置。
【０００８】
［３］前記検知手段により前記アクセス違反が検知されたとき、前記保存手段により保存された前記アクセス違反の内容をクリアしない再起動を行う強制再起動手段と、前記再起動後に前記保存手段により保存されている前記アクセス違反の内容に基づいて前記無視すべき位置情報を前記無視テーブルに登録する登録手段と、更に備えた前記［１］に記載の画像処理装置。
【発明の効果】
【０００９】
請求項１に記載の発明によれば、アクセス違反が発生する度に例外処理を行う構成と比べて、アクセス違反によるシステムダウンを減らすことができる。
【００１０】
請求項２に記載の発明によれば、電源オフ後もアクセス違反の内容を保存することができる。
【００１１】
請求項３に記載の発明によれば、不揮発性記憶部を有していなくてもアクセス違反の内容に基づいて無視テーブルへ登録することができる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【００１３】
この画像処理装置１は、操作表示部２と、画像入力部３と、画像出力部４と、通信部５と、制御部６と、システムメモリ７と、不揮発性記憶部８とを備え、１又は２以上の画像処理用アプリケーションによって複数のタスクを実行するように構成されている。画像処理用アプリケーションは、オペレーティングシステム（ＯＳ）上で動作し、ＯＳによりメモリ管理がなされている。
【００１４】
操作表示部２は、ユーザの操作により、表示、設定、入力、指示が可能なタッチパネル及びハードスイッチを備える。
【００１５】
画像入力部３は、原稿から画像をＣＣＤ（Charge Coupled Device）等の固体撮像素子により光学的に読み取るものである。
【００１６】
画像出力部４は、画像を電子写真プロセス方式、インクジェット方式、感熱転写方式等により用紙に印刷するものである。
【００１７】
通信部５は、ＵＳＢ（Universal Serial Bus）、PCI Express等のシリアルインタフェースやイーサネット（登録商標）等のインタフェースを用いてコンピュータ（ＰＣ）等の外部装置との間で通信が可能に構成されている。
【００１８】
システムメモリ７は、画像処理用アプリケーション、後述するページテーブル等が格納され、プログラムや画像データ等を処理するためにデータが一時的に格納される。
【００１９】
不揮発性記憶部８は、例えば、ハードディスクドライブ、フラッシュメモリ等の不揮発性メモリから構成され、各種の履歴情報が格納される。
【００２０】
制御部６は、画像処理制御手段６０と、メモリ資源管理手段６１と、メモリアドレス変換手段６３と、ＭＭＵ（Memory Management Unit）６４０及びページテーブル６４１を有するメモリ管理手段６４と、メモリアクセス違反例外処理手段６５と、履歴情報保存手段６６と、無視テーブル登録／編集手段６７と、メモリアクセス違反無視テーブル６８とを備える。これらの手段６０〜６７は、ＣＰＵとプログラム、又はＡＳＩＣ等のハードウェハによって実現することができる。
【００２１】
画像処理制御手段６０は、操作表示部２、画像入力部３及び画像出力部４を制御するとともに、画像入力部３から画像データを入力し、画像データを画像処理して出力画像を生成し、画像出力部４に出力する。
【００２２】
メモリ資源管理手段６１は、システムメモリ７のバッファ領域等を管理し、タスクに対して適切なメモリ資源の割り当て・回収を行う。
【００２３】
メモリ管理手段６４のＭＭＵ６４０は、内部にトランスレーション・ルックアサイド・バッファ（ＴＬＢ）を有し、ＴＬＢにページテーブル６４１の一部を格納している。ＭＭＵ６４０は、ＣＰＵから出力された仮想アドレスをページテーブル６４１を参照して物理アドレスに変換するとともに、システムメモリ７に対するアクセスを制御し、仮想アドレスに対応する物理アドレスがページテーブルエントリ（ＰＴＥ）に存在しないことでメモリアクセス違反を検知する機能を有する。
【００２４】
メモリ管理手段６４のページテーブル６４１は、仮想ページ番号がインデックスとなっており、ＰＴＥに物理アドレスが格納される構造になっている。ページテーブル６４１は、仮想アドレスにシステムメモリ１７上の物理アドレスがページ単位で対応付けられており、ページ単位で書込みの可否と読出しの可否のアクセス情報が設定可能となっている。
【００２５】
メモリアドレス変換手段６３は、ページテーブル６４１の仮想アドレスに対応するＰＴＥにメインメモリ７上の物理アドレスを設定する。
【００２６】
メモリアクセス違反例外処理手段６５は、ＭＭＵ６４０がメモリアクセス違反を検知したとき、メモリアクセス違反無視テーブル６８を参照し、一定の場合に、例外処理を実行する。
【００２７】
履歴情報保存手段６６は、不揮発性記憶部８に履歴情報格納領域を確保し、そこに必要な履歴情報を書き込む。履歴情報を書き込むケースには、通常のタスクから呼び出して書き込むケース、ＯＳ内部の状態を書き込むケース等がある。これに更に、割り込みや例外処理のコンテクストで履歴情報を書き込むようにし、上記メモリアクセス違反例外処理手段６５の処理として例外履歴情報を書き込む。
【００２８】
また、履歴情報保存手段６６は、不揮発性記憶部８に格納されている履歴情報を、操作表示部２からの要求に基づいて操作表示部２に出力し、又は通信部５に接続された外部装置からの要求に基づいて外部装置に出力する。外部装置は、エミュレータソフト等を用いることにより、不揮発性記憶部８から出力された履歴情報をファイルとして保存することができる。
【００２９】
無視テーブル登録／編集手段６７は、メモリアクセス違反無視テーブル６８に対し、メモリアクセス違反を発生したアプリケーション上の位置情報のうち、無視すべき位置情報を登録し、編集する機能を有する。また、無視テーブル登録／編集手段６７は、メモリアクセス違反無視テーブル６８への登録又は編集を、操作表示部２又は通信部５に接続された外部装置における操作に基づいて行う。
【００３０】
図２及び図３は、操作表示部２又は外部装置の表示部への履歴情報の出力例であって、図２は、履歴情報の種類を選択する履歴情報操作メニュー画面の一例を示す図、図３は、図２の履歴情報操作メニュー画面において履歴情報として例外処理ログを選択した場合の例外処理ログ画面を示す図である。
【００３１】
図２に示す履歴情報操作メニュー画面１００には、「履歴の表示」１１０の対象として、全ての種類の履歴を示す「全て表示」項目１１１、タスクが出力した履歴を示す「タスク出力ログ」項目１１２、システムが処理した履歴を示す「システムログ」項目１１３、割込み処理の履歴を示す「割り込み処理ログ」項目１１４、及び例外処理の履歴を示す「例外処理ログ」項目１１５等が表示される。「履歴の消去」１２０の対象には、「履歴の表示」１１０と同様に上記の項目１１１〜１１５が含まれる。スクロールボタン１３０，１３１を操作することにより、他のログを画面１００に表示することができる。
【００３２】
図２に示す履歴情報操作メニュー画面１００において、「例外処理ログ」項目１１５を選択すると、図３に示す例外処理ログ画面２００が操作表示部２又は外部装置の表示部に表示される。例外処理ログ画面２００には、メモリアクセス違反の発生した時刻２１０、エラー内容２１１、ＣＰＵのレジスタに関する情報（レジスタＮｏ.、プログラムカウンタ、関数の戻りアドレス等）２１２等が表示される。また、この例外処理ログ画面２００には、ログをファイルとして保存するＦ１キー２１３や、Ｆ２キー２１４、ＢＳキー２１５、Ｅｓｃキー２１６、スクロールバー２２０等が表示される。
【００３３】
図４及び図５は、操作表示部２又は外部装置の表示部への履歴情報の出力例であって、図４は、図２の画面をスクロールした履歴情報操作メニュー画面の一例を示す図、図５は、図４の履歴情報操作メニュー画面において履歴情報として無視エラー情報を選択した場合の無視エラー情報画面を示す図である。
【００３４】
図４に示す履歴情報操作メニュー画面１００には、図２に示すスクロールボタン１３１を選択することにより、「無視エラー情報」項目１１６が表示されている。
【００３５】
図４に示す履歴情報操作メニュー画面１００において、「無視エラー情報」項目１１６を選択すると、図５に示す無視エラー情報画面３００が操作表示部２又は外部装置の表示部に表示される。無視エラー情報画面３００には、メモリアクセス違反無視テーブル６８に登録されているメモリアクセス違反の情報が表示されている。すなわち、メモリアクセス違反の発生した時刻３１０、エラー内容３１１、ＣＰＵのレジスタに関する情報（レジスタＮｏ.、プログラムカウンタ、関数の戻りアドレス等）３１２等が表示される。また、この無視エラー情報画面３００には、さらなる詳細情報を表示するＦ１キー３１３、及び削除を指示するＦ２キー３１４や、ＢＳキー３１５、Ｅｓｃキー３１６、スクロールバー３２０等が表示される。無視エラー情報画面３００に表示された複数のメモリアクセス違反の情報のうちの１つ（斜線で示す。）を選択し、選択したメモリアクセス違反の情報に対して削除等の各種の処理を指示することができる。なお、図５の画面中にログ保存キーを設けておき、ログ保存キーの操作により、メモリアクセス違反の情報を通信部５を介して外部装置に出力させるようにしてもよい。
【００３６】
（画像処理装置の動作）
次に、画像処理装置１の動作を図１〜図９を参照して説明する。
【００３７】
図６〜図８は、アクセス違反発生後の動作を示す図、図９は、アクセス違反発生後の動作を示すフローチャートである。
【００３８】
例えば、画像処理用アプリケーションが仮想アドレス領域７１のバッファ領域７１ａに書込み中にアクセス違反が発生すると（Ｓ１０）、ＭＭＵ６４０がそのメモリアクセス違反を検知し、それをメモリアクセス違反例外処理手段６５に通知する。
【００３９】
メモリアクセス違反例外処理手段６５は、図６に示すように、ページテーブル６４１の対応するページに「書込み不可」のアクセス属性を設定した後、メモリアクセス違反無視テーブル６８を参照し（Ｓ１１）、今回アクセス違反が発生した画像処理用アプリケーション上の箇所がメモリアクセス違反無視テーブル６８に登録されているか否かを判断する（Ｓ１２）。登録されている場合には、システムメモリ７に書込みが必要か否かを判断し（Ｓ１３）、書込みが不要の場合には、違反アドレスに戻る（Ｓ１４）。
【００４０】
上記ステップＳ１３において、書込みが必要の場合は、物理アドレス領域７０に空きバッファが存在するか否かを判断する（Ｓ１５）。
【００４１】
上記ステップＳ１５において、空きバッファが存在しない場合には、図７に示すように、ページテーブル６４１の対応するページのアクセス属性である「書込み不可」を「書込み可」に変更する（Ｓ１６）。これにより、画像処理用アプリケーションはバッファ領域７１ａを用いて継続して処理を行う。
【００４２】
上記ステップＳ１５において、空きバッファが存在する場合には、図８に示すように、物理アドレス領域７０の空きバッファであるバッファ領域７０ｂに対応するページテーブル６４１のページに仮想アドレス領域７１のバッファ領域７１ａをマッピングし、対応するページテーブル６４１のページに「書込み可」のアクセス属性を設定する（Ｓ１７）。これにより、プログラムはバッファ領域７１ａを用いて継続して処理を行う。
【００４３】
上記ステップＳ１２において、今回アクセス違反が発生したプログラム上の箇所がメモリアクセス違反無視テーブル６８に登録されていない場合には、メモリアクセス違反例外処理手段６５は、タスクの処理の停止等の例外処理を行う（Ｓ１８）。履歴情報保存手段６６は、メモリアクセス違反例外処理手段６５の指示により履歴情報記憶部８にメモリアクセス違反の履歴情報を格納する。
【００４４】
履歴情報保存手段６６は、外部装置から通信部５を介して履歴情報の読み出し要求があると、履歴情報記憶部８から履歴情報を読み出して通信部５を介して外部装置に出力する。また、履歴情報保存手段６６は、操作表示部２から履歴情報の読み出し要求があると、履歴情報記憶部８から履歴情報を読み出して操作表示部２に出力する。
【００４５】
本実施の形態によれば、メモリアクセス違反が発生したとき、それが無視テーブルに登録されている場合には、例外発生箇所に戻り、処理は中断せずに続行される。
【００４６】
［第２の実施の形態］
図１０は、本発明の第２の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【００４７】
本実施の形態は、第１の実施の形態において、揮発性記憶部８及び履歴情報保存手段６６を省き、強制再起動手段６９を設けたものであり、他は第１の実施の形態と同様に構成されている。強制再起動手段６９は、ＣＰＵとプログラム、又はＡＳＩＣ等のハードウェアによって実現することができる。
【００４８】
強制再起動手段６９は、画像処理用プログラムがタクスを実行中にメモリアクセス違反が発生し、タクスの処理が停止した後、メモリアクセス違反例外処理手段６５の指示によりメモリ（アクセス違反の内容を含む。）をクリアしない再起動を強制的に行う。強制再起動手段６９は、再起動した際に、メモリアクセス違反例外処理手段６５の処理として、図５に示す無視エラー情報画面３００の情報を操作表示部２又は通信部５を介して外部装置に出力する。無視テーブル登録／編集手段６７は、メモリアクセス違反無視テーブル６８への登録又は編集を、操作表示部２又は通信部５に接続された外部装置における操作に基づいて行う。
【００４９】
本実施の形態によれば、メモリアクセス違反が発生したとき、不揮発性記憶部を有していなくてもアクセス違反の内容に基づいてメモリアクセス違反無視テーブル６８へ登録することができる。
【００５０】
［他の実施の形態］
なお、本発明は、上記実施の形態に限定されず、その要旨を変更しない範囲内で種々な変形が可能である。
【図面の簡単な説明】
【００５１】
【図１】図１は、本発明の第１の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【図２】図２は、履歴情報操作メニュー画面の一例を示す図である。
【図３】図３は、例外処理ログ画面を示す図である。
【図４】図４は、履歴情報操作メニュー画面の一例を示す図である。
【図５】図５は、無視エラー情報画面を示す図である。
【図６】図６は、アクセス違反発生後の動作を示す図である。
【図７】図７は、アクセス違反発生後の動作を示す図である。
【図８】図８は、アクセス違反発生後の動作を示す図である。
【図９】図９は、アクセス違反発生後の動作を示すフローチャートである。
【図１０】図１０は、本発明の第２の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【符号の説明】
【００５２】
１…画像処理装置、２…操作表示部、３…画像入力部、４…画像出力部、５…通信部、６…制御部、７…システムメモリ、８…不揮発性記憶部、６０…画像処理制御手段、６１…メモリ資源管理手段、６３…メモリアドレス変換手段、６４…メモリ管理手段、６５…メモリアクセス違反例外処理手段、６６…履歴情報保存手段、６７…無視テーブル登録／編集手段、６８…メモリアクセス違反無視テーブル、６９…強制再起動手段、７０…物理アドレス領域、７０ａ，７０ｂ…バッファ領域、７１…仮想アドレス領域、７１ａ…バッファ領域、８０…メモリ属性変換手段、１００…履歴情報操作メニュー画面、１１０…「履歴の表示」、１１１…「全て表示」項目、１１２…「タスク出力ログ」項目、１１３…「システムログ」項目１１３、１１４…「割り込み処理ログ」項目、１１５…「例外処理ログ」項目、１２０…「履歴の消去」、１３０，１３１…スクロールボタン、２００…例外処理ログ画面、２１０…時刻、２１１…エラー内容、２１２…ＣＰＵのレジスタに関する情報、２１３…Ｆ１キー、２１４…Ｆ２キー、２１５…ＢＳキー、２１６…Ｅｓｃキー、２２０…スクロールバー、３００…無視エラー情報画面、３１０…時刻、３１１…エラー内容、３１２…ＣＰＵのレジスタに関する情報、３１３…Ｆ１キー、３１４…Ｆ２キー、３１５…ＢＳキー、３２０…スクロールバー、６４０…ＭＭＵ、６４１…ページテーブル
【図１】
2010134746.tif 000003
【図２】
2010134746.tif 000004
【図３】
2010134746.tif 000005
【図４】
2010134746.tif 000006
【図５】
2010134746.tif 000007
【図６】
2010134746.tif 000008
【図７】
2010134746.tif 000009
【図８】
2010134746.tif 000010
【図９】
2010134746.tif 000011
【図１０】
2010134746.tif 000012