(57)【要約】【課題】画像形成装置においてメモリ不足の問題が発生した場合に対処する技術を提供する。【解決手段】複数の機能を有する画像形成装置は、所定の記憶領域を有する記憶部と、所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって複数の機能の少なくとも一部を実現し、割り当てができない場合には、実行中の複数のプロセスのうちの一部を強制終了し、割り当てを実現するオペレーティングシステムとを備える。画像形成装置は、複数のプロセスのうちの他のプロセスよりもダミープロセスを優先的に強制終了させる。【選択図】図１
2020059192.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能を有する画像形成装置であって、
所定の記憶領域を有する記憶部と、
前記所定の記憶領域の一部を割り当てて、少なくとも１つのダミープロセスを含む複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現し、前記割り当てができない場合には、前記実行中の複数のプロセスのうちの一部を強制終了し、前記割り当てを実現するオペレーティングシステムと、
を備え、
前記画像形成装置は、前記複数のプロセスのうちの他のプロセスよりも前記ダミープロセスを優先的に強制終了させる画像形成装置。
【請求項２】
請求項１に記載の画像形成装置であって、
前記オペレーティングシステムは、Ｌｉｎｕｘ（登録商標）カーネルであり、
前記ダミープロセスは、ｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータが正の値に設定され、
前記複数のプロセスは、前記ダミープロセスを除いてｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータが負の値に設定されている画像形成装置。
【請求項３】
請求項２に記載の画像形成装置であって、
前記ダミープロセスのｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータは、１０００に設定されている画像形成装置。
【請求項４】
請求項２に記載の画像形成装置であって、さらに、
記憶領域管理部を備え、
前記記憶領域管理部は、ｒｅｇｉｓｔｅｒ＿ｏｏｍ＿ｎｏｔｉｆｉｅｒ（）コマンドを使用してＯＯＭＫｉｌｌｅｒを検知し、前記検知に応じて前記ダミープロセスを終了させる画像形成装置。
【請求項５】
所定の記憶領域を有する記憶部を用い、複数の機能を実現する画像形成方法であって、
前記所定の記憶領域の一部を割り当てて、少なくとも１つのダミープロセスを含む複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現し、前記割り当てができない場合には、前記実行中の複数のプロセスのうちの一部を強制終了し、前記割り当てを実現する工程と、
前記複数のプロセスのうちの他のプロセスよりも前記ダミープロセスを優先的に強制終了させる工程と、
を備える画像形成方法。
【請求項６】
所定の記憶領域を有する記憶部を備え、複数の機能を有する画像形成装置を制御する画像形成プログラムであって、
前記所定の記憶領域の一部を割り当てて、少なくとも１つのダミープロセスを含む複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現し、前記割り当てができない場合には、前記実行中の複数のプロセスのうちの一部を強制終了し、前記割り当てを実現するオペレーティングシステムとして前記画像形成装置を機能させ、
前記画像形成装置は、前記複数のプロセスのうちの他のプロセスよりも前記ダミープロセスを優先的に強制終了させる画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法及び画像形成プログラムに関し、特に分散処理に関する。
【背景技術】
【０００２】
近年、画像形成装置は、高解像度化及び多機能化に伴って多くのメモリを使用するようになっている。一方、画像形成装置はオフィスにおいて複数のユーザーによって共有され、複写や印刷、画像データの送信といった様々なジョブを並行して処理可能なので、並行処理に起因して一時的にメモリが大量に消費されることがある。さらに、画像形成装置は、複数のユーザーから多数のジョブの処理を要求されるので、メモリリークの問題にも曝されることになる。一方、画像形成装置は、レンダリング処理（たとえばＲＩＰ処理）に多くのメモリを必要とする。このような問題に対して、たとえば特許文献１は、複雑なデータをレンダリングする際、レンダリング用のメモリ領域を確保する為に、この属性情報を削減しても画質が劣化しない方法で、属性情報を削減する方法を提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１５５０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術は、レンダリング処理に必要なメモリの消費量を小さくすることで画像形成装置におけるメモリ不足に起因する問題の発生を低減させることができる一方、現実にメモリ不足が発生した場合に対処することができず、メモリ不足を予防することもできない。このために画質の著しい劣化やエラー等の問題が避けられないという問題がある。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、画像形成装置においてメモリ不足の問題が発生した場合に対処する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、複数の機能を有する画像形成装置を提供する。前記画像形成装置は、所定の記憶領域を有する記憶部と、前記所定の記憶領域の一部を割り当てて、少なくとも１つのダミープロセスを含む複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現し、前記割り当てができない場合には、前記実行中の複数のプロセスのうちの一部を強制終了し、前記割り当てを実現するオペレーティングシステムとを備え、前記画像形成装置は、前記複数のプロセスのうちの他のプロセスよりも前記ダミープロセスを優先的に強制終了させる。
【０００７】
本発明は、所定の記憶領域を有する記憶部を用い、複数の機能を実現する画像形成方法を提供する。前記画像形成方法は、前記所定の記憶領域の一部を割り当てて、少なくとも１つのダミープロセスを含む複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現し、前記割り当てができない場合には、前記実行中の複数のプロセスのうちの一部を強制終了し、前記割り当てを実現する工程と、前記複数のプロセスのうちの他のプロセスよりも前記ダミープロセスを優先的に強制終了させる工程と備える。
【０００８】
本発明は、所定の記憶領域を有する記憶部を備え、複数の機能を有する画像形成装置を制御する画像形成プログラムを提供する。前記画像形成プログラムは、前記所定の記憶領域の一部を割り当てて、少なくとも１つのダミープロセスを含む複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現し、前記割り当てができない場合には、前記実行中の複数のプロセスのうちの一部を強制終了し、前記割り当てを実現するオペレーティングシステムとして前記画像形成装置を機能させ、前記画像形成装置は、前記複数のプロセスのうちの他のプロセスよりも前記ダミープロセスを優先的に強制終了させる。
【発明の効果】
【０００９】
本発明によれば、画像形成装置においてメモリ不足の問題が発生した場合に対処する技術を提供する。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る画像形成装置を示す概略構成図である。
【図２】一実施形態に係る画像形成装置の各機能と各プロセスの関係を示す説明図である。
【図３】一実施形態に係る画像形成装置のメインメモリの各領域の状態の一例を示す説明図である。
【図４】一実施形態に係る画像形成装置のメインメモリの各領域の状態の他の例を示す説明図である。
【図５】一実施形態に係る印刷処理手順の内容を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態（以下、「実施形態」という）を、図面を参照して説明する。
【００１２】
図１は、本発明の一実施形態に係る画像形成装置１００を示す概略構成図である。画像形成装置１００は、制御部１１０と、画像読取部１２０と、ＲＩＰ処理部１３０と、記憶部１４０と、通信インターフェース部１５０（通信Ｉ／Ｆとも呼ばれる。）と、画像形成部１６０と、ＦＡＸ通信部１７０とを備えている。ＲＩＰ処理部１３０は、ＰＤＬ解析部１３１と、色変換処理部１３２と、ハーフトーン処理部１３３とを備えている。画像読取部１２０は、原稿から画像を読み取ってデジタルデータである画像データＩＤを生成する。ＲＩＰ処理部１３０は、画像データに対してＲＩＰ処理を実行してビットマップデータであるドットデータを生成する。ＦＡＸ通信部１７０は、ＦＡＸの送受信を実行する。ＦＡＸの送信では、２値化処理が実行される。
【００１３】
画像形成装置１００は、ＬＡＮ３０を介してパーソナルコンピュータ２０に接続されている。画像形成装置１００は、後処理装置４０に接続されている。後処理装置４０は、画像が形成された印刷用紙に対して、穿孔処理やステープル処理、印刷用紙の束を整合する整合処理といった後処理を実行することができる。
【００１４】
画像形成部１６０は、ドットデータに基づいて印刷媒体（図示せず）に画像を形成して排出する。本実施形態では、画像形成部１６０は、画像データＩＤやパーソナルコンピュータ２０から受信した印刷ジョブに基づいて印刷媒体（図示せず）に画像を形成して排出する。ドットデータは、画像形成媒体上のドットの形成状態を表すビットマップデータである。印刷媒体は、画像形成媒体とも呼ばれる。印刷ジョブは、画像形成ジョブとも呼ばれる。
【００１５】
制御部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御手段を備えている。また、制御部１１０は、各種Ｉ／Ｏ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、バス、その他ハードウェア等のインターフェースに関連するコントローラー機能を備えている。制御部１１０は、画像形成装置１００の全体を制御する。制御部１１０は、この例では、オペレーティングシステムとしてＬｉｎｕｘ（登録商標）カーネルを使用して作動するものとする。
【００１６】
制御部１１０は、記憶領域管理部１１１と、メモリ管理ユニット（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ、ＭＭＵとも呼ばれる。）１１２と、所定の記憶領域を有するメインメモリ１１３とを有している。メインメモリ１１３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）から構成されている。ＣＰＵは、メインメモリ１１３内において、記憶領域管理部１１１によって確保された記憶領域を利用して各処理を実行する。ＭＭＵ１１２は、仮想アドレスを物理アドレスに変換する機能を有している。
【００１７】
記憶部１４０は、非一時的な不揮発性の記録媒体であるハードディスクドライブからなる記憶装置である。記憶部１４０は、プログラム格納領域１４１と、スワップ領域１４２と、ＢＯＸ領域１４３とを有している。プログラム格納領域１４１は、制御部１１０が実行する各プロセスを実行するためのプログラムを記憶する。スワップ領域１４２は、メインメモリ１１３のデータをスワップアウトするために予め確保されている領域である。ＢＯＸ領域１４３は、画像形成装置１００のユーザーが画像データその他のデータを保存するために予め確保されている領域である。
【００１８】
図２は、一実施形態に係る画像形成装置１００の各機能と各プロセスの関係を示す説明図である。画像形成装置１００は、主な機能として印刷機能、複写機能、ＦＡＸ機能、送信機能、ＢＯＸ機能及びメンテナンス機能を有し、各機能を実現するための複数のプロセスを実装している。印刷機能は、ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスによって実現されている。複写機能は、画像読取プロセス、色変換プロセス及びハーフトーンプロセスによって実現されている。ＦＡＸ機能には、画像読取プロセス及び二値化プロセスが使用される。
【００１９】
送信機能は、この例では、画像を読み取ってｐｄｆファイルとしてパーソナルコンピュータ２０に送信する機能である。送信機能は、画像読取プロセス及びＰＤＦ化プロセスが使用される。ＢＯＸ機能は、画像データ等を圧縮してＢＯＸ領域１４３に格納し、ＢＯＸ領域１４３から読み出して伸張する機能である。ＢＯＸ機能には、画像読取プロセス及び圧縮伸張プロセスが使用される。メンテナンス機能は、この例では、たとえば消耗品（トナー等）の残存状況や印刷枚数を記録し、サポートセンターに送信する機能である。メンテナンス機能には、管理プロセスが使用される。
【００２０】
画像形成装置１００は、さらに、ダミープロセスを実装している。ダミープロセスは、画像形成装置１００の起動後に、たとえばＣ言語においては、ｍａｌｌｏｃ関数で物理メモリを確保して停止するプロセスである。ダミープロセスは、画像形成装置１００の各機能で不使用のダミーのプロセスであり、非常に短いプログラムコードで実装することができる。ダミープロセスは、画像形成装置１００の各機能で不使用のダミーのプロセスなので、何時停止しても画像形成装置１００の各機能に影響を与えることはない。
【００２１】
図３は、一実施形態に係る画像形成装置１００のメインメモリ１１３の各領域の状態の一例を示す説明図である。メインメモリ１１３は、テキスト領域１１３Ｔ、静的領域１１３Ｓ、ヒープ領域１１３Ｈ、空き領域１１３Ｆ及びスタック領域１１３Ｖから構成されている。
【００２２】
テキスト領域１１３Ｔは、プログラム領域とも呼ばれ、機械語に翻訳されたプログラムが格納される固定サイズの領域である。画像形成装置１００は、起動時において、プログラム格納領域１４１から機械語に翻訳されたプログラムを読み出して、テキスト領域１１３Ｔに格納する。各プロセスは、この機械語の命令がＣＰＵで実行されることによって作動する。
【００２３】
静的領域１１３Ｓは、グローバル変数などの静的変数が格納される固定サイズの領域である。静的変数とは、各プロセスの作動時において変化しない変数である。スタック領域１１３Ｖは、自動変数(局所変数)や関数の引数、戻り値といった一時変数などが格納される固定サイズの領域である。スタック領域１１３Ｖには、ＣＰＵのレジスタを一時的に退避させることもできる。
【００２４】
ヒープ領域１１３Ｈは、たとえばＣ言語においては、各プロセスがｍａｌｌｏｃ関数で物理メモリを確保し、ｆｒｅｅ関数で物理メモリを開放することができる動的な領域である。各プロセスは、その動作に必要な記憶領域をｍａｌｌｏｃ関数で物理メモリを確保して動作し、その動作の完了後にｆｒｅｅ関数で物理メモリを開放する。一方、空き領域１１３Ｆは、ヒープ領域１１３Ｈで確保された領域を除いた領域である。したがって、ヒープ領域１１３Ｈ及び空き領域１１３Ｆは、各プロセスの動作に応じて変動する領域である（図３の矢印参照）。
【００２５】
なお、空き領域１１３Ｆの領域の多くは、現実には、制御部１１０のＬｉｎｕｘ（登録商標）カーネルによってバッファやファイルキャッシュの用途に使用されている。しかしながら、Ｌｉｎｕｘ（登録商標）カーネルは、空き領域１１３Ｆの減少に応じて、バッファやファイルキャッシュ用の記憶領域を自動的に開放し、利用可能な記憶領域を増やして各プロセスで利用可能とすることができる。ただし、バッファやファイルキャッシュ用の記憶領域は、過度に制御部１１０の処理能力が低下しない範囲で確保される。
【００２６】
さらに、Ｌｉｎｕｘ（登録商標）カーネルは、バッファやファイルキャッシュ用の記憶領域が小さくなってくると、記憶部１４０のスワップ領域１４２にスワップアウトして利用可能な記憶領域を増やして各プロセスで利用可能とすることができる。ただし、記憶部１４０は、ハードディスクドライブからなる記憶装置なので、スワップアウトは、制御部１１０の処理能力の低下の要因となり得る。
【００２７】
図３（ａ）は、ＲＩＰ処理開始前のメインメモリ１１３の各領域を示している。テキスト領域１１３Ｔ、静的領域１１３Ｓ及びスタック領域１１３Ｖは、各プロセスの作動中においては固定サイズの領域である。この例では、テキスト領域１１３Ｔには、全てのプロセスのプログラムが格納され、全てのプロセスが起動されているものとする。各プロセスは、ヒープ領域１１３Ｈにおいて処理開始に必要な記憶領域を確保している。ＲＩＰ処理は、パーソナルコンピュータ２０からの印刷ジョブの受信や複写操作に応じて開始される。
【００２８】
図３（ｂ）は、ＲＩＰ処理中のメインメモリ１１３の各領域を示している。ＲＩＰ処理では、制御部１１０は、少なくとも色変換プロセス及びハーフトーンプロセスを起動する。色変換プロセス及びハーフトーンプロセスは、各処理に必要な記憶領域のｍａｌｌｏｃ関数での確保と、ｆｒｅｅ関数での開放とを繰り返して作動する。このように、ヒープ領域１１３Ｈは、ＲＩＰ処理に起因して増加することになる。
【００２９】
図４は、一実施形態に係る画像形成装置１００のメインメモリ１１３の各領域の状態の他の例を示す説明図である。図４（ａ）は、ＲＩＰ処理後のメインメモリ１１３の各領域を示している。ＲＩＰ処理後のメインメモリ１１３は、非開放領域が残存してメインメモリ１１３の記憶領域が減少している点で、ＲＩＰ処理前のメインメモリ１１３（図３（ａ）参照）と相違する。このような非開放領域の発生は、一般にメモリリークと呼ばれる。メモリリークは、ガベージコレクションによって軽減されるが、限界も指摘されている。
【００３０】
図４（ｂ）は、ＲＩＰ処理再開後のメインメモリ１１３の各領域を示している。ＲＩＰ処理では、色変換プロセス及びハーフトーンプロセスは、各処理に必要な記憶領域のｍａｌｌｏｃ関数での確保と、ｆｒｅｅ関数での開放とを繰り返して作動する。ただし、空き領域１１３Ｆは、メモリリークに起因する非開放領域よって減少している。画像形成装置１００は、複数のユーザーから多数のジョブの処理を要求されるので、本願発明者は、メモリリークが無視できない問題である点に着目した。
【００３１】
図５は、一実施形態に係る印刷処理手順の内容を示すフローチャートである。印刷処理手順では、画像形成装置１００は、ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスを使用し、パーソナルコンピュータ２０から受信した印刷ジョブに基づいて印刷媒体（図示せず）に画像を形成して排出する処理である。
【００３２】
ステップＳ１００では、制御部１１０は、印刷ジョブ受信処理を実行する。印刷ジョブ受信処理では、パーソナルコンピュータ２０からの印刷ジョブ受信に応じて、ＣＰＵは、ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスを必要に応じて起動する。ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスは、仮想メモリ空間において仮想アドレスを使用して記憶領域を設定する。ＭＭＵ１１２は、仮想アドレスを物理アドレスに変換してメインメモリ１１３内の物理メモリを確保する。
【００３３】
ステップＳ２００では、制御部１１０は、ＰＤＬ解析プロセス、色変換プロセス及びハーフトーンプロセスを作動させて、印刷ジョブの処理の実行を開始させる。ＰＤＬ解析プロセスは、ページ記述言語で記述された印刷ジョブを解析して、印刷ジョブに含まれるテキスト（文字）やイメージ、ベクターグラフィックスといったオブジェクトを抽出し、描画処理やフォント処理を実行する。色変換プロセスは、色変換処理を実行して、オブジェクトを表しているＲＧＢ画像データを画像形成部１６０が使用する色材で再現可能なＣＭＹＫ画像データに変換する。ハーフトーンプロセスは、ＣＭＹＫ画像データに対して組織的ディザや誤差拡散といった処理を実行して、画像形成部１６０がトナードットで再現可能な階調数に減色する。
【００３４】
このように、印刷実行処理は、印刷ジョブの内容によっては非常に多量のメモリを消費する処理である。このため、メモリリークの問題は、印刷実行処理において顕在化することが多く、エラーや処理遅延を引き起こすことがあった。
【００３５】
ステップＳ３００では、制御部１１０のカーネルは、ＯＯＭＫｉｌｌｅｒ（Ｏｕｔ  ｏｆ  Ｍｅｍｏｒｙ  Ｋｉｌｌｅｒ）の発動に応じて、処理をステップＳ４００に進める。ＯＯＭＫｉｌｌｅｒは、空きメモリが不足し、新たにメモリの割り当てができないときに、使用中のプロセスを強制終了（ｋｉｌｌ）して空きメモリを増やすＬｉｎｕｘ（登録商標）カーネルの機能である。ＯＯＭＫｉｌｌｅｒは、スワップアウトし尽した状態で、Ｌｉｎｕｘ（登録商標）カーネルがｍａｌｌｏｃ関数によるメモリ割り当て要求に対して割り当てるメモリが枯渇した場合に発動される。
【００３６】
ステップＳ４００では、制御部１１０のカーネルは、強制終了（ｋｉｌｌ）の対象となるプロセスの候補を探すためにｓｅｌｅｃｔ＿ｂａｄ＿ｐｒｏｃｅｓｓ（）を呼び出して、ｏｏｍ＿ｂａｄｎｅｓｓ（）関数とｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータとに基づいて強制終了（ｋｉｌｌ）の対象となるプロセスを選択する。ｏｏｍ＿ｂａｄｎｅｓｓ（）関数は、メモリの使用量その他のＯＯＭ（Ｏｕｔ  ｏｆ  Ｍｅｍｏｒｙ）状態にどの程度寄与しているかを表す関数である。ｏｏｍ＿ｂａｄｎｅｓｓ（）関数は、ｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータで優先度を設定することができる。
【００３７】
ｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータは、各プロセスのパラメータで−１０００乃至１０００の値を有し、強制終了（ｋｉｌｌ）の対象からプロセスを外すために−１０００を設定するというのが一般な使用方法である。しかしながら、本実施形態は、当業者の技術常識に反してダミープロセスのｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータに１０００の値が設定されている一方、他のプロセスに小さな値のパラメータが設定されている。
【００３８】
ダミープロセスのｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータの値は、１０００以外の値でも良く、たとえばダミープロセスのｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータを正の値に設定し、他の複数のプロセスのｏｏｍ＿ｓｃｏｒｅ＿ａｄｊパラメータを負の値に設定するようにしてもよい。
【００３９】
このように、制御部１１０のカーネルは、ダミープロセスを優先的に選択し、ダミープロセスに対してＳＩＧＫＩＬＬシグナルを送信することができる。これにより、制御部１１０は、ダミープロセスが使用していたメモリを開放して空きメモリを増やし、新たなメモリ割り当てを可能とすることができる。本実施形態では、さらに、ダミープロセスを容易に選択することができるので、ｓｅｌｅｃｔ＿ｂａｄ＿ｐｒｏｃｅｓｓ（）の処理負担を軽減し、ｓｅｌｅｃｔ＿ｂａｄ＿ｐｒｏｃｅｓｓ（）の処理中にパニックとなる問題を抑制することもできる。
【００４０】
なお、制御部１１０のカーネルは、ＯＯＭＫｉｌｌｅｒの検知に応じてダミープロセスを強制終了（ｋｉｌｌ）するようにしてもよい。これにより、ｓｅｌｅｃｔ＿ｂａｄ＿ｐｒｏｃｅｓｓ（）の処理を実行することなく、ダミープロセスに対してＳＩＧＫＩＬＬシグナルを送信することができる。ＯＯＭＫｉｌｌｅｒの検知は、たとえばｒｅｇｉｓｔｅｒ＿ｏｏｍ＿ｎｏｔｉｆｉｅｒ（）コマンドを使用することによって実現することができる。
【００４１】
また、Ｌｉｎｕｘ（登録商標）カーネルのｖｍ．ｐａｎｉｃ＿ｏｎ＿ｏｏｍパラメタは、０に設定することが好ましい。こうすれば、メモリ枯渇に対してパニック（フリーズ）ではなく、必ずＯＯＭＫｉｌｌｅｒが発動されるからである。
【００４２】
ステップＳ５００では、記憶領域管理部１１１は、再起動フラグ設定処理を実行する。再起動フラグ設定処理では、記憶領域管理部１１１は、印刷処理が完了した後で再起動を実行するためのフラグである再起動フラグを記憶部１４０に設定する。記憶領域管理部１１１は、印刷処理の完了の検知に応じて、記憶部１４０に再起動フラグが設定されているか否かを判断する（ステップＳ６００及びステップＳ７００）。
【００４３】
ステップＳ８００では、記憶領域管理部１１１は、画像形成装置１００を再起動させる。これにより、画像形成装置１００は、空きメモリ不足の要因であるメモリリークを解消することができる。
【００４４】
このように、一実施形態に係る画像形成装置１００は、メモリ不足に起因してＯＯＭＫｉｌｌｅｒが発動しても円滑にダミープロセスを強制終了（ｋｉｌｌ）することによって、エラーやカーネルパニックを回避して印刷処理を継続することができる。さらに、画像形成装置１００は、ＯＯＭＫｉｌｌｅｒの発動後にメモリが十分に存在する状態で正常終了して、メモリリークを解消することができる。
【００４５】
本発明は、上記実施形態だけでなく、以下のような変形例でも実施することができる。
【００４６】
変形例１：上記実施形態では、画像形成装置は、オペレーティングシステムとしてＬｉｎｕｘ（登録商標）カーネルを採用しているが、必ずしもＬｉｎｕｘ（登録商標）カーネルに限定されない。本発明は、メモリ不足に応じて使用中のプロセスを強制終了（ｋｉｌｌ）して空きメモリを増やす機能を有するオペレーティングシステムを採用する画像形成装置に適用可能である。
【００４７】
変形例２：上記実施形態では、印刷ジョブの処理が例示されているが、必ずしも印刷ジョブに限定されない。本発明は、画像形成装置の任意の機能に適用可能である。
【符号の説明】
【００４８】
１００  画像形成装置
１１０  制御部
１１１  記憶領域管理部
１１２  メモリ管理ユニット（ＭＭＵ）
１１３  メインメモリ
１２０  画像読取部
１３０  ＲＩＰ処理部
１３１  ＰＤＬ解析部
１３２  色変換処理部
１３３  ハーフトーン処理部
１４０  記憶部
１４１  プログラム格納領域
１４２  スワップ領域
１４３  ＢＯＸ領域
１５０  通信インターフェース部
１６０  画像形成部
【図１】
2020059192.tif 000003
【図２】
2020059192.tif 000004
【図３】
2020059192.tif 000005
【図４】
2020059192.tif 000006
【図５】
2020059192.tif 000007