説明

画像処理装置

【課題】アクセス違反が発生する度に例外処理を行う構成と比べて、アクセス違反によるシステムダウンを減らすことができる画像処理装置を提供する。
【解決手段】この画像処理装置1は、メモリアクセス違反を発生したアプリケーション上の位置情報のうち、無視すべき位置情報が登録された無視テーブル68と、メモリアクセス違反が検知されたとき、メモリアクセス違反を発生したアプリケーション上の位置情報が無視テーブル68に登録されていないときは例外処理を行い、無視テーブル68に登録されているときは例外処理を行わない例外処理手段65とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関する。
【背景技術】
【0002】
コンピュータシステムのメモリ方式として、仮想記憶方式が一般に採用されている(例えば、特許文献1参照。)。
【0003】
特許文献1に記載されたコンピュータシステムは、複数のタスクを実行するアプリケーションによりアクセスされる主記憶メモリと、論理アドレスと主記憶メモリ上の物理アドレスとをページ単位で対応付けたページテーブルと、ペーテーブルに対し、現在実行中のタスクのスタックに対応するページの保護情報を読み書き禁止に設定し、次に実行するタスクのスタックに対応するページの保護情報を読み書き可能に設定するページ情報書き換え手段と、現在実行しているタスクが他のタスクのスタックへアクセスしたとき、ページ保護例外処理を発生するメモリ管理機構とを備える。現在実行しているタスクが他のタスクのスタックへアクセスした場合、現在実行中のタスクが休止状態となり、タクスの暴走を防止することができる。
【特許文献1】特開平11−134204号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明の目的は、アクセス違反が発生する度に例外処理を行う構成と比べて、アクセス違反によるシステムダウンを減らすことができる画像処理装置を提供することにある。
【課題を解決するための手段】
【0005】
本発明の一態様は、上記目的を達成するため、以下の画像処理装置を提供する。
【0006】
[1]アプリケーションによりアクセスされるメモリと、前記アプリケーションによる前記メモリへのアクセス違反を検知する検知手段と、前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反の内容を保存する保存手段と、前記アクセス違反を発生した前記アプリケーション上の位置情報のうち、無視すべき位置情報が登録された無視テーブルと、前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反を発生した前記アプリケーション上の位置情報が前記無視テーブルに登録されていないときは例外処理を行い、前記無視テーブルに登録されているときは例外発生箇所に戻る例外処理手段とを備えた画像処理装置。
【0007】
[2]前記保存手段は、前記アクセス違反の内容を履歴情報として不揮発性記憶部に保存する前記[1]に記載の画像処理装置。
【0008】
[3]前記検知手段により前記アクセス違反が検知されたとき、前記保存手段により保存された前記アクセス違反の内容をクリアしない再起動を行う強制再起動手段と、前記再起動後に前記保存手段により保存されている前記アクセス違反の内容に基づいて前記無視すべき位置情報を前記無視テーブルに登録する登録手段と、更に備えた前記[1]に記載の画像処理装置。
【発明の効果】
【0009】
請求項1に記載の発明によれば、アクセス違反が発生する度に例外処理を行う構成と比べて、アクセス違反によるシステムダウンを減らすことができる。
【0010】
請求項2に記載の発明によれば、電源オフ後もアクセス違反の内容を保存することができる。
【0011】
請求項3に記載の発明によれば、不揮発性記憶部を有していなくてもアクセス違反の内容に基づいて無視テーブルへ登録することができる。
【発明を実施するための最良の形態】
【0012】
図1は、本発明の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【0013】
この画像処理装置1は、操作表示部2と、画像入力部3と、画像出力部4と、通信部5と、制御部6と、システムメモリ7と、不揮発性記憶部8とを備え、1又は2以上の画像処理用アプリケーションによって複数のタスクを実行するように構成されている。画像処理用アプリケーションは、オペレーティングシステム(OS)上で動作し、OSによりメモリ管理がなされている。
【0014】
操作表示部2は、ユーザの操作により、表示、設定、入力、指示が可能なタッチパネル及びハードスイッチを備える。
【0015】
画像入力部3は、原稿から画像をCCD(Charge Coupled Device)等の固体撮像素子により光学的に読み取るものである。
【0016】
画像出力部4は、画像を電子写真プロセス方式、インクジェット方式、感熱転写方式等により用紙に印刷するものである。
【0017】
通信部5は、USB(Universal Serial Bus)、PCI Express等のシリアルインタフェースやイーサネット(登録商標)等のインタフェースを用いてコンピュータ(PC)等の外部装置との間で通信が可能に構成されている。
【0018】
システムメモリ7は、画像処理用アプリケーション、後述するページテーブル等が格納され、プログラムや画像データ等を処理するためにデータが一時的に格納される。
【0019】
不揮発性記憶部8は、例えば、ハードディスクドライブ、フラッシュメモリ等の不揮発性メモリから構成され、各種の履歴情報が格納される。
【0020】
制御部6は、画像処理制御手段60と、メモリ資源管理手段61と、メモリアドレス変換手段63と、MMU(Memory Management Unit)640及びページテーブル641を有するメモリ管理手段64と、メモリアクセス違反例外処理手段65と、履歴情報保存手段66と、無視テーブル登録/編集手段67と、メモリアクセス違反無視テーブル68とを備える。これらの手段60〜67は、CPUとプログラム、又はASIC等のハードウェハによって実現することができる。
【0021】
画像処理制御手段60は、操作表示部2、画像入力部3及び画像出力部4を制御するとともに、画像入力部3から画像データを入力し、画像データを画像処理して出力画像を生成し、画像出力部4に出力する。
【0022】
メモリ資源管理手段61は、システムメモリ7のバッファ領域等を管理し、タスクに対して適切なメモリ資源の割り当て・回収を行う。
【0023】
メモリ管理手段64のMMU640は、内部にトランスレーション・ルックアサイド・バッファ(TLB)を有し、TLBにページテーブル641の一部を格納している。MMU640は、CPUから出力された仮想アドレスをページテーブル641を参照して物理アドレスに変換するとともに、システムメモリ7に対するアクセスを制御し、仮想アドレスに対応する物理アドレスがページテーブルエントリ(PTE)に存在しないことでメモリアクセス違反を検知する機能を有する。
【0024】
メモリ管理手段64のページテーブル641は、仮想ページ番号がインデックスとなっており、PTEに物理アドレスが格納される構造になっている。ページテーブル641は、仮想アドレスにシステムメモリ17上の物理アドレスがページ単位で対応付けられており、ページ単位で書込みの可否と読出しの可否のアクセス情報が設定可能となっている。
【0025】
メモリアドレス変換手段63は、ページテーブル641の仮想アドレスに対応するPTEにメインメモリ7上の物理アドレスを設定する。
【0026】
メモリアクセス違反例外処理手段65は、MMU640がメモリアクセス違反を検知したとき、メモリアクセス違反無視テーブル68を参照し、一定の場合に、例外処理を実行する。
【0027】
履歴情報保存手段66は、不揮発性記憶部8に履歴情報格納領域を確保し、そこに必要な履歴情報を書き込む。履歴情報を書き込むケースには、通常のタスクから呼び出して書き込むケース、OS内部の状態を書き込むケース等がある。これに更に、割り込みや例外処理のコンテクストで履歴情報を書き込むようにし、上記メモリアクセス違反例外処理手段65の処理として例外履歴情報を書き込む。
【0028】
また、履歴情報保存手段66は、不揮発性記憶部8に格納されている履歴情報を、操作表示部2からの要求に基づいて操作表示部2に出力し、又は通信部5に接続された外部装置からの要求に基づいて外部装置に出力する。外部装置は、エミュレータソフト等を用いることにより、不揮発性記憶部8から出力された履歴情報をファイルとして保存することができる。
【0029】
無視テーブル登録/編集手段67は、メモリアクセス違反無視テーブル68に対し、メモリアクセス違反を発生したアプリケーション上の位置情報のうち、無視すべき位置情報を登録し、編集する機能を有する。また、無視テーブル登録/編集手段67は、メモリアクセス違反無視テーブル68への登録又は編集を、操作表示部2又は通信部5に接続された外部装置における操作に基づいて行う。
【0030】
図2及び図3は、操作表示部2又は外部装置の表示部への履歴情報の出力例であって、図2は、履歴情報の種類を選択する履歴情報操作メニュー画面の一例を示す図、図3は、図2の履歴情報操作メニュー画面において履歴情報として例外処理ログを選択した場合の例外処理ログ画面を示す図である。
【0031】
図2に示す履歴情報操作メニュー画面100には、「履歴の表示」110の対象として、全ての種類の履歴を示す「全て表示」項目111、タスクが出力した履歴を示す「タスク出力ログ」項目112、システムが処理した履歴を示す「システムログ」項目113、割込み処理の履歴を示す「割り込み処理ログ」項目114、及び例外処理の履歴を示す「例外処理ログ」項目115等が表示される。「履歴の消去」120の対象には、「履歴の表示」110と同様に上記の項目111〜115が含まれる。スクロールボタン130,131を操作することにより、他のログを画面100に表示することができる。
【0032】
図2に示す履歴情報操作メニュー画面100において、「例外処理ログ」項目115を選択すると、図3に示す例外処理ログ画面200が操作表示部2又は外部装置の表示部に表示される。例外処理ログ画面200には、メモリアクセス違反の発生した時刻210、エラー内容211、CPUのレジスタに関する情報(レジスタNo.、プログラムカウンタ、関数の戻りアドレス等)212等が表示される。また、この例外処理ログ画面200には、ログをファイルとして保存するF1キー213や、F2キー214、BSキー215、Escキー216、スクロールバー220等が表示される。
【0033】
図4及び図5は、操作表示部2又は外部装置の表示部への履歴情報の出力例であって、図4は、図2の画面をスクロールした履歴情報操作メニュー画面の一例を示す図、図5は、図4の履歴情報操作メニュー画面において履歴情報として無視エラー情報を選択した場合の無視エラー情報画面を示す図である。
【0034】
図4に示す履歴情報操作メニュー画面100には、図2に示すスクロールボタン131を選択することにより、「無視エラー情報」項目116が表示されている。
【0035】
図4に示す履歴情報操作メニュー画面100において、「無視エラー情報」項目116を選択すると、図5に示す無視エラー情報画面300が操作表示部2又は外部装置の表示部に表示される。無視エラー情報画面300には、メモリアクセス違反無視テーブル68に登録されているメモリアクセス違反の情報が表示されている。すなわち、メモリアクセス違反の発生した時刻310、エラー内容311、CPUのレジスタに関する情報(レジスタNo.、プログラムカウンタ、関数の戻りアドレス等)312等が表示される。また、この無視エラー情報画面300には、さらなる詳細情報を表示するF1キー313、及び削除を指示するF2キー314や、BSキー315、Escキー316、スクロールバー320等が表示される。無視エラー情報画面300に表示された複数のメモリアクセス違反の情報のうちの1つ(斜線で示す。)を選択し、選択したメモリアクセス違反の情報に対して削除等の各種の処理を指示することができる。なお、図5の画面中にログ保存キーを設けておき、ログ保存キーの操作により、メモリアクセス違反の情報を通信部5を介して外部装置に出力させるようにしてもよい。
【0036】
(画像処理装置の動作)
次に、画像処理装置1の動作を図1〜図9を参照して説明する。
【0037】
図6〜図8は、アクセス違反発生後の動作を示す図、図9は、アクセス違反発生後の動作を示すフローチャートである。
【0038】
例えば、画像処理用アプリケーションが仮想アドレス領域71のバッファ領域71aに書込み中にアクセス違反が発生すると(S10)、MMU640がそのメモリアクセス違反を検知し、それをメモリアクセス違反例外処理手段65に通知する。
【0039】
メモリアクセス違反例外処理手段65は、図6に示すように、ページテーブル641の対応するページに「書込み不可」のアクセス属性を設定した後、メモリアクセス違反無視テーブル68を参照し(S11)、今回アクセス違反が発生した画像処理用アプリケーション上の箇所がメモリアクセス違反無視テーブル68に登録されているか否かを判断する(S12)。登録されている場合には、システムメモリ7に書込みが必要か否かを判断し(S13)、書込みが不要の場合には、違反アドレスに戻る(S14)。
【0040】
上記ステップS13において、書込みが必要の場合は、物理アドレス領域70に空きバッファが存在するか否かを判断する(S15)。
【0041】
上記ステップS15において、空きバッファが存在しない場合には、図7に示すように、ページテーブル641の対応するページのアクセス属性である「書込み不可」を「書込み可」に変更する(S16)。これにより、画像処理用アプリケーションはバッファ領域71aを用いて継続して処理を行う。
【0042】
上記ステップS15において、空きバッファが存在する場合には、図8に示すように、物理アドレス領域70の空きバッファであるバッファ領域70bに対応するページテーブル641のページに仮想アドレス領域71のバッファ領域71aをマッピングし、対応するページテーブル641のページに「書込み可」のアクセス属性を設定する(S17)。これにより、プログラムはバッファ領域71aを用いて継続して処理を行う。
【0043】
上記ステップS12において、今回アクセス違反が発生したプログラム上の箇所がメモリアクセス違反無視テーブル68に登録されていない場合には、メモリアクセス違反例外処理手段65は、タスクの処理の停止等の例外処理を行う(S18)。履歴情報保存手段66は、メモリアクセス違反例外処理手段65の指示により履歴情報記憶部8にメモリアクセス違反の履歴情報を格納する。
【0044】
履歴情報保存手段66は、外部装置から通信部5を介して履歴情報の読み出し要求があると、履歴情報記憶部8から履歴情報を読み出して通信部5を介して外部装置に出力する。また、履歴情報保存手段66は、操作表示部2から履歴情報の読み出し要求があると、履歴情報記憶部8から履歴情報を読み出して操作表示部2に出力する。
【0045】
本実施の形態によれば、メモリアクセス違反が発生したとき、それが無視テーブルに登録されている場合には、例外発生箇所に戻り、処理は中断せずに続行される。
【0046】
[第2の実施の形態]
図10は、本発明の第2の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【0047】
本実施の形態は、第1の実施の形態において、揮発性記憶部8及び履歴情報保存手段66を省き、強制再起動手段69を設けたものであり、他は第1の実施の形態と同様に構成されている。強制再起動手段69は、CPUとプログラム、又はASIC等のハードウェアによって実現することができる。
【0048】
強制再起動手段69は、画像処理用プログラムがタクスを実行中にメモリアクセス違反が発生し、タクスの処理が停止した後、メモリアクセス違反例外処理手段65の指示によりメモリ(アクセス違反の内容を含む。)をクリアしない再起動を強制的に行う。強制再起動手段69は、再起動した際に、メモリアクセス違反例外処理手段65の処理として、図5に示す無視エラー情報画面300の情報を操作表示部2又は通信部5を介して外部装置に出力する。無視テーブル登録/編集手段67は、メモリアクセス違反無視テーブル68への登録又は編集を、操作表示部2又は通信部5に接続された外部装置における操作に基づいて行う。
【0049】
本実施の形態によれば、メモリアクセス違反が発生したとき、不揮発性記憶部を有していなくてもアクセス違反の内容に基づいてメモリアクセス違反無視テーブル68へ登録することができる。
【0050】
[他の実施の形態]
なお、本発明は、上記実施の形態に限定されず、その要旨を変更しない範囲内で種々な変形が可能である。
【図面の簡単な説明】
【0051】
【図1】図1は、本発明の第1の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【図2】図2は、履歴情報操作メニュー画面の一例を示す図である。
【図3】図3は、例外処理ログ画面を示す図である。
【図4】図4は、履歴情報操作メニュー画面の一例を示す図である。
【図5】図5は、無視エラー情報画面を示す図である。
【図6】図6は、アクセス違反発生後の動作を示す図である。
【図7】図7は、アクセス違反発生後の動作を示す図である。
【図8】図8は、アクセス違反発生後の動作を示す図である。
【図9】図9は、アクセス違反発生後の動作を示すフローチャートである。
【図10】図10は、本発明の第2の実施の形態に係る画像処理装置の概略の構成を示すブロック図である。
【符号の説明】
【0052】
1…画像処理装置、2…操作表示部、3…画像入力部、4…画像出力部、5…通信部、6…制御部、7…システムメモリ、8…不揮発性記憶部、60…画像処理制御手段、61…メモリ資源管理手段、63…メモリアドレス変換手段、64…メモリ管理手段、65…メモリアクセス違反例外処理手段、66…履歴情報保存手段、67…無視テーブル登録/編集手段、68…メモリアクセス違反無視テーブル、69…強制再起動手段、70…物理アドレス領域、70a,70b…バッファ領域、71…仮想アドレス領域、71a…バッファ領域、80…メモリ属性変換手段、100…履歴情報操作メニュー画面、110…「履歴の表示」、111…「全て表示」項目、112…「タスク出力ログ」項目、113…「システムログ」項目113、114…「割り込み処理ログ」項目、115…「例外処理ログ」項目、120…「履歴の消去」、130,131…スクロールボタン、200…例外処理ログ画面、210…時刻、211…エラー内容、212…CPUのレジスタに関する情報、213…F1キー、214…F2キー、215…BSキー、216…Escキー、220…スクロールバー、300…無視エラー情報画面、310…時刻、311…エラー内容、312…CPUのレジスタに関する情報、313…F1キー、314…F2キー、315…BSキー、320…スクロールバー、640…MMU、641…ページテーブル

【特許請求の範囲】
【請求項1】
アプリケーションによりアクセスされるメモリと、
前記アプリケーションによる前記メモリへのアクセス違反を検知する検知手段と、
前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反の内容を保存する保存手段と、
前記アクセス違反を発生した前記アプリケーション上の位置情報のうち、無視すべき位置情報が登録された無視テーブルと、
前記検知手段により前記アクセス違反が検知されたとき、前記アクセス違反を発生した前記アプリケーション上の位置情報が前記無視テーブルに登録されていないときは例外処理を行い、前記無視テーブルに登録されているときは例外発生箇所に戻る例外処理手段とを備えた画像処理装置。
【請求項2】
前記保存手段は、前記アクセス違反の内容を履歴情報として不揮発性記憶部に保存する請求項1に記載の画像処理装置。
【請求項3】
前記検知手段により前記アクセス違反が検知されたとき、前記保存手段により保存された前記アクセス違反の内容をクリアしない再起動を行う強制再起動手段と、
前記再起動後に前記保存手段により保存されている前記アクセス違反の内容に基づいて前記無視すべき位置情報を前記無視テーブルに登録する登録手段と、
更に備えた請求項1に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate