JP4246672B2 - 画像形成装置および画像形成装置制御方法 - Google Patents

画像形成装置および画像形成装置制御方法 Download PDF

Info

Publication number
JP4246672B2
JP4246672B2 JP2004165978A JP2004165978A JP4246672B2 JP 4246672 B2 JP4246672 B2 JP 4246672B2 JP 2004165978 A JP2004165978 A JP 2004165978A JP 2004165978 A JP2004165978 A JP 2004165978A JP 4246672 B2 JP4246672 B2 JP 4246672B2
Authority
JP
Japan
Prior art keywords
mode
user
control
kernel
register
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
JP2004165978A
Other languages
English (en)
Other versions
JP2005346457A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004165978A priority Critical patent/JP4246672B2/ja
Priority to US11/142,456 priority patent/US7577954B2/en
Priority to EP05011925A priority patent/EP1603039A3/en
Publication of JP2005346457A publication Critical patent/JP2005346457A/ja
Application granted granted Critical
Publication of JP4246672B2 publication Critical patent/JP4246672B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Description

本発明は画像形成装置および画像形成装置制御方法に関する。
近年、複写機、ファクシミリ、プリンタ、スキャナ等の機能を有した複合機等の画像形成装置が発達してきている。これまでは複写機、ファクシミリ、プリンタ、スキャナ等の各構成要素を組み合わせただけの複合機も多かったが、これからは各構成要素に対して要求される機能の高度化に加え、高度化した各構成要素の機能を融合して使用するような高度な機能も求められるようになっている。また、近年のネットワークの発達に伴い、ネットワークとの親和性を高めることも要件の一つになってきている。
従来の複合機では単機能のコンポーネントハードウェアを組み合わせただけの構成であったため各機能が相互に融合することに限界があったが、これからの複合機では高機能化した各構成要素を高度に組み合わせることが必要になってきたため、その制御を行うソフトウェアも高度化、複雑化してきた。
このような複合機のソフトウェアの複雑化に伴い、そのソフトウェアを管理するOS(オペレーティングシステム)も、単なるマルチタスクモニタでは機能不足になっており、仮想記憶を使用したメモリ保護機能や、ユーザモードとカーネルモードとの区別による実行権限の制御が、システムの安定性や開発効率の観点からも必要とされている。このような要求を満たすため、最近では複合機のような組み込み機器においても、UNIX(登録商標)やUNIX(登録商標)互換OSが制御ソフトウェアのOSとして使用されるようになってきている。
上述したように、複合機等の画像形成装置のOSとしてUNIX(登録商標)系OSが用いられるようになってきているが、この種のOSは各種保護機能が充実している。例えば、全てのプロセスには独立した仮想空間が割り当てられており、他のプロセスやカーネル領域へのアクセスはできないようになっている。また、ユーザプロセスはCPUのユーザモードで実行されるように管理され、特権命令の実行や、カーネルモードでしかアクセスできない領域へのアクセスができないように制限されている。そして、UNIX(登録商標)系OSではセキュリティを高める観点からの機能拡張が行われるのが一般的である。
このように、UNIX(登録商標)系OSでは各種保護機能が充実している点で優れているものではあるが、反面、このようなOSを画像形成装置等の組み込み機器で使用する場合、これらの充実した保護機能により以下のような問題を起こしている。
第1は「メモリアクセス問題」というものである。これは、ユーザモードではメモリアクセスが制限されており、自由なアドレスにアクセスすることができないことによるものである。通常はこの機能は利点であるが、組み込み機器への応用では欠点になる。例えば、ソフトウェア開発の過程で簡単な動作確認をするためにプリンタのフォントROMやI/O装置のデータ領域にアクセスしたい場合が生ずるが、特別なデバイスドライバを経由して行わなければならず、デバイスドライバの作成やシステムへの組み込み等が必要になり、簡単には行えないものであった。ただし、完全に自由にメモリアクセスできるようにするのも安全性の観点からやりすぎであり、必要なときにのみ自由なメモリアクセスができるようにしたいというニーズがある。
第2は「連続実行問題」というものである。これは、CPUのステイタスレジスタ内にある割り込みマスクを自由に操作して割り込み禁止状態にできないことによるものである。すなわち、ユーザプロセスの実行中は常にハードウェア割り込みによりユーザモードの実行が中断される可能性があるが、これは組み込み機器の用途で連続的に実行されることを保証したいときに制約となる。例えば、機器内部のROMに格納されたファームウェアをネットワーク経由でリモート更新するような場合、処理の途中で他のプロセスに処理が移ると誤動作を生じてしまうため連続して実行する必要があるが、他からのハードウェア割り込みを禁止することができないため、簡単には行えないものであった。この場合、割り込みを禁止するようなシステムコールを別に用意するという解決法もあるが、システムコールのオーバーヘッドは大きいため、頻繁に割り込み禁止と許可を切り替える場合には使いづらいという問題がある。
第3は「キャッシュ操作問題」というものである。これは、メモリ領域の書き込みの速度を速めるためにキャッシュを無効にする命令が、ユーザプロセスから直接に使用できない特権命令であることによるものである。例えば、プリンタの描画処理等で大きなメモリ領域のコピーやクリア等を行う場合、書き込み先のキャッシュの内容をcache命令を使ってinvalidにしておくことによって速度が上げられるのだが、cache命令は特権命令なのでユーザプロセスで実行することができず、通常のキャッシュが効いている場合に行われるwrite allocate処理(メモリの内容をキャッシュライン単位でキャッシュに読み出す処理)が行われてしまい、新たなデータのコピーもしくはデータのクリアによって無駄となるデータの読み出しが行われることで、速度が落ちてしまうものである。
これを解決するために、大きな領域のコピーやクリアを行うためのシステムコールを追加することも考えられるが、システムコール実行中は自発的にtsleep()を呼び出してコンテキストスイッチを行わない限りコンテキストスイッチが起こらないため、時間のかかるコピーやクリアの処理を行っている間はコンテキストスイッチをすることが不可能になってしまう。もしこの間に緊急度の高いプロセスが実行可能になったとしても、このプロセスへのコンテキストスイッチが行われないという問題が出てくる。
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、UNIX(登録商標)系OSの保護機能を残しつつ、自由度の高い処理を行うことのできる画像形成装置および画像形成装置制御方法を提供することにある。
上記の課題を解決するため、本発明の一態様においては、画像形成装置を制御するオペレーティングシステムのカーネルを介し、外部の機器から前記画像形成装置内のROMを更新するファームウェアの転送を受け付け、受け付けた前記ファームウェアをメモリ上に保持する手段と、前記カーネルを介し前記機器からROM更新指示を受け付けた場合に、前記カーネルに対して、ユーザプロセスによる前記画像形成装置内のCPUの制御レジスタへの直接アクセスを可能とする制御レジスタイネーブルモードへの移行を要求する手段と、前記カーネルから制御レジスタイネーブルモードへの移行成功の応答を受けた場合に、前記CPUのステイタスレジスタの割り込みマスクを変更して割り込み禁止状態に移行させる手段と、割り込み禁止状態に移行した後に、前記メモリ上の前記ファームウェアを前記ROMに書き込む手段と、前記ROMへの前記ファームウェアの書き込み完了後に、前記カーネルに対しシステム再起動を要求する手段とを備え、前記カーネルから制御レジスタイネーブルモードへの移行成功の応答は、前記制御レジスタの内容をプロセス制御ブロックに保存し、当該プロセス制御ブロック内のレジスタモード制御ビットをアクセス可能を示す値に変更し、前記プロセス制御ブロックの内容を前記制御レジスタに復帰して制御レジスタイネーブルモードへの移行を行い、移行が成功した場合に移行成功を応答することで行う画像形成装置を要旨としている。
また、本発明の他の態様においては、画像形成装置を制御するオペレーティングシステムのカーネルを介し、外部の機器から前記画像形成装置内のROMを更新するファームウェアの転送を受け付け、受け付けた前記ファームウェアをメモリ上に保持する工程と、前記カーネルを介し前記機器からROM更新指示を受け付けた場合に、前記カーネルに対して、ユーザプロセスによる前記画像形成装置内のCPUの制御レジスタへの直接アクセスを可能とする制御レジスタイネーブルモードへの移行を要求する工程と、前記カーネルから制御レジスタイネーブルモードへの移行成功の応答を受けた場合に、前記CPUのステイタスレジスタの割り込みマスクを変更して割り込み禁止状態に移行させる工程と、割り込み禁止状態に移行した後に、前記メモリ上の前記ファームウェアを前記ROMに書き込む工程と、前記ROMへの前記ファームウェアの書き込み完了後に、前記カーネルに対しシステム再起動を要求する工程とを備え、前記カーネルから制御レジスタイネーブルモードへの移行成功の応答は、前記制御レジスタの内容をプロセス制御ブロックに保存し、当該プロセス制御ブロック内のレジスタモード制御ビットをアクセス可能を示す値に変更し、前記プロセス制御ブロックの内容を前記制御レジスタに復帰して制御レジスタイネーブルモードへの移行を行い、移行が成功した場合に移行成功を応答することで行う画像形成装置制御方法として構成することができる。
本発明にあっては、新たな動作モードとして制御レジスタイネーブルモードを導入したので、UNIX(登録商標)系OSの保護機能を残しつつ、画像形成装置において自由度の高い処理を行うことができる。
以下、本発明の好適な実施形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る画像形成装置の機能構成を示すブロック図である。
図1において、画像形成装置1は、アプリケーション層2とプラットフォーム層4とエンジン部8とを含む。インタフェース3はアプリケーション層2に対するプラットフォーム層4の提供するインタフェース(API)であり、インタフェース7はプラットフォーム層4とエンジン部8との間のインタフェース(エンジンI/F)である。
アプリケーション層2は画像形成装置1における個別の処理を行うソフトウェア群であり、コピー用のアプリケーションであるコピーアプリ21と、ファックス用のアプリケーションであるファックスアプリ22と、プリンタ用のアプリケーションであるプリンタアプリ23と、ネットワークを介してファイルのやりとりを行うネットファイル用のアプリケーションであるネットファイルアプリ24とを含む。
一方、プラットフォーム層4はアプリケーション層2の各アプリケーションに対してインタフェース3を介して共通的なサービス機能を提供するソフトウェア群であり、サービス層5とOS層6に分かれる。サービス層5には、アプリケーション管理、操作部制御、システム画面表示、LED表示、リソース管理、および割り込み制御等の複数の機能を有するSCS51と、ファックス機能のAPIを提供するFCS52と、エンジン部の制御を行うECS53と、メモリ制御を行うMCS54と、オペレータ(操作者)とのインタフェースとなる操作部(オペレーションパネル)の制御を行うOCS55と、ネットワーク入出力を必要とするアプリケーションに対して共通に利用できるサービスを提供するNCS56とが含まれる。OS層6にはUNIX(登録商標)系のOS61が含まれる。
一方、エンジン部8には、プロッタ81、スキャナ82、その他ハードウェアリソース83等のエンジンと、これらのエンジンを制御するエンジン制御ボード84とが含まれる。
図2は図1に示した画像形成装置1のハードウェア構成を示すブロック図である。
図2において、画像形成装置1は、主たる制御動作を行うコントローラ101に、オペレーションパネル113とファックスコントロールユニット114とプロッタ81とスキャナ82とその他ハードウェアリソース83とが接続されて構成されている。
コントローラ101は、画像処理用途向けのICであるASIC102にブリッジとしてのNB105を介して一般制御用のICであるCPU106が接続され、NB105のバス(PIC BUS)に、周辺デバイス等との接続を行うブリッジであるSB108と、ネットワーク通信を制御するNIC109と、USBインタフェースを提供するUSB110と、IEEE1394インタフェースを提供するIEEE1394111と、セントロニクスインタフェースを提供するセントロニクス112とが接続され、ASIC102に記憶装置としてのMEM−C103とHDD104が接続され、NB105に記憶装置としてのMEM−P107が接続されて構成されている。
図3は本発明で新たに導入したユーザシステムモードおよび制御レジスタイネーブルモードの制御を行う機能部の構成図である。ここで、ユーザシステムモードとは、ユーザプロセスにおいて、任意のアドレスへのアクセス、ステイタスレジスタ等へのアクセス、特権命令の実行等が自由に行えるモードである。また、制御レジスタイネーブルモードとは、ユーザプロセスにおいてステイタスレジスタ等へのアクセスが自由に行えるモードである。
図3において、ユーザプロセス121からのシステムコールを処理する例外ハンドラ122に、標準で設けられているレジスタ内容保存部124およびレジスタ内容復帰部126の他に、ユーザモード設定部123およびユーザシステムモード設定部125が新たに設けられている。また、例外ハンドラ122を経由して実行されるシステムコールルーチン127として、新たにシステムモード制御関数128と制御レジスタモード制御関数129を設けている。
ここで、例外ハンドラ122のレジスタ内容保存部124はシステムコール例外が発生した際にCPUのレジスタ内容をユーザ構造体内のプロセス制御ブロックに保存するものであり、レジスタ内容復帰部126はシステムコールの終了時にプロセス制御ブロックに保存されていた内容をCPUのレジスタに復帰させるものである。そして、ユーザモード設定部123はレジスタ内容保存部124の処理の前に実行されるようになっており、ユーザシステムモードから通常のユーザモードに復帰する場合にのみ動作するようになっている。また、ユーザシステムモード設定部125はレジスタ内容復帰部126の処理の前に実行されるようになっており、通常のユーザモードからユーザシステムモードに移行する場合にのみ動作するようになっている。処理内容の詳細は後述するが、このようにユーザモード設定部123、ユーザシステムモード設定部125が配置されているのは、システムコールルーチン127の実行時に不都合が発生しないようにするためである。なお、制御レジスタイネーブルモードの制御に際しては、例外ハンドラ122のユーザモード設定部123およびユーザシステムモード設定部125は何も処理を行わない。
また、ユーザモード設定部123、ユーザシステムモード設定部125は例外ハンドラ122内の機能部として示してあるが、別のモジュールとして配置してもかまわない。例えば、ユーザモード設定部123をユーザプロセス121の出口と例外ハンドラ122のユーザプロセス121側の入口の間に置き、ユーザシステムモード設定部125をシステムコールルーチン127の出口と例外ハンドラ122のシステムコールルーチン127側の入口の間に置くようにしてもよい。
図4は処理においてアクセスされるプロセス制御ブロック内のデータ格納部の構成図である。図4において、プロセス空間131内のユーザ構造体132内に設けられたプロセス制御ブロック133に、新たにシステムモードを示すためのメンバとしてシステムモード格納部134が設けられている。また、CPUのレジスタ内容を格納するためのレジスタ格納部135は標準で設けられているものであり、その格納データのうち、本実施形態の処理において主に使用されるシステムモード制御ビット136とレジスタモード制御ビット137とを示している。
図5はCPU141内のステイタスレジスタ142の構成図であり、本実施形態の処理において主に使用されるシステムモード制御ビット143とレジスタモード制御ビット144とを示している。図4のシステムモード制御ビット136、レジスタモード制御ビット137と、図5のシステムモード制御ビット143、レジスタモード制御ビット144とは対応している。
図6はCPU内のステイタスレジスタの構成例を示す図であり、MIPS系のCPU(商品名:TX49)における実際のビット配置を示しており、数字はビット位置を示している。この中で、ビット位置4〜3にあるフィールド「KSU」が図5のシステムモード制御ビット143に対応するものであり、ビット値が「10」の場合がユーザモード、「00」の場合がカーネルモードとなる。また、ビット位置31〜28にあるフィールド「CU」のうちのビット位置28が図5のレジスタモード制御ビット144に対応するものであり、ビット値が「0」でCPU内レジスタの使用が不可能となり、「1」で使用が可能となる。
図7はユーザシステムモードへの移行およびユーザモードへの復帰の処理を示すフローチャートである。
図7において、ユーザプロセスがユーザモードで実行している途中でユーザシステムモードに移行したい場合には、システムモード制御関数128(図3)に対応する「sysmode(1)」のシステムコールを行う(ステップS1)。
これを受けて例外ハンドラ122(図3)が処理を行うが、ユーザモード設定部123はこの時点では何も処理を行わず、続くレジスタ内容保存部124がCPU141(図5)のレジスタ内容をプロセス制御ブロック133(図4)のレジスタ格納部135に保存する(ステップS2)。
次いで、システムコールルーチン127(図3)のシステムモード制御関数128が実行され、システムモード格納部134(図4)の値を変更する(ステップS3)。より具体的には、sysmode(1)の処理として、システムモード格納部134(pcb_sysmode)の値を「2」にする。これは続くユーザシステムモード設定部125の処理を起動するためのものである。
次いで、処理は例外ハンドラ122(図3)に戻り、ユーザシステムモード設定部125はプロセス制御ブロック133(図4)内のシステムモード制御ビット136をカーネルモードを示す値に変更する(ステップS4)。なお、この際、システムモード格納部134(pcb_sysmode)の値をユーザシステムモードにあることを示す「1」にする。
そして、レジスタ内容復帰部126(図3)はプロセス制御ブロック133(図4)からCPU141(図5)のレジスタ内容を復帰させ(ステップS5)、ユーザプロセスに処理を戻す。
これにより、ユーザシステムモードへの移行が完了し、その後は、ユーザプロセスではあるが、実質的にはカーネルモードで動作することになり、任意のアドレスへのアクセス、ステイタスレジスタ等へのアクセス、特権命令の実行等が自由に行えるものである。
次に、ユーザシステムモードから通常のユーザモードに復帰したい場合には、システムモード制御関数128(図3)に対応する「sysmode(0)」のシステムコールを行う(ステップS6)。
これを受けて例外ハンドラ122(図3)が処理を行い、ユーザモード設定部123はCPU141(図5)内のシステムモード制御ビット143をユーザモードを示す値に変更する(ステップS7)。なお、この際、システムモード格納部134(pcb_sysmode)(図4)の値を「2」にする。
次いで、レジスタ内容保存部124(図3)はレジスタ内容をプロセス制御ブロック133(図4)のレジスタ格納部135に保存する(ステップS8)。
次いで、システムコールルーチン127(図3)のシステムモード制御関数128が実行され、システムモード格納部134(図4)の値を変更する(ステップS9)。より具体的には、sysmode(0)の処理として、システムモード格納部134(pcb_sysmode)の値を通常のユーザモードであることを示す「0」にする。
次いで、処理は例外ハンドラ122(図3)に戻るが、ユーザシステムモード設定部125はこの時点では何もせず、続くレジスタ内容復帰部126はプロセス制御ブロック133(図4)からCPU141(図5)のレジスタ内容を復帰させ(ステップS10)、ユーザプロセスに処理を戻す。これにより、通常のユーザプロセスに復帰する。
図8は図3に示したユーザモード設定部123の処理を示すフローチャートであり、図9はユーザシステムモード設定部125の処理を示すフローチャートである。
図8において、ユーザモード設定部123は、先ず現行プロセスのプロセス制御ブロック(currpcb)がNULLか否かを判断し(ステップS11)、NULLの場合は何もせずに処理を終了する。これはプロセスが何も動いていないアイドル状態における誤動作を防止するためである。
次いで、現行プロセスのプロセス制御ブロック(currpcb)がNULLでない場合は、CPU141(図5)のステイタスレジスタ142のシステムモード制御ビット143(USERビット)を調べることで前のモードがユーザモードであるか否かを判断し(ステップS12)、ユーザモードである場合は何もせずに処理を終了する。重ねてユーザモードに設定する必要はないからである。
次いで、現行のプロセス制御ブロック133(図4)のシステムモード格納部134(pcb_sysmode)の値を調べ(ステップS13)、pcb_sysmodeが「1」以外の場合には何もせずに処理を終了する。ユーザシステムモードでない場合の誤動作を防止するためである。
次いで、システムモード格納部134(pcb_sysmode)の値が「1」の場合は、システムモード格納部134(pcb_sysmode)の値を「2」に変更し(ステップS14)、CPU141(図5)のステイタスレジスタ142のシステムモード制御ビット143(USERビット)の値をセットし(ステップS15)、処理を終了する。これは、続くシステムコールルーチン127に移行する際に通常のユーザモードから移行したように見せるためである。
これらの動作により、ユーザシステムモードで動いていた場合(CPU141のUSERビットがクリアされており、pcb_sysmodeの値が「1」になっている場合)にのみ、CPU141のシステムモード制御ビット143(USERビット)を立てることにより、その後の処理はユーザモードで起こった例外として処理されるようになり、ユーザプロセス121に戻った際にユーザモードに復帰させることができる。
次に、図9において、ユーザシステムモード設定部125は、現行のプロセス制御ブロック133(図4)のシステムモード格納部134(pcb_sysmode)の値を調べ(ステップS16)、pcb_sysmodeが「2」以外の場合は何もせずに処理を終了する。システムコールルーチン127においてsysmode(1)が実行されてpcb_sysmodeが「2」になった場合のみに処理を行うことで誤動作を防止するためである。
次いで、pcb_sysmodeが「2」の場合は、保存状態にあるプロセス制御ブロック133のシステムモード制御ビット136(USERビット)をクリアし(ステップS17)、プロセス制御ブロック133のシステムモード格納部134(pcb_sysmode)の値を「1」にする(ステップS18)。
これにより、システムモード格納部134(pcb_sysmode)の値が「2」で処理に入った場合(システムコールルーチン127においてsysmode(1)が実行された後に処理に入った場合)には、ユーザプロセスに復帰する際にカーネルモードで復帰するようになる。
次に、図10は制御レジスタイネーブルモードへの移行および通常のユーザモードへの復帰の処理を示すフローチャートである。
図10において、ユーザプロセスが通常のユーザモードで実行している途中で制御レジスタイネーブルモードに移行したい場合には、制御レジスタモード制御関数129(図3)に対応する「crenable(1)」のシステムコールを行う(ステップS21)。
これを受けて例外ハンドラ122(図3)が処理を行うが、前述したようにユーザモード設定部123(ユーザシステムモード設定部125についても同様)は何も処理を行わず、続くレジスタ内容保存部124がCPU141(図5)のレジスタ内容をプロセス制御ブロック133(図4)のレジスタ格納部135に保存する(ステップS22)。
次いで、システムコールルーチン127(図3)の制御レジスタモード制御関数129が実行され、プロセス制御ブロック133(図4)のレジスタ格納部135のレジスタモード制御ビット137の値をアクセス可能であることを示すものとする(ステップS23)。
次いで、処理は例外ハンドラ122(図3)に戻り、レジスタ内容復帰部126はプロセス制御ブロック133(図4)からCPU141(図5)のレジスタ内容を復帰させ(ステップS24)、ユーザプロセスに処理を戻す。
これにより、制御レジスタイネーブルモードへの移行が完了し、その後は、ユーザプロセスではあるが、ステイタスレジスタ等へのアクセスが自由に行えるものである。
次に、制御レジスタイネーブルモードから通常のユーザモードに復帰したい場合には、制御レジスタモード制御関数129(図3)に対応する「crenable(0)」のシステムコールを行う(ステップS25)。
これを受けて例外ハンドラ122(図3)が処理を行い、レジスタ内容保存部124はレジスタ内容をプロセス制御ブロック133(図4)のレジスタ格納部135に保存する(ステップS26)。
次いで、システムコールルーチン127(図3)の制御レジスタモード制御関数129が実行され、プロセス制御ブロック133(図4)のレジスタ格納部135のレジスタモード制御ビット137の値をアクセス不可能であることを示すものとする(ステップS27)。
次いで、処理は例外ハンドラ122(図3)に戻り、レジスタ内容復帰部126はプロセス制御ブロック133(図4)からCPU141(図5)のレジスタ内容を復帰させ(ステップS28)、ユーザプロセスに処理を戻す。これにより、制御レジスタイネーブルモードから通常のユーザモードに復帰する。
図11〜図19は上述したユーザシステムモードもしくは制御レジスタイネーブルモードを利用して画像形成装置における具体的処理を行う例を示したものである。
図11はプリンタのフォントROMの格納領域の例を示す図である。図11において、カーネルモードにおいては全てのアドレス空間151のアクセスが可能であるが、ユーザモードにおいてはユーザプロセスに仮想記憶空間を介して割り当てられたアドレス空間152のみのアクセスしか行えないようになっており、ユーザモードでアクセスできないアドレス空間153内にプリンタのフォントROM154が格納されている。従来においては、ユーザプロセスはユーザモードでしか動作が行えなかったため、ユーザプロセスからフォントROM154に直接にアクセスすることは不可能であったが(メモリアクセス問題)、必要に応じてユーザシステムモードに移行することで、任意のアドレスにアクセスすることが可能になり、フォントROM154に直接にアクセスすることが可能になる。
図12はプリンタのフォントROMへのアクセスの処理を示すシーケンス図である。図12において、ユーザプロセスAからカーネルに対してユーザシステムモードへの移行を要求すると(ステップS31)、カーネルではユーザプロセスAをユーザシステムモードにセットし(ステップS32)、これが成功すると(ステップS33)、ユーザプロセスAでは通常のユーザモードではアクセス不可能であったフォントROM154(図11)へのアクセスが可能になる(ステップS34)。
また、必要がない状態でユーザシステムモードを続けるとプログラムのバグ等によって不正なメモリアクセスが発生する危険があるため、必要がなくなった時点でユーザプロセスAからカーネルに対して通常のユーザモードへの復帰を要求する(ステップS35)。カーネルではユーザプロセスAをユーザモードにセットし(ステップS36)、これが成功すると(ステップS37)、通常のユーザモード下の動作となる(ステップS38)。
なお、ユーザプロセスAの終了によりユーザシステムモードも同時に消滅するため、その後に通常のユーザモード下で行う処理がない場合には、ユーザシステムモードのままユーザプロセスAを終了してもよい。
次に、図13はI/O装置のデータの格納領域の例を示す図である。図13において、カーネルモードにおいては全てのアドレス空間151のアクセスが可能であるが、ユーザモードにおいてはユーザプロセスに仮想記憶空間を介して割り当てられたアドレス空間152のみのアクセスしか行えないようになっており、ユーザモードでアクセスできないアドレス空間153内のI/O空間155にI/O装置のデータが格納されている。従来においては、ユーザプロセスはユーザモードでしか動作が行えなかったため、ユーザプロセスからI/O空間155に直接にアクセスすることは不可能であったが(メモリアクセス問題)、必要に応じてユーザシステムモードに移行することで、任意のアドレスにアクセスすることが可能になり、I/O空間155に直接にアクセスすることが可能になる。
図14はI/O装置のデータへのアクセスの処理を示すシーケンス図である。図14において、ユーザプロセスAからカーネルに対してユーザシステムモードへの移行を要求すると(ステップS41)、カーネルではユーザプロセスAをユーザシステムモードにセットし(ステップS42)、これが成功すると(ステップS43)、ユーザプロセスAでは通常のユーザモードではアクセス不可能であったI/O空間155(図13)へのアクセスがカーネルの介在なしに可能になる(ステップS44)。これにより、I/O装置(デバイス)のテスト等を、作成やデバッグが容易なユーザプログラムにより簡易に行うことが可能になる。特に、ユーザプログラムに対する充実したデバッグツールが使用可能になるため、デバイスドライバのプロトタイプをユーザプログラムとして作成することで、開発期間を大幅に短縮することができる。
一方、必要がない状態でユーザシステムモードを続けるとプログラムのバグ等によって不正なメモリアクセスが発生する危険があるため、必要がなくなった時点でユーザプロセスAからカーネルに対して通常のユーザモードへの復帰を要求する(ステップS45)。カーネルではユーザプロセスAをユーザモードにセットし(ステップS46)、これが成功すると(ステップS47)、通常のユーザモード下の動作となる(ステップS48)。
なお、ユーザプロセスAの終了によりユーザシステムモードも同時に消滅するため、その後に通常のユーザモード下で行う処理がない場合には、ユーザシステムモードのままユーザプロセスAを終了してもよい。
次に、図15および図16は実行時間の計測に制御レジスタイネーブルモードを利用した例である。なお、実行時間の測定はプログラムのパフォーマンス測定やボトルネックの検出に使用されることが多い。
図15(a)は制御レジスタイネーブルモードを使用せずに(従来はこの方法しかない)、システムコールgettimeofday()を使用して記述したプログラムコード161の例を示したものであり、式162および式163でそれぞれの時点の時刻を求め、式164でその差をとることで途中の処理に要した実行時間を測定するようにしている。しかし、システムコールgettimeofday()はシステムコールであることからオーバーヘッドが大きく、実行時間を正確に測定できないとともに、多用すると全体の処理性能に影響を与えることもあった。
この点、本発明の制御レジスタイネーブルモードを使用することで、時刻情報を保持しているCPUのカウントレジスタ(countreg)に直接にアクセスすることが可能になり、オーバーヘッドの大きいシステムコールを使用することなく時刻の測定が可能になる。
図15(b)は制御レジスタイネーブルモードにした状態で時刻測定を行うためのプログラムコード165の例を示したものであり、式166および式167でカウントレジスタの値を直接に読み出す関数read_countreg()実行し、式168でその差をとることで途中の処理に要した実行時間を測定するようにしている。
図16は上記の実行時間測定の処理を示すシーケンス図である。図16において、ユーザプロセスAからカーネルに対して制御レジスタイネーブルモードへの移行を要求すると(ステップS51)、カーネルではユーザプロセスAを制御レジスタイネーブルモードにセットし(ステップS52)、これが成功すると(ステップS53)、ユーザプロセスAでは通常のユーザモードではアクセス不可能であったカウントレジスタからの読み出しが可能になる(ステップS54、S55)。
その後、ユーザプロセスAからカーネルに対して通常のユーザモードへの復帰を要求すると(ステップS56)、カーネルではユーザプロセスAをユーザモードにセットし(ステップS57)、これが成功すると(ステップS58)、通常のユーザモード下の動作となる(ステップS59)。
なお、ユーザプロセスAの終了により制御レジスタイネーブルモードも同時に消滅するため、その後に通常のユーザモード下で行う処理がない場合には、制御レジスタイネーブルモードのままユーザプロセスAを終了してもよい。
次に、図17はリモートROM更新の機器構成図であり、パーソナルコンピュータ9からネットワーク経由でファームウェアの転送を受け、画像形成装置1内部のROM(フラッシュROM等)を更新する場合を示している。このようなROMの更新を行う場合、処理の途中で他のプロセスに処理が移ると書き換え途中のROMの内容を実行することとなって誤動作を生じてしまうため連続して実行する必要があるが、従来はユーザプログラムから割り込みの禁止を直接に行うことができなかったため、簡単に行うことができなかった(連続実行問題)。この点、本発明の制御レジスタイネーブルモードを使用し、CPUのステイタスレジスタの割り込みマスクを割り込み禁止にすることで、連続実行問題を容易に回避することができる。なお、制御レジスタイネーブルモードに代えてユーザシステムモードでも同様に割り込みマスクの操作が行えるものであるが、その目的のためだけであれば制御レジスタイネーブルモードを使用する方がメモリの不正アクセス等が防ぐことができるため安全である。
図18はリモートROM更新の処理を示すシーケンス図である。図18において、パーソナルコンピュータからカーネルのネットワークプロトコルを経由してROM更新モジュールにファームウェアを転送すると(ステップS61、S62)、ROM更新モジュールは転送されたファームウェアをユーザメモリ上に保持する(ステップS63)。
この状態でパーソナルコンピュータからカーネルのネットワークプロトコルを経由してROM更新モジュールにROM更新指示を行うと(ステップS64、S65)、ROM更新モジュールはカーネルに対して制御レジスタイネーブルモードへの移行を要求し(ステップS66)、カーネルではROM更新モジュールのプロセスを制御レジスタイネーブルモードにセットする(ステップS67)。
これが成功すると(ステップS68)、ROM更新モジュールはCPUのステイタスレジスタの割り込みマスクを変更して割り込み禁止状態とする(ステップS69)。この際、割り込みマスクに直接にアクセスするため、少ないオーバーヘッドで割り込み禁止状態に切り替えることができる。
そして、ROM更新モジュールはROM更新ランタイムライブラリに対してROM更新を行わせ(ステップS70)、ROM更新ランタイムライブラリはメモリ上に格納されているファームウェアをROMに書き込む(ステップS71)。この際、全ての割り込みが禁止されているため、クロック割り込み等のイベントがカーネルに伝わらず、ROM更新ランタイムライブラリは実行を中断されることなくROMへの書き込みを行うことができる。
ROM更新が完了すると、ROM更新ランタイムライブラリはその旨の応答をカーネルのネットワークプロトコルを経由してパーソナルコンピュータに行う(ステップS72、S73)。その後、ROM更新ランタイムライブラリはカーネルに対してシステムの再起動を要求し(ステップS74)、カーネルはシステムの再起動を行う(ステップS75)。これにより、更新されたROMのファームウェアが有効となる。
次に、図19は画像メモリクリア時のキャッシュ処理の説明図である。
通常の書き込み処理の動作としては、CPU171からデータの書き込みを行おうとすると(ステップS81)、この時点では実際の書き込みは行われず、書き込み対象のアドレスのデータを含む1キャッシュラインサイズのデータがメモリ173からキャッシュ172に読み出され(write allocate処理)(ステップS82)、キャッシュ172に対してデータの書き込みが行われる(ステップS83)。また、キャッシュ172が再利用される前にキャッシュ172からメモリ173に1キャッシュラインサイズのデータの書き込み(write back処理)が行われる(ステップS84)。
上記の処理のもと、例えば、32バイトのメモリをクリアする処理を、キャッシュラインサイズが32バイトで、1回の命令で4バイトの書き込みが行える環境で行う場合の処理は次のようになる。
(1)4バイトの「0」をwrite(この時点では書き込まれない)
(2)メモリから1キャッシュライン(32バイト)をread
(3)キャッシュラインに(1)で要求された4バイトの「0」をwrite
(4)次の4バイトの「0」をwrite(キャッシュラインに即座に書き込まれる)
(5)(4)と同様の処理の繰り返し(6回)
メモリクリア処理としては、単純にメモリに「0」を書き込みたいのであるが、最初の書き込みのタイミングで(2)のwrite allocate処理が行われ、メモリから1キャッシュラインサイズのデータが読み出されてしまう。この読み出されたデータは直後に「0」に上書きされてしまうものであるため、データの読み出しは無駄な処理であり、この読み出しを行わないようにすればメモリをクリアする処理を高速化することができる。また、データのコピーにおいても同様である。
MIPS系のCPUに用意されているキャッシュ命令中のSET_DIRTY_EXCLUSIVE命令を実行することでキャッシュラインをdirtyな状態にしてwrite allocate処理をスキップすることができるが、この命令は特権命令であってユーザモードでは実行できないものであったため、従来は使用することができなかった(キャッシュ操作問題)。
この点、本発明のユーザシステムモードもしくは制御レジスタイネーブルモードを使用することで、ユーザプロセスから上記のSET_DIRTY_EXCLUSIVE命令等を実行することができるようになり、メモリのクリア処理等を高速に行うことができる。なお、制御レジスタイネーブルモードは特権命令一般の使用が可能になるものではないが、キャッシュは一種のレジスタと扱われているため、特権命令であるキャッシュ命令が使用可能となる。
ユーザシステムモードもしくは制御レジスタイネーブルモードに移行させた状態で、例えば32バイトのメモリをクリアする処理を、キャッシュラインサイズが32バイトで、1回の命令で4バイトの書き込みが行える環境で行う場合の処理は次のようになる。
(1)クリアするアドレスにつきキャッシュ命令を実行してdirtyな状態に設定
(2)4バイトの「0」をwrite(キャッシュラインに即座に書き込まれる)
(3)次の4バイトの「0」をwrite(キャッシュラインに即座に書き込まれる)
(4)(3)と同様の処理の繰り返し(6回)
このように、ユーザシステムモードもしくは制御レジスタイネーブルモードを使用することで、write allocate処理をスキップすることができ、メモリのクリア処理を高速化することができる。
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
本発明の一実施形態に係る画像形成装置の機能構成を示すブロック図である。 画像形成装置のハードウェア構成を示すブロック図である。 ユーザシステムモードおよび制御レジスタイネーブルモードの制御を行う機能部の構成図である。 プロセス制御ブロック内のデータ格納部の構成図である。 CPU内のステイタスレジスタの構成図である。 CPU内のステイタスレジスタの構成例を示す図である。 ユーザシステムモードへの移行およびユーザモードへの復帰の処理を示すフローチャートである。 ユーザモード設定部の処理を示すフローチャートである。 ユーザシステムモード設定部の処理を示すフローチャートである。 制御レジスタイネーブルモードへの移行および通常のユーザモードへの復帰の処理を示すフローチャートである。 プリンタのフォントROMの格納領域の例を示す図である。 プリンタのフォントROMへのアクセスの処理を示すシーケンス図である。 I/O装置のデータの格納領域の例を示す図である。 I/O装置のデータへのアクセスの処理を示すシーケンス図である。 実行時間測定のプログラム例を示す図である。 実行時間測定の処理を示すシーケンス図である。 リモートROM更新の機器構成図である。 リモートROM更新の処理を示すシーケンス図である。 画像メモリクリア時のキャッシュ処理の説明図である。
符号の説明
1 画像形成装置
2 アプリケーション層
21 コピーアプリ
22 ファックスアプリ
23 プリンタアプリ
24 ネットファイルアプリ
3 インタフェース
4 プラットフォーム層
5 サービス層
51 SCS
52 FCS
53 ECS
54 MCS
55 OCS
56 NCS
6 OS層
61 OS
7 インタフェース
8 エンジン部
81 プロッタ
82 スキャナ
83 その他ハードウェアリソース
84 エンジン制御ボード
101 コントローラ
102 ASIC
103 MEM−C
104 HDD
105 NB
106 CPU
107 MEM−P
108 SB
109 NIC
110 USB
111 IEEE1394
112 セントロニクス
113 オペレーションパネル
114 ファックスコントロールユニット
121 ユーザプロセス
122 例外ハンドラ
123 ユーザモード設定部
124 レジスタ内容保存部
125 ユーザシステムモード設定部
126 レジスタ内容復帰部
127 システムコールルーチン
128 システムモード制御関数
129 制御レジスタモード制御関数
131 プロセス空間
132 ユーザ構造体
133 プロセス制御ブロック
134 システムモード格納部
135 レジスタ格納部
136 システムモード制御ビット
137 レジスタモード制御ビット
141 CPU
142 ステイタスレジスタ
143 システムモード制御ビット
144 レジスタモード制御ビット
151〜153 アドレス空間
154 フォントROM
155 I/O空間
165 プログラムコード
166〜168 式
171 CPU
172 キャッシュ
173 メモリ
9 パーソナルコンピュータ

Claims (2)

  1. 画像形成装置を制御するオペレーティングシステムのカーネルを介し、外部の機器から前記画像形成装置内のROMを更新するファームウェアの転送を受け付け、受け付けた前記ファームウェアをメモリ上に保持する手段と、
    前記カーネルを介し前記機器からROM更新指示を受け付けた場合に、前記カーネルに対して、ユーザプロセスによる前記画像形成装置内のCPUの制御レジスタへの直接アクセスを可能とする制御レジスタイネーブルモードへの移行を要求する手段と、
    前記カーネルから制御レジスタイネーブルモードへの移行成功の応答を受けた場合に、前記CPUのステイタスレジスタの割り込みマスクを変更して割り込み禁止状態に移行させる手段と、
    割り込み禁止状態に移行した後に、前記メモリ上の前記ファームウェアを前記ROMに書き込む手段と、
    前記ROMへの前記ファームウェアの書き込み完了後に、前記カーネルに対しシステム再起動を要求する手段とを備え、
    前記カーネルから制御レジスタイネーブルモードへの移行成功の応答は、前記制御レジスタの内容をプロセス制御ブロックに保存し、当該プロセス制御ブロック内のレジスタモード制御ビットをアクセス可能を示す値に変更し、前記プロセス制御ブロックの内容を前記制御レジスタに復帰して制御レジスタイネーブルモードへの移行を行い、移行が成功した場合に移行成功を応答することで行うことを特徴とする画像形成装置。
  2. 画像形成装置を制御するオペレーティングシステムのカーネルを介し、外部の機器から前記画像形成装置内のROMを更新するファームウェアの転送を受け付け、受け付けた前記ファームウェアをメモリ上に保持する工程と、
    前記カーネルを介し前記機器からROM更新指示を受け付けた場合に、前記カーネルに対して、ユーザプロセスによる前記画像形成装置内のCPUの制御レジスタへの直接アクセスを可能とする制御レジスタイネーブルモードへの移行を要求する工程と、
    前記カーネルから制御レジスタイネーブルモードへの移行成功の応答を受けた場合に、前記CPUのステイタスレジスタの割り込みマスクを変更して割り込み禁止状態に移行させる工程と、
    割り込み禁止状態に移行した後に、前記メモリ上の前記ファームウェアを前記ROMに書き込む工程と、
    前記ROMへの前記ファームウェアの書き込み完了後に、前記カーネルに対しシステム再起動を要求する工程とを備え、
    前記カーネルから制御レジスタイネーブルモードへの移行成功の応答は、前記制御レジスタの内容をプロセス制御ブロックに保存し、当該プロセス制御ブロック内のレジスタモード制御ビットをアクセス可能を示す値に変更し、前記プロセス制御ブロックの内容を前記制御レジスタに復帰して制御レジスタイネーブルモードへの移行を行い、移行が成功した場合に移行成功を応答することで行うことを特徴とする画像形成装置制御方法。
JP2004165978A 2004-06-03 2004-06-03 画像形成装置および画像形成装置制御方法 Expired - Fee Related JP4246672B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004165978A JP4246672B2 (ja) 2004-06-03 2004-06-03 画像形成装置および画像形成装置制御方法
US11/142,456 US7577954B2 (en) 2004-06-03 2005-06-02 Process management method and image forming apparatus
EP05011925A EP1603039A3 (en) 2004-06-03 2005-06-02 Process management method and image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004165978A JP4246672B2 (ja) 2004-06-03 2004-06-03 画像形成装置および画像形成装置制御方法

Publications (2)

Publication Number Publication Date
JP2005346457A JP2005346457A (ja) 2005-12-15
JP4246672B2 true JP4246672B2 (ja) 2009-04-02

Family

ID=34980236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004165978A Expired - Fee Related JP4246672B2 (ja) 2004-06-03 2004-06-03 画像形成装置および画像形成装置制御方法

Country Status (3)

Country Link
US (1) US7577954B2 (ja)
EP (1) EP1603039A3 (ja)
JP (1) JP4246672B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1522923A3 (fr) * 2003-10-08 2011-06-22 STMicroelectronics SA Architecture de processeur à plusieurs contextes d'exécution simultanés
US7669050B2 (en) * 2004-06-24 2010-02-23 International Business Machines Corporation Method to enable user mode process to operate in a privileged execution mode
KR100714710B1 (ko) * 2006-02-22 2007-05-04 삼성전자주식회사 입출력 작업에 의해 블로킹된 스레드를 강제 종료하는 장치및 방법
US7934092B2 (en) 2006-07-10 2011-04-26 Silverbrook Research Pty Ltd Electronic device having improved security
EP2044517A4 (en) * 2006-07-10 2010-08-25 Silverbrook Res Pty Ltd SYSTEM FOR PROTECTING SENSITIVE DATA BEFORE USER CODE IN A REGISTER PANEL ARCHITECTURE
US7681000B2 (en) 2006-07-10 2010-03-16 Silverbrook Research Pty Ltd System for protecting sensitive data from user code in register window architecture
US8046776B1 (en) * 2006-11-30 2011-10-25 Marvell International Ltd. Method and apparatus for transferring firmware between an operating system device in a host
US20080307419A1 (en) * 2007-06-06 2008-12-11 Microsoft Corporation Lazy kernel thread binding
US20080313656A1 (en) * 2007-06-18 2008-12-18 Microsoft Corporation User mode stack disassociation
US8850557B2 (en) 2012-02-29 2014-09-30 International Business Machines Corporation Processor and data processing method with non-hierarchical computer security enhancements for context states
JP7086772B2 (ja) * 2018-07-24 2022-06-20 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及び、プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218712A (en) * 1987-07-01 1993-06-08 Digital Equipment Corporation Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
IN170672B (ja) 1987-07-01 1992-05-02 Digital Equipment Corp
US5001662A (en) * 1989-04-28 1991-03-19 Apple Computer, Inc. Method and apparatus for multi-gauge computation
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5752067A (en) * 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5375216A (en) 1992-02-28 1994-12-20 Motorola, Inc. Apparatus and method for optimizing performance of a cache memory in a data processing system
JP3520143B2 (ja) 1995-09-29 2004-04-19 株式会社日立製作所 情報処理システム
US5948097A (en) 1996-08-29 1999-09-07 Intel Corporation Method and apparatus for changing privilege levels in a computer system without use of a call gate
US6311292B1 (en) * 1998-07-30 2001-10-30 Sandcraft, Inc. Circuit, architecture and method for analyzing the operation of a digital processing system
US6708231B1 (en) * 1999-08-12 2004-03-16 Mitsumi Electric Co., Ltd. Method and system for performing a peripheral firmware update
US6732235B1 (en) * 1999-11-05 2004-05-04 Analog Devices, Inc. Cache memory system and method for a digital signal processor
US7475398B2 (en) * 2000-08-01 2009-01-06 Wind River Systems, Inc. System and method for implementing a smart system call
JP3598282B2 (ja) * 2000-09-07 2004-12-08 株式会社ソニー・コンピュータエンタテインメント コンピュータ、その制御方法及びその制御方法を記録した記録媒体

