(57)【要約】【課題】  情報処理装置において起動時間を短縮すること。【解決手段】  デバイスの初期化を実行するデバイス初期化手段４００と、必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスの機能を提供するサービス実行手段４０２と、を有し、デバイス初期化手段４００は、上記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行うと共に、デバイスの初期化処理におけるスレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを行なわないようにした。【選択図】図１
2013016982.tif 000002
【特許請求の範囲】
【請求項１】
起動時にデバイスの初期化を行なう情報処理装置であって、
前記デバイスの初期化を実行するデバイス初期化手段と、
前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、
を有し、
前記デバイス初期化手段は、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止する情報処理装置。
【請求項２】
請求項１に記載された情報処理装置において、
前記継続時間は、前記デバイスの初期化処理における応答待機期間が所定時間以内で終了するデバイスについて、当該デバイスの応答待機期間より長く設定されている情報処理装置。
【請求項３】
請求項１又は２に記載された情報処理装置において、
前記デバイス初期化手段は、初期化に要する時間が最も長い前記デバイスから順番に、初期化処理を開始する情報処理装置。
【請求項４】
請求項１ないし３のいずれかに記載された情報処理装置において、
前記必須のデバイスを特定するための情報を含むデバイス情報を記憶する記憶手段を有し、
前記必須のデバイスとすべき前記デバイスを指定するユーザからの入力に基づき、前記デバイス情報の内容を更新するデバイス情報更新手段を有する情報処理装置。
【請求項５】
請求項１ないし３のいずれかに記載された情報処理装置において、
前記必須のデバイスを特定するための情報を含むデバイス情報を記憶する記憶手段を有し、
前記機能提供手段の動作開始時において提供可能とすべき機能を指定する、ユーザからの入力に基づき、当該機能を実行するための必須デバイスを特定して、前記デバイス情報の内容を更新するデバイス特定更新手段を有する情報処理装置。
【請求項６】
請求項１ないし５のいずれかに記載された情報処理装置において、
前記機能提供手段は、電源投入時においてユーザが所定の操作を行ったときは、全ての前記デバイスの初期化が完了したことを条件に、前記各デバイスの機能を提供する情報処理装置。
【請求項７】
起動時にデバイスの初期化を行なう情報処理装置におけるデバイス初期化方法であって、
前記デバイスの初期化を実行するデバイス初期化工程と、
前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供工程と、
を有し、
前記デバイス初期化工程では、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記各デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するデバイス初期化方法。
【請求項８】
起動時にデバイスの初期化を行なう情報処理装置のコンピュータを、
前記デバイスの初期化を実行するデバイス初期化手段、
前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、として機能させるプログラムであって、
前記デバイス初期化手段を、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するように機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、デバイス初期化方法、及びプログラムに関し、特に、起動時間を短縮することのできる情報処理装置、デバイス初期化方法、及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置として現在多様な機器が用いられている。例えば、画像形成装置もその一種であるが、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を備えた複合プリンタ（Multifunction Printer、ＭＦＰ）と呼ばれる画像形成装置が一般に広く用いられている。この画像形成装置は、各機能に共通の表示部、印刷部および撮像部（原稿読み取り部）などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応するソフトウェアを設け、ソフトウェアの切り替えによって当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
このように上記画像形成装置には多数のデバイスが接続されており、また、起動時に全デバイスの初期化処理の完了を、起動時の特定のポイント（例えば、ユーザ操作の受付等、サービス開始の直前）で待ち合わせを行うことから、起動が完了してユーザの操作が可能となるまでに相当の時間を要するという問題がある。
この問題は画像形成装置に限らず、広く情報処理装置一般に言えることである。
【０００４】
図８は、従来の画像形成装置における、起動時のデバイス初期化処理の手順を示すフロー図である。
このデバイス初期化処理は、一般に、起動時に実行されるＯＳ（Operating System、オペレーティング・システム）に含まれた起動処理プログラムに従って行なわれる。
【０００５】
ユーザが画像形成装置の電源をＯＮにすると（Ｓ４０１）、まずＣＰＵやメモリなどの初期化処理が行われた後（Ｓ４０２）、画像形成装置に接続されているデバイスの検出が行なわれ（Ｓ４０３）、接続検知された各デバイスについて、それぞれ対応するデバイスドライバを用いて、各デバイスの初期化処理が開始される（Ｓ４０４）。
【０００６】
その後、起動処理の特定のタイミング（例えば、ユーザ操作の受付などのサービス開始の直前）で全デバイスの初期化処理が完了したか否かを判断し（Ｓ４０５）、完了していれば（Ｓ４０５、Ｙｅｓ）、処理を終了し、完了していなければ（Ｓ４０５、Ｎｏ）、ステップＳ４０５を繰り返して、全デバイスの初期化処理の完了を待つ。
【０００７】
全デバイスの初期化処理が完了すると、ＯＳは起動処理プログラムを終了し、各種アプリケーション・プログラム（以下、単に「アプリケーション」という）を起動して、サービスを開始する。
図８に示す処理では、ステップＳ４０５において全デバイスの初期化処理の完了を待ち合わせているため、ＯＳが起動処理を完了しユーザが操作を開始できるようになるまでに、多くの時間を要することとなる。このため、画像形成装置に使用されるＵＮＩＸ（登録商標）等のＯＳにおいては、通常、各デバイス毎に初期化処理を実行するためのスレッドを生成し、各デバイスの初期化処理を並行して行うことで、全デバイスの初期化処理が完了するまでの処理時間を短縮している。
【０００８】
ここで、スレッドとは、一つの処理に連続して割り当てられるＣＰＵ（Center Processing Unit）の処理時間単位をいい、ＵＮＩＸ（登録商標）等のＯＳでは、ＣＰＵの処理時間を所定の時間毎に分割したスレッドを、ソフトウェア毎に割り当て、各スレッドにより各ソフトウェアの処理を一部分ずつ順番に処理していくことにより、各ソフトウェアを並列に処理するのである。
【０００９】
また、デバイスの初期化処理を短縮することのできるコンピュータシステムとして、従来、初期化処理を行うための複数のコマンドをデバイス毎に順次送信して初期化を行なう場合に、各デバイスから処理コマンドの実行完了を示す割り込み信号を受信するものとし、当該割込み信号を発生したデバイスに対し、順次、次の処理コマンドを送信することにより、一のデバイスの処理待ち時間に上記割り込みにより他のデバイスの初期化処理を実行して、複数のデバイスの初期化を並行して行うコンピュータシステムが知られている（特許文献１参照）。
【００１０】
さらに、デバイスの初期化処理時間を短縮する画像形成装置として、予めユーザに使用する機能を選択させ、使用しない機能に関するデバイスについては初期化処理の対象から除外する画像形成装置も知られている（特許文献２参照）。
【００１１】
しかしながら、特許文献１に記載されたコンピュータシステムでは、全デバイスの初期化完了を待って起動処理が完了するものであるため、初期化対象であるデバイスの数は削減されず、起動時間短縮の効果が小さいという問題を有している。
【００１２】
また、特許文献２に記載された画像形成装置では、ユーザが使用しないこととした機能の実行が、画像形成装置の起動後に改めて必要となった場合には、当該機能に必要なデバイスを利用可能とするために、ユーザは、使用する機能の再設定を行って画像形成装置を再起動する必要があり、必要な機能を利用可能にするまでに相当の時間を要することとなる。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明は、上記従来の問題に鑑みなされたものであって、その目的は、情報処理装置において、全デバイスを初期化対象としつつ、サービス開始までの起動時間を短縮し、かつ、デバイスの初期化処理の完了までの時間を短縮することである。
【課題を解決するための手段】
【００１４】
本発明は、起動時にデバイスの初期化を行なう情報処理装置であって、前記デバイスの初期化を実行するデバイス初期化手段と、前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、を有し、前記デバイス初期化手段は、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止する情報処理装置である。
本発明は、起動時にデバイスの初期化を行なう情報処理装置におけるデバイス初期化方法であって、前記デバイスの初期化を実行するデバイス初期化工程と、前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供工程と、を有し、前記デバイス初期化工程では、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記各デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するデバイス初期化方法である。
本発明は、起動時にデバイスの初期化を行なう情報処理装置のコンピュータを、前記デバイスの初期化を実行するデバイス初期化手段、前記デバイスのうち必須のデバイスとして予め定められたデバイスの初期化が完了したことを条件に、前記必須のデバイスを動作させ、当該デバイスの機能を提供する機能提供手段と、として機能させるプログラムであって、前記デバイス初期化手段を、前記必須のデバイスの初期化後も前記必須のデバイス以外のデバイスの初期化を行い、かつ前記デバイスの初期化処理において、スレッドの継続時間が予め定められているときは、前記継続時間内においては当該スレッドから他のスレッドへの切り替えを禁止するように機能させるプログラムである。
【発明の効果】
【００１５】
本発明によれば、起動に必ずしも必要ではないデバイスについては、その初期化完了を待たずにサービスを開始して起動時間を短縮することができると共に、デバイスの初期化処理の完了までの時間を短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る画像形成装置の構成を示すブロック図である。
【図２】図１に示す画像形成装置における、コントローラ上で実行されるソフトウェア群の構成を示すブロック図である。
【図３】図１に示す画像形成装置における、デバイス情報の一例を示す図である。
【図４】図１に示す画像形成装置の動作手順を示すフロー図である。
【図５】本発明の第２の実施形態に係る画像形成装置の、動作手順を示すフロー図である。
【図６】本発明の第３の実施形態に係る画像形成装置における、表示部に表示される機能テーブルの一例を示す図である。
【図７】本発明の第５の実施形態に係る画像形成装置の、動作手順を示すフロー図である。
【図８】従来の画像形成装置における、起動時のデバイス初期化処理の手順を示すフロー図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施の形態を説明する。
なお、以下の説明は画像形成装置を例に採って行うが、本発明は画像形成装置に限定するものではない。
本実施形態に係る画像形成装置は、サービス（即ち、ユーザに対する所定の機能の提供）を開始するために必須のデバイス（例えば、ユーザ操作を受け付けるための入力装置や表示装置等のデバイス）を特定しておき、上記必須デバイスの初期化が完了した時点でサービスを開始することで、サービス開始までの起動時間を短縮すると共に、上記サービス開始後も上記必須デバイス以外のデバイスの初期化を続行し、例えばユーザが入力操作等を行なっている間に全デバイスの初期化を完了して、全機能を使用可能とするものである。
【００１８】
図１は、本発明の情報処理装置の第１の実施形態に係る画像形成装置の構成を示すブロック図である。
本画像形成装置１は、画像形成手段２と、画像形成手段２を制御するコントローラ４と、を有している。
【００１９】
画像形成手段２は、プロッタ部２２と、スキャナ部２４とを有している。
プロッタ部２２は、コントローラ４から送信される画像処理後の画像データに基づいて、画像を印刷出力する機能を果たす。
スキャナ部２４は、紙等の媒体に記録された画像をスキャンし、画像データをコントローラ４に転送する画像読取装置である。
【００２０】
コントローラ４は、ＣＰＵ４０と、プログラムが書き込まれたＲＯＭ（Read Only Memory）４２と、データの一時記憶のためのＲＡＭ（Random Access Memory）４４とを有するコンピュータと、不揮発性ＲＡＭ（ＮＶＲＡＭ、Non-volatile RAM）４６と、操作部４８と、固定ディスク装置（ＨＤＤ、Hard Disk Drive）５０と、ネットワーク制御手段５２と、画像処理手段５４と、ファクシミリ装置（不図示）を備えるＦＣＵ（Facsimile Control Unit、ファクシミリ・コントロール・ユニット）５６と、を有している。
【００２１】
ＣＰＵ４０は、ＯＳ６４０（後述）や、プロッタ部２２等を制御するためのアプリケーション・ソフトウェアを実行することで、画像形成装置１の動作を制御する機能を果たす。
ＲＡＭ４４は、ＣＰＵ４０の作業用領域として使用される揮発性メモリである。
【００２２】
ＲＯＭ４２は、ＣＰＵ４０が実行するプログラムが格納される不揮発性メモリであり、当該プログラムはＲＡＭ４４上に展開してＣＰＵ４０によって実行される。
操作部４８は、ユーザの操作情報の入力受け付けと、ユーザへの情報表示の機能を果たす。
ＨＤＤ５０は、主にエンジン側、即ち、画像形成手段２のスキャナ部２４等から送られてきたデータを保存する機能を果たす。
【００２３】
ネットワーク制御手段５２は、ＬＡＮ等に接続され、外部装置６との通信を行なうほか、ＵＳＢインタフェースを備え、外部機器であるＵＳＢ機器（不図示）との通信を行なう。ここで、外部装置６は、例えばＰＣ（Personal Computer、パーソナルコンピュータ）等であり、画像形成装置１に印刷指示（印刷要求）等を送信して画像形成装置１の動作を制御する。
【００２４】
画像処理手段５４は、スキャナ部２４やＨＤＤ５０から入力された画像について、色補正等の画像処理を行い、処理後の画像データをプロッタ部２２等へ出力する。
ＮＶＲＡＭ４６は、所定のサービスを開始するのに必須のデバイスを特定するための情報を含むデバイス情報４６０などを記憶する。
【００２５】
また、コントローラ４は、ＣＰＵ４０が、ＲＯＭ４２又はＨＤＤ５０に記憶されているコンピュータ・プログラム、例えば後述するＯＳ６４０（図２）を実行することにより実現される機能実現手段として、デバイス初期化手段４００と、サービス実行手段４０２と、を有している。なお、コンピュータ・プログラムは、コンピュータ読み取り可能な任意の記憶媒体に記憶させておくことができる。
【００２６】
デバイス初期化手段４００は、ユーザが画像形成装置１の電源を投入したときに、画像形成装置１に接続されているデバイスを検知して、後述するＯＳ６４０が備えるデバイスドライバにより、上記検知した各デバイスの初期化を実行する。
【００２７】
サービス実行手段４０２は、各デバイスを動作させ当該デバイスの機能をユーザに提供する機能提供手段であり、ユーザが画像形成装置１の電源を投入したときに、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を参照して、サービスを開始するのに必須のデバイス（必須デバイス）を特定し、すべての必須デバイスの初期化が完了したときに、サービスの実行を開始する。
サービス実行手段４０２は、ＯＳ６４０を構成する起動処理プログラムの一部と、各種のアプリケーションの実行を管理する後述するＳＣＳ（システムコントロールサービス）６２６（図２）とを含むことができるが、これらを含めずこれらと共にサービスを提供するものであってもよい。全ての必須デバイスの初期化が完了したときには、ＳＣＳ６２６に処理を移すことにより、サービスを開始する。
【００２８】
次に、コントローラ４上で実行されるソフトウェアについて説明する。
図２は、コントローラ４上で実行されるソフトウェア群の構成を示すブロック図である。
ソフトウェア群６０１を構成する各ソフトウェアは階層構造を成し、下層部分は、ハードウェアを直接的に制御するＢＩＯＳ（Basic Input/Output System）６５０と、ＢＩＯＳ６５０上で動作するＯＳ６４０と、を有している。
【００２９】
ここで、ＯＳ６４０は、ＵＮＩＸ（登録商標）等のマルチスレッド対応のＯＳであり、各ソフトウェアにスレッドを割り当てることにより、各ソフトウェアを並列実行する。また、ＯＳ６４０は、画像形成装置１の各種デバイスを動作させるためのデバイスドライバと、起動時に実行される起動処理プログラムを備え、これらのプログラムがＣＰＵ４０により実行されることにより、図１に示すデバイス初期化手段４００等の各機能実現手段が実現される。
【００３０】
ソフトウェア階層構造の最上層はアプリケーション群６０２であり、コピー用のアプリケーション・プログラム（以下、単に「アプリケーション」という）であるコピーアプリ６１１、プリンタ用のアプリケーションであるプリンタアプリ６１２、スキャナ用のアプリケーションであるスキャナアプリ６１３、ファクシミリ用のアプリケーションであるＦＡＸ（ファクシミリ）アプリ６１４などの、各種のアプリケーションを有している。
【００３１】
アプリケーション群６０２の下位層には、アプリケーション群６０２を構成する上記各種アプリケーションからの処理要求を解釈して、ハードウェア資源の獲得要求を発生するコントロールサービス群６０３があり、コントロールサービス群６０３は、ＥＣＳ（エンジンコントロールサービス）６２１と、ＭＣＳ（メモリコントロールサービス）６２２と、ＯＣＳ（オペレーションパネルコントロールサービス）６２３と、ＦＣＳ（ファックスコントロールサービス）６２４と、ＮＣＳ（ネットワークコントロールサービス）６２５と、ＳＣＳ（システムコントロールサービス）６２６と、を有している。
【００３２】
また、コントロールサービス群６０３とＯＳ６４０との中間層には、ハードウェア資源の管理を行って、上記各コントロールサービスが発生したハードウェア資源の獲得要求を調停するＳＲＭ（システムリソースマネージャ）６３０がある。
【００３３】
ここで、ＥＣＳ６２１のプロセスは、エンジン部の制御を行う。
ＭＣＳ６２２のプロセスは、不図示のシステムメモリの領域の取得および解放やＲＡＭ４４やＨＤＤ５０等の記憶装置の利用などの制御を行う。
ＯＣＳ６２３のプロセスは、利用者と本体制御との間の情報伝達手段となる操作部４８の制御を行う。
【００３４】
ＦＣＳ６２４のプロセスは、ＩＳＤＮ（Integrated Services Digital Network）網などを利用したファクシミリの送受信、各種ファクシミリデータの登録や読み取り、あるいは、ファクシミリ受信印刷などを、ＦＡＸアプリ６１４等から行うためのソフトウェア・インタフェースを提供する。
【００３５】
ＮＣＳ６２５のプロセスは、ネットワークＩ／Ｏ（インプット／アウトプット）を必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
また、ＳＣＳ６２６のプロセスは、アプリケーションの管理、割り込みアプリケーション制御などの処理を行う。
【００３６】
ＳＲＭ６３０のプロセスは、ＳＣＳ６２６と共にシステムの制御およびハードウェア資源の管理を行うものである。例えば、ＳＲＭ６３０のプロセスは、上位層であるアプリケーション群６０２からのハードウェア資源の獲得要求を調停し、ハードウェアにより処理の実行を制御する。具体的に、ＳＲＭ６３０のプロセスは、獲得要求されたハードウェア資源が利用可能であるか（他の獲得要求により利用されていないかどうか）を判定し、利用可能であれば獲得要求されたハードウェア資源が利用可能である旨を上位層に通知する。また、ＳＲＭ６３０のプロセスは、上位層からの獲得要求に対してハードウェア資源を利用するためのスケジューリングを行い、要求内容（例えば、プリンタ部による紙搬送と作像動作、システムメモリの領域確保、ファイル生成など）を直接実行する。
【００３７】
以上のソフトウェア構成により、コントローラ４上でＢＩＯＳ６５０がＯＳ６４０を起動し、ＯＳ６４０上では、コピーアプリ６１１、プリンタアプリ６１２、スキャナプアプリ６１３、ＦＡＸアプリ６１４などのアプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス群６０３と、一または複数のハードウェア資源の管理を行い、コントロールサービス群６０３を構成する各コントロールサービスからの獲得要求を調停するＳＲＭ６３０が動作する。
【００３８】
次に、図１に示すＮＶＲＡＭ４６が記憶するデバイス情報４６０について説明する。このデバイス情報４６０は、サービス実行手段４０２がサービスを開始するのに必須のデバイスを特定するための情報を含んでいる。
図３は、デバイス情報４６０の一例を示す図である。このデバイス情報４６０は、テーブル形式となっており、最左列から順に、デバイス名、初期化完了待ちフラグ、初期化完了フラグ、及びスレッド切替え時間が記録される。
【００３９】
デバイス名は、画像形成装置１に接続されている各デバイスを識別するための、各デバイスの名称である。例えば、ｕｓｂは、ＵＳＢ機器との通信を行なうためネットワーク制御手段５２が備えるＵＳＢインタフェースを示し、ｆｃｕはファクシミリ装置を含むＦＣＵ５６を示し、ｈｄｄは固定ディスク装置であるＨＤＤ５０を示している。
【００４０】
初期化完了待ちフラグは、サービス実行手段４０２が所定のサービスを開始するのに必須のデバイスを特定するための情報であり、各デバイスが必須デバイスであるか否かを示すフラグで構成されている。例えば、初期化完了待ちフラグがＯＮとなっているｕｓｂ及びｈｄｄは必須デバイスであり、初期化完了待ちフラグがＯＦＦとなっているｆｃｕは必須デバイスではない。これら以外にも、例えば、操作部４８を構成する液晶表示装置（不図示）やタッチパネル（不図示）は、ユーザからの指示入力に必要なデバイスとして、上記必須デバイスに含められる。
なお、初期化完了待ちフラグ及び初期化完了フラグの欄において、「ＯＮ」及び「ＯＦＦ」の右側に示されている「（１）」及び「（０）」は、それぞれ、「ＯＮ」及び「ＯＦＦ」を表すものとしてＮＶＲＡＭ４６に実際に記憶される数値を示している。
【００４１】
初期化完了フラグは、デバイスの初期化が完了していることを示すフラグである。このフラグは、電源投入後の初期状態ではＯＦＦにリセットされており、各デバイスの初期化が完了した時点で、デバイス初期化手段４００が、当該初期化が完了したデバイスについての初期化完了フラグをＯＮにセットする。
【００４２】
スレッド切替え時間は、デバイスの初期化処理に割り当てるスレッドの継続時間を指定するスレッド情報である。通常、スレッドの継続時間はＯＳ６４０により所定の時間に設定されるが、デバイス初期化手段４００は、デバイスの初期化に際しＮＶＲＡＭ４６が記憶するデバイス情報４６０を参照し、スレッド切替え時間欄に時間が指定されているデバイスがあれば、そのデバイスの初期化処理に割り当てるスレッドの継続時間を、スレッド切替え時間欄で指定されている時間に変更し、当該指定されたスレッド継続時間内においては、他のスレッドに切り替えない。
【００４３】
通常、スレッドの切り替えは、そのスレッドにおける所定の継続時間が経過した時、又は、そのスレッドにおいてデバイスからの応答を待機する答待機期間が開始した時に行なわれる。このスレッドの切り替えを行なうため、ＣＰＵ４０は、ＣＰＵ４０が備える各レジスタ（不図示）の現在の値をＲＡＭ４４等のメモリ内に退避（記憶）させ、次に実行するスレッドについて退避しておいた以前の各レジスタ値を、当該メモリから読み出す等の処理を行う。
【００４４】
これらの処理は、スレッドの切り替えのためだけに必要な処理（余分なコスト；オーバヘッド）であって、各デバイスの初期化処理に直接寄与するものではない。このため、スレッドの切り替えが頻繁に発生すると、上記オーバヘッドが多く発生し、各デバイスの初期化が完了するまでに要する時間が長くなる。従って、例えば、短時間で終了する応答待機期間が頻繁に発生する場合には、その発生のたびにスレッドを切り替えるよりも、応答待機期間の終了後までスレッドを切り替えないほうが、スレッド切り替えのためのオーバヘッドが少なくなってデバイス初期化の完了時間を短縮することができる。
【００４５】
このため、本実施形態では、例えば所定の時間以内で終了する応答待機期間が発生するデバイスについては、図３に示すデバイス情報４６０のスレッド切替え時間欄に、そのデバイスの初期化に用いられるスレッドの継続時間を指定して、当該スレッドの継続時間を、上記応答待機期間の長さ（応答待機時間）よりも長く設定すると共に、上記設定されたスレッド継続時間内においては、応答待機期間が発生してもスレッドを切り替えないこととしている。
【００４６】
これにより、本実施形態では、上記オーバヘッドの発生頻度を少なくして、デバイスの初期化処理の完了までの時間を短縮することができる。なお、スレッドに対しあまりに長い継続時間を設定すると、並行処理による処理時間の短縮効果が損なわれるため、デバイス情報４６０のスレッド切替え時間欄に設定する継続時間としては、例えば、所定の時間よりも短い応答待機時間に所定の余裕時間を加えた時間とすることができる。
【００４７】
上記の構成を備える画像形成装置１は、ユーザにより電源が投入されると、各デバイスの初期化を開始し、サービス実行手段４０２は、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を参照する（図３）。そして、初期化完了待ちフラグがＯＮとなっているデバイスを必須デバイスとして特定し、これら必須デバイスの初期化完了を待ってサービスを開始すると共に、サービスの開始後は、当該サービスの実行と並行して、初期化を完了していない他のデバイスについての初期化処理を行う。
【００４８】
これにより、画像形成装置１は、サービスを開始するのに必要な最小限のデバイスについての初期化が完了した時点でサービスを開始し、起動時間を短縮することができる。また、サービス開始後は、その他のデバイスの初期化を継続実行し全機能を使用可能とするため、ユーザは、必須デバイス以外のデバイスに関する機能を有効とするために画像形成装置１を再起動する必要はなく、利便性が向上する。
【００４９】
また、デバイスの初期化に際し、デバイス情報４６０にスレッド切替え時間（即ち、スレッド継続時間）が指定されているデバイスについては、当該スレッド継続時間内においては、応答待機期間が開始してもスレッドを切り替えないようにしている。これにより、画像形成装置１は、オーバヘッドの発生頻度を下げてデバイスの初期化処理完了までの時間を短縮することができる。
【００５０】
次に、画像形成装置１の動作手順について、図４に示すフロー図にしたがって説明する。
ユーザが画像形成装置１の電源をＯＮにすると（Ｓ１０１）、まずCPUやメモリなどの初期化が行われる（Ｓ１０２）。この初期化は、例えば電源ＯＮと同時に発生させたリセット信号により行なわれる。また、この初期化と同時に、ＲＯＭ４２やＨＤＤ５０からＲＡＭ４４に、ＢＩＯＳ６５０やＯＳ６４０等のソフトウェア群６０１（図２）の全部又は一部がロードされて、ＣＰＵ４０により実行される。これにより、電源投入後の起動処理が開始する。
ここで、以下に示すステップＳ１０３ａ〜ｎないしＳ１０６ａ〜ｎと、ステップＳ１０７とは、各処理を行うスレッドにより並行に実行される。
【００５１】
デバイス初期化手段４００は、画像形成装置１に接続されているデバイス毎に、デバイスを検出した後（Ｓ１０３ａ〜ｎ）、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を参照し、そのデバイスについてスレッド切替え時間が指定されていれば、ＯＳ６４０に対し、そのスレッド切替え時間をそのデバイスの初期化処理のスレッド継続時間に設定すると共に、スレッド継続時間内におけるスレッドの切り替えを禁止する（Ｓ１０４ａ〜ｎ）。
【００５２】
次に、デバイス初期化手段４００は、各デバイスに対応するデバイスドライバを用いて、各デバイスの初期化処理を行った後（Ｓ１０５ａ〜ｎ）、初期化の完了時に、ＮＶＲＡＭ４６が記憶するデバイス情報４６０の初期化完了フラグをＯＮに設定する（Ｓ１０６ａ〜ｎ）。
【００５３】
また、サービス実行手段４０２は、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を参照して、初期化完了待ちフラグがＯＮになっているデバイスの全て、即ち必須デバイスの全てについて、初期化完了フラグがＯＮになっているか否かを判断する（Ｓ１０７）。
【００５４】
そして、全ての必須デバイスについて初期化完了フラグがＯＮになっているときは（Ｓ１０７、Ｙｅｓ）、処理を終了し、一方、いずれかの必須デバイスについて初期化完了フラグがＯＮになっていないときは（Ｓ１０７、Ｎｏ）、全ての必須デバイスについて初期化完了フラグがＯＮになるまで待機する。また、処理終了後は、サービス実行手段４０２は、サービスを開始する。
【００５５】
なお、本実施形態では、デバイス情報４６０をＮＶＲＡＭ４６に記憶するものとしたが、ＯＳ６４０のプログラムの一部として、デバイス情報４６０を保持してもよい。
【００５６】
次に、本発明の第２の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第１の実施形態に係る画像形成装置１におけるデバイス情報４６０に、各デバイスの初期化処理に要する時間（初期化時間）が記録されており、デバイス初期化手段４００は、画像形成装置１に接続されている各デバイスを検出した後、デバイス情報４６０に記録された各デバイスの初期化時間を参照し、初期化時間の長いデバイス順に、初期化処理を開始するものとする。
【００５７】
一般に、一のデバイスの初期化処理中に発生する応答待機期間に、他のデバイスの初期化処理を行えば、全体として初期化処理にかかる時間を短縮することができる。そのためには、一のデバイスの初期化処理中において応答待機期間が発生したときに、当該応答待機期間に実行することのできる他のデバイスの初期化処理が完了前の状態にあることが必要であり、できるだけ多くのデバイスについての初期化処理が実行途中の状態であることが必要となる。
【００５８】
これに対し、初期化時間が短い順に初期化処理を開始した場合には、最初に実行開始される初期化時間の短いデバイス初期化処理が、後から開始される初期化時間の長いデバイス初期化処理の開始前、又は応答待機期間の開始前に完了している事態が生じ得るため、初期化処理が並行して実行されるデバイスの数は減少する。
【００５９】
本実施形態では、初期化時間の長いデバイスから順番に初期化処理を開始するため、並行して初期化処理が実行されるデバイスの数が多くなり、一のデバイスの初期化処理中に発生する応答待機期間に他のデバイスの初期化処理を実行できる確率が高くなるので、ＣＰＵ４０が何も実行しない無駄な時間を削減でき、初期化処理の短縮効果を大きくすることができる。
【００６０】
図５は、本実施形態に係る画像形成装置の動作手順を示すフロー図である。
本実施形態においては、デバイス初期化手段４００は、デバイスの検出とスレッド切替え時間の設定（Ｓ２０３ａ〜Ｓ２０４ｎ）と並行して、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を参照し、デバイス情報４６０に記録されている各デバイスの初期化時間に基づき、初期化時間の長い順に、各デバイスの初期化の開始順序を決定し（Ｓ２０５）、決定した順序で、各デバイスの初期化を開始する（Ｓ２０６ａ〜ｎ）。なお、上記以外のステップＳ２０１、Ｓ２０２、Ｓ２０３ａ〜ｎ、Ｓ２０４ａ〜ｎ、Ｓ２０７ａ〜ｎ、及びＳ２０８については、それぞれ、図４に示すＳ１０１、Ｓ１０２、Ｓ１０３ａ〜ｎ、Ｓ１０４ａ〜ｎ、Ｓ１０６ａ〜ｎ、及びＳ１０７と同じであるので、図４についての説明を援用する。
【００６１】
次に、本発明の第３の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第１の実施形態に係る画像形成装置１において、ユーザが操作部４８を介して、サービス開始までに初期化を完了しておかなければならない必須デバイスを指定できるものとし、当該指定に基づいて、ＮＶＲＡＭ４６が記憶するデバイス情報４６０が更新されるものとする。
【００６２】
第１の実施形態において、起動に最低限必要なデバイスのみを必須デバイスとした場合には、起動が完了してもユーザが利用したい機能が利用可能になっていない場合があり得る。
本実施形態（第３の実施形態）によれば、起動完了時に利用可能となっているべき機能を、ユーザが自由に設定することができる。また、デバイスの取り外しや新たなデバイスの取り付け等により画像形成装置の構成が変化した場合にも、ユーザにより必須デバイスを動的に変更して対応することができる。
【００６３】
具体的には、ＣＰＵ４０がＯＳ６４０等を実行することにより実現される機能実現手段として、操作部４８を介したユーザからの必須デバイスの指定（入力）に基づき、ＮＶＲＡＭ４６が記憶するデバイス情報４６０の初期化完了待ちフラグを更新するデバイス情報更新手段を、コントローラ４が備えるものとすればよい。
【００６４】
なお、一般にユーザは、所望の機能と当該機能に必要なデバイスとの関係を知らないことが多いため、操作部４８を介してユーザから必須デバイスの指定を入力する際には、例えば図６に示す機能テーブルを、操作部４８に備えた液晶パネル等の表示部（不図示）に表示して、ユーザによる必須デバイスの指定を支援することができる。
【００６５】
図６に示す機能テーブルには、最左列から順に、実行可能な機能と、当該機能が依存する依存デバイス、すなわち、当該機能を実行するために必要なデバイスと、現在の設定状態、すなわち、当該機能が起動後のサービス開始直後において使用／未使用のいずれの状態に設定されているかが、示されている。これにより、ユーザは、所望の機能を利用するための必須デバイスを容易に特定して、操作部４８により必須デバイスを指定（入力）することができる。
【００６６】
次に、本発明の第４の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第１の実施形態に係る画像形成装置１において、ユーザが操作部４８を介して、起動後のサービス開始直後において実行可能とすべき機能を指定できるものとし、当該機能の指定に基づいて、その機能を実行するために必要なデバイスを特定すると共に、特定したデバイスを必須デバイスとして、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を更新するものとする。
【００６７】
本実施形態によれば、ユーザは、サービス完了直後に利用したい機能を直接的に指定することができるので、当該機能に必要なデバイスを知らない場合にも、次回起動後のサービス開始直後に所望の機能を利用できるようにすることができる。
【００６８】
具体的には、ＣＰＵ４０がＯＳ６４０等を実行することにより実現される機能実現手段として、操作部４８を介したユーザからの機能の指定（入力）に基づき、当該指定された機能に必要なデバイスを特定し、特定したデバイスを必須デバイスとして、ＮＶＲＡＭ４６が記憶するデバイス情報４６０の初期化完了待ちフラグを更新するデバイス特定更新手段を、コントローラ４が備えるものとすればよい。
【００６９】
次に、本発明の第５の実施形態に係る画像形成装置について説明する。
本画像形成装置では、第３又は第４の実施形態に係る画像形成装置において、ユーザが特定の操作、例えば、電源スイッチ（不図示）と操作部４８が備えるテンキー（不図示）の一つを同時に押下する操作を行ったときに、ＮＶＲＡＭ４６が記憶するデバイス情報４６０の初期化完了待ちフラグ（図３）を、全デバイスについてＯＮに設定して、初期化処理を行うものとする。
【００７０】
本実施形態によれば、ユーザが特定の操作により電源を投入した場合には、全デバイスが必須デバイスとなり、全デバイスの初期化処理の完了を待ってサービスが開始される。このため、当該ユーザは、他のユーザが操作部４８を介して必須デバイス等の指定を入力してデバイス情報４６０を変更した場合でも、上記特定の操作による電源投入により、他のユーザの変更を容易に（手間をかけずに）キャンセルして、サービス開始時には全機能を使用できる状態とすることができる。
【００７１】
図７は、本実施形態に係る画像形成装置の動作手順を示すフロー図である。
本実施形態においては、ユーザによる電源ＯＮ後に、特定操作で電源がＯＮされたか否かを判断し（Ｓ３０２）、特定操作で電源ＯＮされたときは（Ｓ３０２、Ｙｅｓ）、ＮＶＲＡＭ４６が記憶するデバイス情報４６０のコピーをＲＡＭ４４に記憶して退避し（Ｓ３０３）、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を書き換えて、全デバイスの初期化完了待ちフラグ（図３）をＯＮに設定する（Ｓ３０４）。
一方、特定操作で電源ＯＮされなかったときは（Ｓ３０２、Ｙｅｓ）、ステップＳ３０５に処理を移して、図４と同様の処理を行う。
【００７２】
また、全デバイスの初期化完了後は、ＲＡＭ４４にデバイス情報４６０のコピーが記憶されているときは、当該コピーにより、ＮＶＲＡＭ４６が記憶するデバイス情報４６０を書き換えて（Ｓ３１１）、処理を終了する。これにより、ステップＳ３０３においてＲＡＭ４４に記憶させておいたデバイス情報４６０のコピーを用いて、ＮＶＲＡＭ４６が記憶するデバイス情報４６０の内容を元に戻すことができる。
【００７３】
なお、上記以外のステップＳ３０１、Ｓ３０５、Ｓ３０６ａ〜ｎないしＳ３０９ａ〜ｎ、及びＳ３１０については、それぞれ、図４に示すＳ１０１、Ｓ１０２、Ｓ１０３ａ〜ｎないしＳ１０６ａ〜ｎ、及びＳ１０７と同じであるので、図４についての説明を援用する。
【００７４】
以上説明したように、第１ないし第５の実施形態では、サービス開始前に初期化処理の完了を待ち合わせる必須デバイスを、予めデバイス情報４６０の中に記憶させておき、電源投入後の起動時に、各デバイスの初期化処理を開始させた後、デバイス情報４６０を参照して必須デバイスを特定し、全ての必須デバイスの初期化完了を待ってサービスを開始する。これにより、本画像形成装置は、サービス開始直後に限られた機能のみを有効にすることとして起動時間を短縮することができる。
【００７５】
また、サービス開始後も、必須デバイス以外のデバイスの初期化処理を続行し、例えば、サービス開始後のユーザによる入力操作等の間に、全てのデバイスの初期化を完了して、全ての機能を使用可能とすることができる。
【符号の説明】
【００７６】
１・・・画像形成装置、２・・・画像形成手段、４・・・コントローラ、２２・・・プロッタ部、２４・・・スキャナ部、４０・・・ＣＰＵ、４２・・・ＲＯＭ、４４・・・ＲＡＭ、４６・・・ＮＶＲＡＭ、４８・・・操作部、５０・・・ＨＤＤ、５２・・・ネットワーク制御手段、５４・・・画像処理手段、５６・・・ＦＣＵ、４００・・・デバイス初期化手段、４０２・・・サービス実行手段、４６０・・・デバイス情報、６０１・・・ソフトウェア群、６０２・・・アプリケーション群、６０３・・・コントロールサービス群、６２６・・・ＳＣＳ、６３０・・・ＳＲＭ、６４０・・・ＯＳ、６５０・・・ＢＩＯＳ。
【先行技術文献】
【特許文献】
【００７７】
【特許文献１】特開平１０−３０７６４９号公報
【特許文献２】特開２００６−２８９７３４号公報
【図１】
2013016982.tif 000003
【図２】
2013016982.tif 000004
【図３】
2013016982.tif 000005
【図４】
2013016982.tif 000006
【図５】
2013016982.tif 000007
【図６】
2013016982.tif 000008
【図７】
2013016982.tif 000009
【図８】
2013016982.tif 000010