JP2011018136A - 画像処理装置およびプログラム - Google Patents
画像処理装置およびプログラム Download PDFInfo
- Publication number
- JP2011018136A JP2011018136A JP2009161184A JP2009161184A JP2011018136A JP 2011018136 A JP2011018136 A JP 2011018136A JP 2009161184 A JP2009161184 A JP 2009161184A JP 2009161184 A JP2009161184 A JP 2009161184A JP 2011018136 A JP2011018136 A JP 2011018136A
- Authority
- JP
- Japan
- Prior art keywords
- code
- program
- image processing
- execution
- machine language
- 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
Images
Abstract
【課題】画像処理装置において、仮想マシンによるシステムでリアルタイム性が要求される装置制御を行う場合における時間条件を満足するための手段を提供する。
【解決手段】同一のCPU上で、画像処理を行うためのOS1およびAS1による画像処理を実行する第1実行手段と、CPUが直接実行できない言語で記述された装置制御を行うためのOS2およびAS2による装置制御の処理を実行する第2実行手段とを実現する。第2実行手段である仮想マシンVMは、OS2およびAS2のコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、CPUが直接実行可能な機械語コードに変換するコード変換部20aと、コード変換部20aにより生成された機械語コードを実行する機械語コード実行機能およびOS2およびAS2のコードを実行時に逐次解釈しながら実行する逐次実行機能を有するコード実行部20cと、を備える。
【選択図】図4
【解決手段】同一のCPU上で、画像処理を行うためのOS1およびAS1による画像処理を実行する第1実行手段と、CPUが直接実行できない言語で記述された装置制御を行うためのOS2およびAS2による装置制御の処理を実行する第2実行手段とを実現する。第2実行手段である仮想マシンVMは、OS2およびAS2のコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、CPUが直接実行可能な機械語コードに変換するコード変換部20aと、コード変換部20aにより生成された機械語コードを実行する機械語コード実行機能およびOS2およびAS2のコードを実行時に逐次解釈しながら実行する逐次実行機能を有するコード実行部20cと、を備える。
【選択図】図4
Description
本発明は、画像処理装置およびプログラムに関する。
半導体の処理能力の向上に伴い、単一のプロセッサで様々な制御や処理を並列に実行することが可能となっている。特許文献1に記載された技術は、第一のOS(Operating System)と他のOSが管理するハードウェア資源を分割する手順と、他のOSを起動する手順と、実行OSを切替える手順と、割り込み要因により割り込み処理するOSを決定し、適切な割り込みハンドラを起動する手順により、複数のOSの同時実行を実現する。
また、ソフトウェア開発や提供を効率的に行うため、異なるハードウェアで共通のアプリケーション・プログラムやオペレーティング・システムを実行可能とする技術がある。例えば、仮想マシン(Virtual Machine)は、ソフトウェアによって仮想的に構築されたコンピュータであり、この仮想マシンが実装されたコンピュータでは、その種類に関わらず、この仮想マシン上で実行されるソフトウェアを実行することができる。
仮想マシンによるシステムでは、仮想マシン上で動作するプログラムを仮想マシンが実装されているコンピュータが実行できるように変換するため、処理の実行に時間を要する場合が多い。これに対し、装置制御においては、決まった処理を決まった時間内に実行するリアルタイム性が要求される場合がある。そのため、仮想マシンによるシステムでリアルタイム性が要求される制御(リアルタイム制御)を実現するためには、制御が要求する処理速度を下回ることがないように、システムを構成する必要がある。
本発明は、仮想マシンによるシステムで装置制御を行う場合における時間条件を満足するための手段を提供することを目的とする。
請求項1に記載の発明は、画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、前記第1実行手段と同一のプロセッサで機能し、当該プロセッサが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段とを備え、前記第2実行手段は、前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、前記プロセッサが直接実行可能な機械語コードに変換するコード変換部と、前記コード変換部により生成された前記機械語コードを実行する機械語コード実行機能および前記第2プログラムのコードを実行時に逐次解釈しながら実行する逐次実行機能を有するコード実行部と、を備えることを特徴とする、画像処理装置である。
請求項2に記載の発明は、予め定められた時間条件に基づいて実行することが要求される前記コードを特定する情報を記憶する記憶手段をさらに備え、前記第2実行手段の前記コード変換部は、画像処理装置の起動時に、前記記憶手段に記憶された前記情報により特定されるコードを前記機械語コードに変換することを特徴とする、請求項1に記載の画像処理装置である。
請求項3に記載の発明は、前記第2実行手段は、前記コード変換部により生成された前記機械語コードを保持するコード保持部をさらに備え、前記コード実行部は、前記コード保持部に保持されている前記機械語コードを読み出して実行することを特徴とする、請求項1または請求項2に記載の画像処理装置である。
請求項4に記載の発明は、画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、前記第1実行手段と同一のプロセッサで機能し、当該プロセッサが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段とを備え、前記第2実行手段は、前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、予め機械語コードに変換し、当該機械語コードを実行する機能と、前記第2プログラムのコードを実行時に逐次解釈しながら実行する機能と、を備えることを特徴とする、画像処理装置である。
請求項5に記載の発明は、予め定められた時間条件に基づいて実行することが要求される前記コードを特定する情報を記憶する記憶手段をさらに備え、前記第2実行手段は、画像処理装置の起動時に、前記記憶手段に記憶された前記情報により特定されるコードを前記機械語コードに変換することを特徴とする、請求項4に記載の画像処理装置である。
請求項6に記載の発明は、画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、前記コンピュータが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段として機能させ、前記第2実行手段において、前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、前記コンピュータが直接実行可能な機械語コードに変換し、変換後の前記機械語コードを実行し、前記第2プログラムのコードを実行時に逐次解釈しながら実行することを特徴とする、プログラムである。
請求項7に記載の発明は、画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、前記コンピュータが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段として機能させ、前記第2実行手段において、前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、予め機械語コードに変換し、当該機械語コードを実行する機能と、前記第2プログラムのコードを実行時に逐次解釈しながら実行する機能と、を実現することを特徴とする、プログラムである。
請求項2に記載の発明は、予め定められた時間条件に基づいて実行することが要求される前記コードを特定する情報を記憶する記憶手段をさらに備え、前記第2実行手段の前記コード変換部は、画像処理装置の起動時に、前記記憶手段に記憶された前記情報により特定されるコードを前記機械語コードに変換することを特徴とする、請求項1に記載の画像処理装置である。
請求項3に記載の発明は、前記第2実行手段は、前記コード変換部により生成された前記機械語コードを保持するコード保持部をさらに備え、前記コード実行部は、前記コード保持部に保持されている前記機械語コードを読み出して実行することを特徴とする、請求項1または請求項2に記載の画像処理装置である。
請求項4に記載の発明は、画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、前記第1実行手段と同一のプロセッサで機能し、当該プロセッサが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段とを備え、前記第2実行手段は、前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、予め機械語コードに変換し、当該機械語コードを実行する機能と、前記第2プログラムのコードを実行時に逐次解釈しながら実行する機能と、を備えることを特徴とする、画像処理装置である。
請求項5に記載の発明は、予め定められた時間条件に基づいて実行することが要求される前記コードを特定する情報を記憶する記憶手段をさらに備え、前記第2実行手段は、画像処理装置の起動時に、前記記憶手段に記憶された前記情報により特定されるコードを前記機械語コードに変換することを特徴とする、請求項4に記載の画像処理装置である。
請求項6に記載の発明は、画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、前記コンピュータが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段として機能させ、前記第2実行手段において、前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、前記コンピュータが直接実行可能な機械語コードに変換し、変換後の前記機械語コードを実行し、前記第2プログラムのコードを実行時に逐次解釈しながら実行することを特徴とする、プログラムである。
請求項7に記載の発明は、画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、前記コンピュータが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段として機能させ、前記第2実行手段において、前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、予め機械語コードに変換し、当該機械語コードを実行する機能と、前記第2プログラムのコードを実行時に逐次解釈しながら実行する機能と、を実現することを特徴とする、プログラムである。
請求項1の発明によれば、仮想マシンによるシステムで装置制御を行う場合にも、予め定められた時間条件に基づいて実行することが要求されるコードに関して、時間条件を満足して実行することができる。
請求項2の発明によれば、予め定められた時間条件に基づいて実行することが要求されるコードに関して、画像処理装置の起動時に、予め機械語コードに変換しておくことができる。
請求項3の発明によれば、実行時以前に予め機械語に変換されたコードを保持しておくことができる。
請求項4の発明によれば、仮想マシンによるシステムで装置制御を行う場合にも、予め定められた時間条件に基づいて実行することが要求されるコードを機械語コードに変換して実行することにより、時間条件を満足して実行することができる。
請求項5の発明によれば、予め定められた時間条件に基づいて実行することが要求されるコードに関して、画像処理装置の起動時に、予め機械語コードに変換しておくことができる。
請求項6の発明によれば、画像処理装置を制御するコンピュータにおいて、仮想マシンによるシステムで装置制御を行う場合にも、予め定められた時間条件に基づいて実行することが要求されるコードに関して、時間条件を満足して実行することができる。
請求項7の発明によれば、画像処理装置を制御するコンピュータにおいて、仮想マシンによるシステムで装置制御を行う場合にも、予め定められた時間条件に基づいて実行することが要求されるコードを機械語コードに変換して実行することにより、時間条件を満足して実行することができる。
請求項2の発明によれば、予め定められた時間条件に基づいて実行することが要求されるコードに関して、画像処理装置の起動時に、予め機械語コードに変換しておくことができる。
請求項3の発明によれば、実行時以前に予め機械語に変換されたコードを保持しておくことができる。
請求項4の発明によれば、仮想マシンによるシステムで装置制御を行う場合にも、予め定められた時間条件に基づいて実行することが要求されるコードを機械語コードに変換して実行することにより、時間条件を満足して実行することができる。
請求項5の発明によれば、予め定められた時間条件に基づいて実行することが要求されるコードに関して、画像処理装置の起動時に、予め機械語コードに変換しておくことができる。
請求項6の発明によれば、画像処理装置を制御するコンピュータにおいて、仮想マシンによるシステムで装置制御を行う場合にも、予め定められた時間条件に基づいて実行することが要求されるコードに関して、時間条件を満足して実行することができる。
請求項7の発明によれば、画像処理装置を制御するコンピュータにおいて、仮想マシンによるシステムで装置制御を行う場合にも、予め定められた時間条件に基づいて実行することが要求されるコードを機械語コードに変換して実行することにより、時間条件を満足して実行することができる。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
図1は、本実施形態の画像処理装置の構成を示す図である。
本実施形態では、画像処理装置が、画像データに基づき画像形成材を用いて用紙等の媒体上に画像を形成すると共に、複写機能やスキャナ機能、ファクシミリ機能等を備えた複合機としての画像形成装置である場合を例として説明する。図1に示す画像形成装置100は、各色の画像データに対応して画像形成を行う画像形成部10と、画像形成装置100全体の動作を制御する制御部20とを備える。制御部20は、ホスト・コンピュータ200に接続されており、ホスト・コンピュータ200から入力される印刷ジョブを受け付け、文書画像の作成、その他の処理を行って、画像形成部10に送る。
<システム構成>
図1は、本実施形態の画像処理装置の構成を示す図である。
本実施形態では、画像処理装置が、画像データに基づき画像形成材を用いて用紙等の媒体上に画像を形成すると共に、複写機能やスキャナ機能、ファクシミリ機能等を備えた複合機としての画像形成装置である場合を例として説明する。図1に示す画像形成装置100は、各色の画像データに対応して画像形成を行う画像形成部10と、画像形成装置100全体の動作を制御する制御部20とを備える。制御部20は、ホスト・コンピュータ200に接続されており、ホスト・コンピュータ200から入力される印刷ジョブを受け付け、文書画像の作成、その他の処理を行って、画像形成部10に送る。
画像形成部10は、イエロー(Y)、マゼンタ(M)、シアン(C)、ブラック(K)の各色に対応させて、4つの画像形成ユニット11(各色別に11Y、11M、11C、11K)を備える画像形成手段である。また、画像形成部10は、各画像形成ユニット11の各感光体ドラム12にて画像形成された各色のトナー像を多重転写させる対象である用紙(印刷媒体)を搬送する搬送ベルト16、搬送ベルト16を駆動する駆動ロール17、感光体ドラム12のトナー像を用紙に転写させるための転写ロール18、転写後の用紙上の未定着トナー像を加熱・加圧して定着する定着器19を備える。なお、本実施形態では、印刷方式については限定しない。すなわち、図1に示す電子写真方式の他、インクジェット方式、サーマル方式等、種々の方式の印刷手段により本実施形態の画像形成部10を構成し得る。
図2は、制御部20の構成例を示す図である。
図2に示すように、制御部20は、CPU(Central Processing Unit)21、CPU21が実行するプログラムを格納したROM(Read Only Memory)22、作業用メモリであるRAM(Random Access Memory)23を備える。また、CPU21の動作クロックを生成するクロック生成部24、CPU21に加える電圧を生成する電圧生成部25を備える。CPU21は、電圧生成部25により生成された電圧で電力を供給され、クロック生成部24により生成されたクロックにしたがって動作する。さらに、制御部20は、各種センサから情報を取得したりモータを制御したりするための内部バスへのインターフェイス(I/O)26、ホスト・コンピュータ200とデータ交換を行うためのインターフェイス(I/O)27を備える。
図2に示すように、制御部20は、CPU(Central Processing Unit)21、CPU21が実行するプログラムを格納したROM(Read Only Memory)22、作業用メモリであるRAM(Random Access Memory)23を備える。また、CPU21の動作クロックを生成するクロック生成部24、CPU21に加える電圧を生成する電圧生成部25を備える。CPU21は、電圧生成部25により生成された電圧で電力を供給され、クロック生成部24により生成されたクロックにしたがって動作する。さらに、制御部20は、各種センサから情報を取得したりモータを制御したりするための内部バスへのインターフェイス(I/O)26、ホスト・コンピュータ200とデータ交換を行うためのインターフェイス(I/O)27を備える。
図3は、本実施形態を実現するソフトウェアの構成例を示す図である。
CPU21は、ROM22に格納されたプログラムを読み込んで実行する。CPU21により実行されるプログラムは、図3に示すように、OS0、OS0上で動作するOS1、OS1上で動作するアプリケーション・プログラムAS1、同じくOS0上で動作する仮想マシンVM、仮想マシンVM上で動作するOS2、OS2上で動作するアプリケーション・プログラムAS2を含む。なお、アプリケーション・プログラムAS1、AS2は、単一のプログラムとは限らず、各々OS1、OS2上で動作するアプリケーション・プログラムの総称である。
CPU21は、ROM22に格納されたプログラムを読み込んで実行する。CPU21により実行されるプログラムは、図3に示すように、OS0、OS0上で動作するOS1、OS1上で動作するアプリケーション・プログラムAS1、同じくOS0上で動作する仮想マシンVM、仮想マシンVM上で動作するOS2、OS2上で動作するアプリケーション・プログラムAS2を含む。なお、アプリケーション・プログラムAS1、AS2は、単一のプログラムとは限らず、各々OS1、OS2上で動作するアプリケーション・プログラムの総称である。
これらのソフトウェアは、画像形成装置100の制御部20に実装され、CPU21等のハードウェア資源と協働して各種の機能を実現する。そこで、以下では、これらのソフトウェアの各々により実現される機能についても同じ符号を用いて記載する。例えば、OS1は、画像処理を担うソフトウェア(オペレーティング・システム)であるが、このソフトウェアがCPU21により実行されることによって実現される機能(画像処理の実行手段)をも意味する。同様に、仮想マシンVMは、CPU21およびOS0のアーキテクチャに関わらない独自の言語で記述されたOS2およびAS2を、CPU21およびOS0上で動作させるためのソフトウェアであるが、このソフトウェアがCPU21により実行されることによって実現される機能(OS2およびAS2の実行手段)をも意味する。
図3に示すソフトウェア構成において、OS1は、アプリケーション・プログラムAS1による画像処理の動作を制御するオペレーティング・システムである。また、仮想マシンVM上で動作するOS2は、リアルタイム性が要求される装置制御(リアルタイム制御)を担うオペレーティング・システム(リアルタイムOS)である。OS2およびAS2は、仮想マシンVMが実装された装置(コンピュータ)であれば、CPU21等のハードウェアや仮想マシンVMが動作するOS0の種類に関わらず動作する。すなわち、仮想マシンVMを介在させることにより、いわゆるマルチ・プラットフォームが実現される。
仮想マシンVMは、OS2およびAS2のプログラムを実行する手段として、コードを随時解釈しながら実行するインタプリタ機能と、コードをCPU21が直接実行可能な機械語コードに変換(コンパイル)して実行するコンパイラ機能とを備える。仮想マシンにおけるコンパイラ機能は、通常、コードを実行する際に変換するJIT(ジャスト・イン・タイム)コンパイル方式で動作するが、本実施形態の仮想マシンVMは、特定のコードに関しては、実行以前に予め機械語コードに変換する。
<制御部20の機能構成>
図4は、本実施形態における仮想マシンVMの機能構成例を示す図である。
図3に示したように、本実施形態の仮想マシンVMは、OS2およびAS2のプログラムをCPU21が実行するための、ソフトウェアが実装されハードウェアと協働することによって実現される機能である。図4に示すように、本実施形態の仮想マシンVMは、OS2およびAS2のコードを機械語コードに変換するコード変換部20aと、コード変換部20aにより生成された機械語コードを保持するコード保持部20bと、OS2およびAS2のコードを実行するコード実行部20cとを備える。
図4は、本実施形態における仮想マシンVMの機能構成例を示す図である。
図3に示したように、本実施形態の仮想マシンVMは、OS2およびAS2のプログラムをCPU21が実行するための、ソフトウェアが実装されハードウェアと協働することによって実現される機能である。図4に示すように、本実施形態の仮想マシンVMは、OS2およびAS2のコードを機械語コードに変換するコード変換部20aと、コード変換部20aにより生成された機械語コードを保持するコード保持部20bと、OS2およびAS2のコードを実行するコード実行部20cとを備える。
コード変換部20aは、OS2およびAS2のコードを読み込んで、CPU21が直接実行可能な機械語コードに変換する。コード変換部20aによる変換処理は、画像形成装置100の起動時に実行される。本実施形態では、画像形成装置100の起動時にコード変換部20aにより機械語コードに変換されるべきOS2およびAS2のコードを指示するコード指示情報22aが予め用意される。このコード指示情報22aは、例えば図2に示したROM22に格納されている。コード変換部20aは、画像形成装置100の起動時に、このコード指示情報22aを参照し、OS2およびAS2のコードのうちコード指示情報22aに指示されたコードを読み込んで機械語コードに変換する。
コード保持部20bは、コード変換部20aにより生成された機械語コードを保持する。図4に示す構成例では、コード保持部20bは仮想マシンVMの一機能として記載されているが、実際には、CPU21のキャッシュメモリや図2に示したRAM23等の記憶手段により実現される。
コード実行部20cは、OS2およびAS2のコードを読み込んで実行する。ここで、コード実行部20cは、OS2およびAS2のコードを随時解釈しながら実行する逐次実行機能(インタプリタ機能)と、機械語コードに変換されたOS2およびAS2のコードを実行する機械語コード実行機能(コンパイラ機能)とを備える。したがって、コード実行部20cは、あるコードを実行する場合、コード保持部20bに機械語コードが保持されている場合には、その機械語コードをコード保持部20bから読み出して実行する。そして、コード保持部20bに機械語コードが保持されていない場合は、ROM22からコードを読み込み、解釈して実行する。
この仮想マシンVMの機能構成を、実行方式の観点から、OS2およびAS2のコードを予め機械語コードに変換して実行する機能と、OS2およびAS2のコードを実行時に逐次解釈しながら実行する機能とに分けて把握しても良い。前者の機能は、コード変換部20a、コード保持部20bおよびコード実行部20cにより実現される。一方、後者の機能は、コード実行部20cにより実現される。
<コード変換部20aによるコード変換の例>
次に、プログラムの具体的な構成例を挙げて、コード変換部20aによるコード変換の例を示す。
図5は、仮想マシン上で動作するプログラムの構成例を示す図である。
図5に示す構成例では、仮想マシンVMのアドレス空間のうち、0x00000〜0x09999がOS2の使用領域として割り当てられている。また、0x10000〜0x69999がアプリケーション・プログラムAS2の使用領域として割り当てられている。各領域に割り当てられた各プログラムのコードのうち、斜線を付した部分は、予め定められた時間条件に基づいて実行することが要求されるコード、すなわちリアルタイム制御において実行されるコードである。
次に、プログラムの具体的な構成例を挙げて、コード変換部20aによるコード変換の例を示す。
図5は、仮想マシン上で動作するプログラムの構成例を示す図である。
図5に示す構成例では、仮想マシンVMのアドレス空間のうち、0x00000〜0x09999がOS2の使用領域として割り当てられている。また、0x10000〜0x69999がアプリケーション・プログラムAS2の使用領域として割り当てられている。各領域に割り当てられた各プログラムのコードのうち、斜線を付した部分は、予め定められた時間条件に基づいて実行することが要求されるコード、すなわちリアルタイム制御において実行されるコードである。
図6は、図5に示したプログラムに対応するコード指示情報22aの構成例を示す図である。
図6を参照すると、図5の斜線が付された箇所である「割り込み処理0」、「割り込み処理2」、「OS処理1」、「タスク0」、タスク1の「関数1−1」について、仮想マシンVMのアドレス空間における各コードの開始アドレスおよびバイト数が、対応付けられて記録されている。そして、コード変換部20aは、図6に示すコード指示情報22aを参照することにより、OS2およびAS2のコードのうち機械語コードに変換すべきコードを特定する。
図6を参照すると、図5の斜線が付された箇所である「割り込み処理0」、「割り込み処理2」、「OS処理1」、「タスク0」、タスク1の「関数1−1」について、仮想マシンVMのアドレス空間における各コードの開始アドレスおよびバイト数が、対応付けられて記録されている。そして、コード変換部20aは、図6に示すコード指示情報22aを参照することにより、OS2およびAS2のコードのうち機械語コードに変換すべきコードを特定する。
図7は、図6に示したコード指示情報22aに基づいて機械語コードに変換されたコード群を示す図である。
図5乃至図7を参照すると、図6のコード指示情報22aに基づき、図5に示したプログラムのうちの斜線が付されたコード群が抽出され、機械語コードに変換されたことがわかる。この機械語コード群は、コード保持部20bに保持される。そして、コード実行部20cがこれらのコードに対応する処理を実行する場合には、OS2およびAS2のコードを解釈して実行するのではなく、コード保持部20bに保持されている機械語コードが実行される。
図5乃至図7を参照すると、図6のコード指示情報22aに基づき、図5に示したプログラムのうちの斜線が付されたコード群が抽出され、機械語コードに変換されたことがわかる。この機械語コード群は、コード保持部20bに保持される。そして、コード実行部20cがこれらのコードに対応する処理を実行する場合には、OS2およびAS2のコードを解釈して実行するのではなく、コード保持部20bに保持されている機械語コードが実行される。
図8は、本実施形態において、コード変換部20aによりプログラムの一部が機械語コードに変換された様子を示す図である。
変換前のプログラム(OS2およびAS2)を示す図8(a)において、破線で囲まれた部分が、予め定められた時間条件に基づいて実行することが要求される(リアルタイム制御用の)コードである。そして、このプログラムにおける変換後の状態を示す図8(b)を参照すると、図8(a)の破線で囲まれた部分が抜き出され、機械語コードに変換されている。
変換前のプログラム(OS2およびAS2)を示す図8(a)において、破線で囲まれた部分が、予め定められた時間条件に基づいて実行することが要求される(リアルタイム制御用の)コードである。そして、このプログラムにおける変換後の状態を示す図8(b)を参照すると、図8(a)の破線で囲まれた部分が抜き出され、機械語コードに変換されている。
以上のように、本実施形態は、画像形成装置100において、画像処理を行うためのOS1およびAS1と装置制御を行うためのOS2およびAS2とが同一のCPU21で動作し、このうちOS2およびAS2が仮想マシンVMを介して実行される動作環境である場合に、OS2およびAS2のコードのうち予め定められた時間条件に基づいて実行することが要求されるコードを特定して予めコンパイルする。これによって、リアルタイム制御が必要とされる処理において、OS2およびAS2のコードを解釈しながら実行するために動作が遅延することを回避し、要求される時間条件を満足する動作が実現される。
なお、本実施形態において、コード変換部20aは、画像形成装置100の起動時に、コード指示情報22aに基づいて特定されるOS2およびAS2のコードを機械語コードに変換することとした。これに加えて、コード変換部20aは、JITコンパイラとしての機能を有しても良い。この場合、コード実行部20cによるOS2およびAS2のコードの実行に伴い、その実行履歴がプロファイル・データとして保存される。そして、特定のコードの実行頻度や実行回数が予め設定された閾値を超える場合に、コード変換部20aが、その特定のコードを機械語コードに変換し、コード保持部20bに保持させることとなる。
また、本実施形態では、コピー・モード、スキャン・モード等を備えた複合機としての画像形成装置を例として説明したが、単機能のコピー機やファクシミリ、さらにその他の画像処理機能を備えた種々の画像処理装置に対して適用して良い。
100…画像形成装置、20…制御部、20a…コード変換部、20b…コード保持部、20c…コード実行部、21…CPU、22…ROM、23…RAM、24…クロック生成部、25…電圧生成部
Claims (7)
- 画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、
前記第1実行手段と同一のプロセッサで機能し、当該プロセッサが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段とを備え、
前記第2実行手段は、
前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、前記プロセッサが直接実行可能な機械語コードに変換するコード変換部と、
前記コード変換部により生成された前記機械語コードを実行する機械語コード実行機能および前記第2プログラムのコードを実行時に逐次解釈しながら実行する逐次実行機能を有するコード実行部と、
を備えることを特徴とする、画像処理装置。 - 予め定められた時間条件に基づいて実行することが要求される前記コードを特定する情報を記憶する記憶手段をさらに備え、
前記第2実行手段の前記コード変換部は、画像処理装置の起動時に、前記記憶手段に記憶された前記情報により特定されるコードを前記機械語コードに変換することを特徴とする、請求項1に記載の画像処理装置。 - 前記第2実行手段は、前記コード変換部により生成された前記機械語コードを保持するコード保持部をさらに備え、
前記コード実行部は、前記コード保持部に保持されている前記機械語コードを読み出して実行することを特徴とする、請求項1または請求項2に記載の画像処理装置。 - 画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、
前記第1実行手段と同一のプロセッサで機能し、当該プロセッサが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段とを備え、
前記第2実行手段は、
前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、予め機械語コードに変換し、当該機械語コードを実行する機能と、
前記第2プログラムのコードを実行時に逐次解釈しながら実行する機能と、
を備えることを特徴とする、画像処理装置。 - 予め定められた時間条件に基づいて実行することが要求される前記コードを特定する情報を記憶する記憶手段をさらに備え、
前記第2実行手段は、画像処理装置の起動時に、前記記憶手段に記憶された前記情報により特定されるコードを前記機械語コードに変換することを特徴とする、請求項4に記載の画像処理装置。 - 画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、
画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、
前記コンピュータが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段として機能させ、
前記第2実行手段において、
前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、前記コンピュータが直接実行可能な機械語コードに変換し、
変換後の前記機械語コードを実行し、
前記第2プログラムのコードを実行時に逐次解釈しながら実行する
ことを特徴とする、プログラム。 - 画像処理装置の動作制御を行い、かつ画像処理を行うコンピュータを、
画像処理を行うための第1プログラムによる画像処理を実行する第1実行手段と、
前記コンピュータが直接実行できない言語で記述された装置制御を行うための第2プログラムによる装置制御の処理を実行する第2実行手段として機能させ、
前記第2実行手段において、
前記第2プログラムのコードのうち、予め定められた時間条件に基づいて実行することが要求されるコードを、予め機械語コードに変換し、当該機械語コードを実行する機能と、
前記第2プログラムのコードを実行時に逐次解釈しながら実行する機能と、
を実現することを特徴とする、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009161184A JP2011018136A (ja) | 2009-07-07 | 2009-07-07 | 画像処理装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009161184A JP2011018136A (ja) | 2009-07-07 | 2009-07-07 | 画像処理装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011018136A true JP2011018136A (ja) | 2011-01-27 |
Family
ID=43595891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009161184A Pending JP2011018136A (ja) | 2009-07-07 | 2009-07-07 | 画像処理装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011018136A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016529614A (ja) * | 2013-08-26 | 2016-09-23 | ヴイエムウェア インコーポレイテッドVMware,Inc. | 待ち時間の影響を受けやすい仮想マシンをサポートするように構成された仮想マシンモニタ |
-
2009
- 2009-07-07 JP JP2009161184A patent/JP2011018136A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016529614A (ja) * | 2013-08-26 | 2016-09-23 | ヴイエムウェア インコーポレイテッドVMware,Inc. | 待ち時間の影響を受けやすい仮想マシンをサポートするように構成された仮想マシンモニタ |
JP2016529613A (ja) * | 2013-08-26 | 2016-09-23 | ヴイエムウェア インコーポレイテッドVMware,Inc. | 待ち時間の影響を受けやすい仮想マシンをサポートするように構成されるcpuスケジューラ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5089429B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
KR100757154B1 (ko) | 정보 처리 장치 및 그 제어 방법 | |
JP2007069357A (ja) | 印刷システムと印刷装置及び印刷方法 | |
JP6103909B2 (ja) | 画像処理装置、画像処理装置の制御方法及びプログラム | |
JP2009241584A (ja) | プリンタに提出された印刷ジョブの取消し方法 | |
JP5482529B2 (ja) | 印刷文書変換装置及びプログラム | |
JP2007156613A (ja) | 描画制御装置、描画制御方法、記憶媒体およびプログラム | |
JP2011098500A (ja) | 画像形成装置、および画像形成装置制御方法、およびプログラム。 | |
JP2005352697A (ja) | コンピュータシステム、及び該システムにおけるジョブの割り当て方法 | |
JP5609308B2 (ja) | 画像処理システム、画像処理装置、情報処理装置、及び画像処理方法 | |
JP6524928B2 (ja) | 画像処理装置及びメモリ制御プログラム並びにメモリ制御方法 | |
US8659782B2 (en) | Image forming apparatus using option controller for printing | |
JP2012119955A (ja) | 印刷データ生成装置及び印刷データ生成方法 | |
US8675212B2 (en) | Image processing apparatus, image processing method, and recording medium | |
JP2011018136A (ja) | 画像処理装置およびプログラム | |
JP2012111210A (ja) | 印刷データ生成装置、印刷データ生成方法及びプログラム | |
US11558523B2 (en) | Image forming apparatus that generates a function execution module for an operating-system-independent environment | |
JP5740913B2 (ja) | 画像形成装置およびその制御方法 | |
JP6996189B2 (ja) | プリントコントローラー、画像形成システム及び画像形成装置 | |
JP2005352695A (ja) | 情報処理装置およびその制御方法、並びに、画像処理方法 | |
US10262247B2 (en) | Image forming apparatus for converting print data into intermediate data, method for controlling image forming apparatus, and storage medium | |
US10540124B2 (en) | Fast page first print optimization | |
JP2007076112A (ja) | 印刷装置 | |
JP2012165229A (ja) | 画像形成方法および画像形成装置 | |
JP2013052568A (ja) | 画像形成装置、制御方法及び制御プログラム |