Also Published As

Publication number Publication date
EP1603039A3 (en) 2006-03-22
EP1603039A2 (en) 2005-12-07
US20060036800A1 (en) 2006-02-16
JP2005346457A (ja) 2005-12-15
US7577954B2 (en) 2009-08-18

Similar Documents

Publication Publication Date Title
US7577954B2 (en) Process management method and image forming apparatus
US7765413B2 (en) Image processing device and method of controlling the image processing device which estimates a state-transition sequence for a USB driver
JP3659062B2 (ja) 計算機システム
CN100426238C (zh) Vex-虚拟扩展框架
US7000072B1 (en) Cache memory allocation method
US9367311B2 (en) Multi-core processor system, synchronization control system, synchronization control apparatus, information generating method, and computer product
JPH02267634A (ja) 割込み処理装置
JP2001306170A (ja) 画像処理装置、画像処理システム、画像処理装置使用制限方法及び記憶媒体
JPH10143340A (ja) プリンタ
JP2010079729A (ja) 情報処理システム及びその制御方法、並びに、コンピュータプログラム
JP5499987B2 (ja) 共有キャッシュメモリ装置
JP3707410B2 (ja) コンピュータ装置、拡張デバイスの管理方法、コンピュータプログラム
JP2015005097A (ja) 電子機器、制御装置及びプログラム
JP5080318B2 (ja) 画像処理装置及びアクセス制御方法
JP3707509B2 (ja) 多機能並行処理型電子装置
JP5704176B2 (ja) プロセッサ処理方法、およびプロセッサシステム
JP2003141501A (ja) 画像処理装置および画像処理装置の表示部制御方法およびプログラムおよび記憶媒体
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JP2004220575A (ja) カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP6987530B2 (ja) 画像形成装置、情報処理方法及びプログラム
JP5705185B2 (ja) 通信装置及びその制御方法、並びに、コンピュータプログラム
JPH11161591A (ja) データ通信装置,データ通信方法,記憶媒体,及びデバイスドライバ
JP3248796B2 (ja) ネットワークプリンタシステム
CN115349120A (zh) 信息处理装置、信息处理方法和信息处理程序
JP2004254079A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080904

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090108

R150 Certificate of patent or registration of utility model

Ref document number: 4246672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140116

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees