(57)【特許請求の範囲】
【請求項１】
第１記憶手段及び第２記憶手段を有する情報処理装置であって、
前記第１記憶手段に記憶された第１ＯＳを実行する第１ＣＰＵと、
前記第２記憶手段に記憶された第２ＯＳを実行する第２ＣＰＵと、
前記第２ＯＳ上で動作するプログラムを記憶する第３記憶手段とを有し、
前記第１ＣＰＵは、前記第１ＯＳの起動が完了した後に、前記第２ＯＳ上で動作するプログラムを前記第３記憶手段から前記第１記憶手段にロードし、
前記第２ＣＰＵは、前記第２ＯＳの起動が完了した後に、前記第１記憶手段にロードされた前記第２ＯＳ上で動作するプログラムを実行することを特徴とする情報処理装置。
【請求項２】
前記第１ＣＰＵは、前記第１ＯＳの起動が完了した後であって、前記第２ＯＳの起動が完了する前に、前記第２ＯＳ上で動作するプログラムを前記第３記憶手段から第１記憶手段にロードすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１ＯＳは、第４記憶手段に記憶されており、
前記第１ＣＰＵは、前記第４記憶手段に記憶された前記第１ＯＳを前記第１記憶手段にロードして実行することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１ＣＰＵは、前記第２ＯＳ上で動作するプログラムを前記第１記憶手段にロードした後、前記第２ＣＰＵに対して前記第２ＯＳ上で動作するプログラムがロードされた前記第１記憶手段の領域のアドレスを通知し、
前記第２ＣＰＵは、前記第１ＣＰＵから通知されたアドレスによって特定される領域にロードされた、前記第２ＯＳ上で動作するプログラムを実行することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１ＣＰＵは、前記第２ＯＳの起動が完了し、かつ、前記第２ＣＰＵによる前記第２ＯＳ上で動作するプログラムの実行が完了したことに応じて、前記第２ＯＳ上で動作するプログラムがロードされた前記第１記憶手段の領域を解放することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
第１記憶手段及び第２記憶手段を有する情報処理装置の制御方法であって、
第１ＣＰＵが、前記第１記憶手段に記憶された第１ＯＳを実行する工程と、
第２ＣＰＵが、前記第２記憶手段に記憶された第２ＯＳを実行する工程と、
前記第１ＣＰＵが、前記第１ＯＳの起動が完了した後に、前記第２ＯＳ上で動作するプログラムを第３記憶手段から前記第１記憶手段にロードする工程と、
前記第２ＣＰＵが、前記第２ＯＳの起動が完了した後に、前記１記憶手段にロードされた前記第２ＯＳ上で動作するプログラムを実行する工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項７】
第１記憶手段及び第２記憶手段を有する情報処理装置であって、
前記第１記憶手段に記憶された第１ＯＳを実行する第１演算手段と、
前記第２記憶手段に記憶された第２ＯＳを実行する第２演算手段と、
前記第２ＯＳ上で動作するプログラムを記憶する第３記憶手段とを有し、
前記第１演算手段は、前記第１ＯＳの起動が完了した後に、前記第２ＯＳ上で動作するプログラムを前記第３記憶手段から前記第１記憶手段にロードし、
前記第２演算手段は、前記第２ＯＳの起動が完了した後に、前記第１記憶手段にロードされた前記第２ＯＳ上で動作するプログラムを実行することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵを搭載した情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
従来のプログラム組み込み機器のメモリアロケーション方式は、単純な静的メモリアロケーション方式である。この方式では、プログラム全体をハードディスクやＲＯＭ等の補助記憶装置から一旦、メインメモリなどの主記憶装置へコピーし、その主記憶装置上でプログラムを実行していた。これに対して最近は、組み込み機器のオペレーティングシステムに、Windows（登録商標）やＬｉｎｕｘなどの仮想記憶システムを搭載したオペレーティングシステムが採用されるようになってきている。
【０００３】
仮想記憶システムは、ページング技術を使って実装されるのが一般的であり、Windows（登録商標）やＬｉｎｕｘなどのオペレーティングシステムもメモリアロケーション方式にページング方式を採用している。このページング方式に関しての詳しい説明は後述するが、ページング方式は、静的メモリアロケーション方式に比べて、
１．空きメモリを有効に使用することができる。
２．搭載メモリ量より多くのメモリ空間を利用できる。
等のメリットがある反面、実行が遅いというデメリットがある。
【０００４】
それは、ページング方式が、「プログラムの全体」をハードディスクなどの補助記憶装置に置いたまま、頻繁に使用する「プログラムの一部分」だけを主記憶装置上に置いておく方式であるためである。このような方式では、ＣＰＵが主記憶装置上に置かれていない「プログラムのその他の部分」を実行しようとすると、その都度、これから実行しようとする「プログラムの部分」を補助記憶装置から主記憶装置にロードする処理が発生する。この処理をページインと呼ぶ。このページインが発生する単位は４ｋバイト（オペレーティングシステムによって異なるが、Ｌｉｎｕｘのデフォルトは４ｋバイト）である。このため、プログラムを実行する際、補助記憶装置に対して４ｋバイトのランダムアクセスリードが発生することになる。
【０００５】
ここで、静的メモリアロケーション方式とページング方式について簡単に説明する。
【０００６】
静的メモリアロケーション方式では、ハードディスクからプログラムの部分の全部をまとめて物理メモリ上へロードしておく。この静的メモリアロケーション方式を採用するアーキテクチャでは仮想メモリ空間と物理メモリ空間の区別がない場合が多い。そしてＣＰＵが、例えば「プログラムのＣの部分」を実行しようとした際には、プログラムの全体が物理メモリ上に配置されているため、即座に、そのプログラムを実行することができるようにしたものである。
【０００７】
これに対してページング方式は、仮想記憶システムにおいて、物理メモリ空間、仮想メモリ空間を、一定のページ単位に分割し、管理する方式である。これはWindows（登録商標）やＬｉｎｕｘなどの汎用オペレーティングシステムに採用されている。例えば、Ｌｉｎｕｘの場合は、１ページ当たりのサイズは４Ｋバイトとなっている。このように、データファイルや実行プログラムの全体を物理メモリに配置せずに、プログラムの一部分（ページ単位）だけを物理メモリ上に配置して、仮想メモリに割り付ける方式である。そしてＣＰＵが仮想メモリのページにアクセスした際、その仮想メモリのページに物理メモリのページが割り付けられていない場合は、補助記憶装置から物理メモリへのページの読み込みが発生する。この処理をページインと呼ぶ。このように物理メモリに格納されていないプログラムを実行しようとするとページフォルト割り込みが発生する。そして、このページフォルト割り込みで、物理メモリの空きページを検索するルーチンが実行され、物理メモリ上で使用されていない空きページを検索する。そして空きページが見つかると、ハードディスクから、そのプログラムをその空きページにロードする。そして物理メモリ上のプログラムの部分と仮想メモリ上のプログラムの部分とを割り付ける作業を行った後、ページフォルト割り込み処理から通常処理へ復帰し、ＣＰＵは仮想メモリ上のプログラムを実行することができるようになる。
【０００８】
補助記憶装置の中でも、特にハードディスクはランダムアクセス速度が遅いことが知られている。従って、プログラムをハードディスクに格納していると、静的メモリアロケーション方式に比べてページング方式での実行速度が低下してしまう。従って、通常動作時には、ページング方式のメリットを利用したいが、起動時や省電力モードから復帰する際には、とにかく高速に起動し、高速に省電力モードから復帰したいという要望がある。
【特許文献１】特開２００７−３５０６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献１には、主記憶装置上にラムディスクのようなファイルシステムを構築し、システムの初期化時に、予め補助記憶装置のプログラムを、そのラムディスクにコピーしておくことが記載されている。
【００１０】
しかしながら、仮想記憶システムの特性上、実行しているプログラムを途中で削除したり移動することができないため、システムの稼動中は、ラムディスク或はラムディスクにコピーしたプログラムを削除できない。こうして主記憶装置の一部がラムディスクとして常に使用されてしまい、システムが使用できる主記憶装置の空き容量が減ってしまうという弊害が発生する。このようなプログラムは、例えば複合機に使用されるプログラムで１００メガバイトを超えるものもあり、このようなプログラムを常時、主記憶装置上に保存しておくのは主記憶装置のメモリの使用効率の点からも好ましくない。
【００１１】
本発明の目的は、上記従来技術の問題点を解決することにある。
【００１２】
本願発明の特徴は、起動に要する時間を短縮することにある。また、ページング方式のメリットを利用しつつ、起動時或は省電力モードから高速に復帰する技術を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
第１記憶手段及び第２記憶手段を有する情報処理装置であって、
前記第１記憶手段に記憶された第１ＯＳを実行する第１ＣＰＵと、
前記第２記憶手段に記憶された第２ＯＳを実行する第２ＣＰＵと、
前記第２ＯＳ上で動作するプログラムを記憶する第３記憶手段とを有し、
前記第１ＣＰＵは、前記第１ＯＳの起動が完了した後に、前記第２ＯＳ上で動作するプログラムを前記第３記憶手段から前記第１記憶手段にロードし、
前記第２ＣＰＵは、前記第２ＯＳの起動が完了した後に、前記第１記憶手段にロードされた前記第２ＯＳ上で動作するプログラムを実行することを特徴とする。
【００１４】
上記目的を達成するために本発明の一態様に係る情報処理装置の制御方法は以下のような工程を備える。即ち、
第１記憶手段及び第２記憶手段を有する情報処理装置の制御方法であって、
第１ＣＰＵが、前記第１記憶手段に記憶された第１ＯＳを実行する工程と、
第２ＣＰＵが、前記第２記憶手段に記憶された第２ＯＳを実行する工程と、
前記第１ＣＰＵが、前記第１ＯＳの起動が完了した後に、前記第２ＯＳ上で動作するプログラムを第３記憶手段から前記第１記憶手段にロードする工程と、
前記第２ＣＰＵが、前記第２ＯＳの起動が完了した後に、前記１記憶手段にロードされた前記第２ＯＳ上で動作するプログラムを実行する工程と、
を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、起動に要する時間を短くできる。
【００１６】
またページング方式において、ページイン処理が発生した際に、起動中であれば主記憶装置上から高速に起動できる。また通常動作中であれば、補助記憶装置からのページイン処理を実行するため、主記憶装置にコピーされていたプログラムを削除できる。これにより主記憶装置のメモリの空き領域を確保できる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１８】
本発明の実施の形態を詳しく説明する前に、本実施の形態の特徴について簡単に説明する。
【００１９】
本実施の形態に係る画像入出力装置（複合機や情報処理装置）では、主記憶装置（メインメモリ）上に、予め補助記憶装置（ＨＤＤ等）のプログラムをコピーしておく。また、「起動中或は省電力モードからの復帰中」か、「通常動作中」の状態を判別できるフラグを用意しておく。
【００２０】
そしてページング方式において、ページイン処理が発生した場合は、そのフラグを参照し、「起動中或は省電力モードからの復帰中」であれば、主記憶装置にコピーしたプログラムからページイン処理を実行する。一方、「通常動作中」であれば、補助記憶装置内からページイン処理する。これにより、「起動中或は省電力モードからの復帰中」の場合は、ページイン処理でランダムアクセスがボトルネックにならない主記憶装置から高速に起動することが可能となる。またシステムの通常動作中の場合は補助記憶装置からのページインであるため、主記憶装置上に格納されているプログラムは削除できる。これによりシステムが使用できる主記憶装置の空き容量が減ってしまうという弊害も発生しない。
【００２１】
更に、２つ以上のＣＰＵを搭載したシステムにおいて、第一ＣＰＵによる高速なＯＳ（第一ＯＳ：ＬｉｔｅＯＳ）の起動の完了後、第二ＣＰＵによる、ページング方式を利用したＯＳ（ＨｅａｖｙＯＳ）の起動完了を待機する状態となる。この待機中に、補助記憶装置内のＨｅａｖｙＯＳ（第二ＯＳ）用プログラムを主記憶装置の特定の番地にコピーする処理を行う。これにより、ＨｅａｖｙＯＳの起動時間をさらに短縮することができる。
【００２２】
図１は、本発明の実施の形態に係るコントローラが搭載された画像入出力装置（情報処理装置）１００の機能構成を示すブロック図である。尚、この実施の形態では、この画像入出力装置は、コピー機能、ファクシミリ機能、プリンタ機能等を有する複合機の場合で説明するが、本発明はこれに限定されるものではない。
【００２３】
この画像入出力装置１００は、イーサネット（登録商標）等のＬＡＮ６００を介してホストコンピュータ（本実施の形態では第一のホストコンピュータ６０１、第二のホストコンピュータ６０２）に接続されている。この画像入出力装置１００は、画像データの読取処理を行うリーダ装置（リーダ部）２００と、画像データの印刷処理を行うプリンタ装置（プリンタ部）３００、操作部１５０、画像記憶部１６０及びこれらを制御するコントローラ１１０とを有している。操作部１５０は、画像データの入出力操作を行うキーボード及び画像データや各種機能の表示／設定などを行う液晶パネルとを備える。画像記憶部１６０は、リーダ部２００を制御して読み込んだ画像データや、ＬＡＮ６００を介してホストコンピュータ６０１、６０２より受信したコードデータから生成される画像データを格納／保存する。コントローラ１１０は、これら各構成要素に接続され、これら構成要素を制御する。
【００２４】
リーダ部２００は、原稿を搬送する原稿給紙ユニット２５０と、原稿を光学的に読み取って電気信号としての画像データに変換するスキャナユニット２１０とを有している。またプリンタ部３００は、シートを収容する複数段の給紙カセットを備えた給紙ユニット３１０と、画像データをシートに転写／定着するマーキングユニット３２０を有している。更に、印刷されたシートにソート処理やステイプル処理を施して外部に排出する排紙ユニット３３０を有している。
【００２５】
コントローラ１１０は、リーダ部２００を制御して原稿の画像データを読込み、プリンタ部３００を制御して、その画像データをシートに印刷するコピー機能を提供する。また、リーダ部２００から読取った画像データをコードデータに変換し、ネットワーク６００を介してホストコンピュータ６０１（６０２）へ送信するスキャナ機能を有している。またホストコンピュータからネットワーク６００を介して受信したコードデータを画像データに変換し、プリンタ部３００に出力して印刷するプリンタ機能やその他の機能ブロックを有している。
【００２６】
図２は、本発明の実施の形態に係る画像入出力装置のコントローラ１１０の構成を説明するブロック図である。尚、前述の図１と共通する部分は同じ記号で示し、それらの説明を省略する。
【００２７】
このコントローラ１１０は２つのＣＰＵ（ＣＰＵ−Ａ（第一ＣＰＵ）２０１，ＣＰＵ−Ｂ（第二ＣＰＵ）２０２）で制御されている。バスブリッジ２０３は、これら２つのＣＰＵ２０１，２０２のバスを仲介している。２０４はＤＲＡＭ−Ｂ（第二記憶手段）、２０５はＤＲＡＭ−Ａ（第一記憶手段）、２０６はハードディスクコントローラ、２０７はハードディスク（第三記憶手段）、２０８はＲＯＭ、２０９は不揮発メモリである。また２１１は画像処理部、２１２はレンダリング部、２１４はディスプレイリスト生成部、２１５はネットワーク受信部である。
【００２８】
図２において、ＣＰＵ−Ａ２０１は、ローカルバスを介してＤＲＡＭ−Ａ２０５を接続している。またＣＰＵ−Ｂ２０２のローカルバスには、ＤＲＡＭ−Ｂ２０４が接続されている。ハードディスク（ＨＤＤ）２０７は、ハードディスクコントローラ２０６を介してＣＰＵ−Ａ２０１と接続されており、ＣＰＵ−Ａ２０１はハードディスク２０７からのデータの読出しやデータの書き込みを行うことができる。ＲＯＭ２０８はＣＰＵ−Ａ２０１のＲＯＭバスに接続されており、ＣＰＵ−Ａ２０１からアクセス可能である。またＣＰＵ−Ａ２０１は、バスブリッジ２０３とＰＣＩ−ＥＸバス等を介してＣＰＵ−Ｂ２０２と接続されている。これによりＣＰＵ−Ｂ２０２は、バスブリッジ２０３からＰＣＩ−ＥＸバス、ハードディスクコントローラ２０６を介してＨＤＤ２０７にアクセスできる。従ってＣＰＵ−Ｂ２０２は、ＨＤＤ２０７へのデータの書き込みや、ＨＤＤ２０７からデータの読み出しを行うことができる。このように図２は、ＨＤＤ２０７に対してＣＰＵ−Ａ２０１，ＣＰＵ−Ｂ２０２がアクセスできることを示している。
【００２９】
画像処理部２１１、レンダリング部２１２、リーダ部２００、プリンタ部３００、ディスプレイリスト生成部２１４、及びネットワーク受信部２１５に関しては後述する。
【００３０】
図３は、本実施の形態に係る画像入出力装置のコントローラ１１０における接続形態を説明するブロック図である。この図３では、前述の図面と共通する部分は同じ記号で示し、それらの説明を省略する。図３は、ＣＰＵ−Ｂ２０２が、バスブリッジ２０３からＰＣＩ−ＥＸバスなどを介してＤＲＡＭ−Ａ２０５にもアクセスできることを示している。
【００３１】
図３では、ＣＰＵ−Ａ２０１は、ローカルバスを介してＤＲＡＭ−Ａ２０５を接続しており、またＣＰＵ−Ｂ２０２は、ローカルバスを介してＤＲＡＭ−Ｂ２０４を接続している。よって、ＣＰＵ−Ａ２０１は、ＤＲＡＭ−Ａ２０５に対して読み書きが可能であり、ＣＰＵ−Ｂ２０２はＤＲＡＭ−Ｂ２０４に対して読み書きが可能である。またＣＰＵ−Ｂ２０２はバスブリッジ２０３からＰＣＩ−ＥＸバスなどを介してＤＲＡＭ−Ａ２０５にもアクセス可能である。
【００３２】
図４は、本実施の形態に係る画像入出力装置がＰＣからプリントデータを受信して印刷する場合のデータの流れを説明する図である。この図４では、前述の図面と共通する部分は同じ記号で示し、それらの説明を省略する。
【００３３】
４０１では、ＰＣ６０１からＬＡＮ６００を通して送信されたプリントデータ（ＰＤＬデータ）を、ネットワーク受信部２１５により受信する。このＰＣ６０１から送信されたプリントデータは、通常、ＰＳ（ポストスクリプト）形式等のプリンタ制御言語で記述されている。次に４０２で、そのプリントデータは、ＣＰＵ−Ｂ２０２の制御の下にＤＲＡＭ−Ｂ２０４へ格納される。
【００３４】
４０３では、ＤＲＡＭ−Ｂ２０４へ格納したプリンタ制御言語のプリントデータに対し、ＣＰＵ−Ｂ２０２のソフトウェア処理、或はディスプレイリスト生成部２１４による処理により、プリンタ制御言語からディスプレイリストを生成する。このディスプレイリストは、描画実行時に効率的に処理できるように描画に関するコマンド群を一纏めに記述しリスト化した描画命令のセットのことである。
【００３５】
次に４０４で、ＣＰＵ−Ａ２０１により、そのディスプレイリストをＤＲＡＭ−Ａ２０５に転送して格納する。次に４０５で、レンダリング部２１２によって、ＤＲＡＭ−Ａ２０５に格納されたディスプレイリストのプリントデータをレンダリング処理してラスターイメージデータに変換する。こうしてラスターイメージデータに変換されたデータは、ＤＲＡＭ−Ａ２０５に再び格納される。
【００３６】
そして最後に４０６で、ＤＲＡＭ−Ａ２０５に格納されたラスターイメージデータをプリンタ部３００に出力して印刷する。
【００３７】
図５は、本実施の形態に係る画像入出力装置のリーダ部２００で読み取ったデータを印刷する場合のデータの流れを説明する図である。この図５では、前述の図面と共通する部分は同じ記号で示し、それらの説明を省略する。
【００３８】
５０１で、リーダ部２００で読み取った原稿データを入力して、５０２で、ＤＲＡＭ−Ａ２０５へ格納する。次に５０３で、ＤＲＡＭ−Ａ２０５に格納した画像データに対し、回転、変倍、２値化等の画像処理を行う。こうして画像処理がなされた画像データを再びＤＲＡＭ−Ａ２０５に保存する。次に５０４で、ＣＰＵ−Ａ２０１は、その画像処理を実施した画像データをプリンタ部３００に出力して印刷する。
【００３９】
このようなレンダリング処理や画像処理には非常に多くのメモリエリアを使用する。従って、ＤＲＡＭ−Ａ２０５、ＤＲＡＭ−Ｂ２０４は大容量である程良く、このメモリ容量はコストとのトレードオフとなる。前述したように、ＤＲＡＭ−Ａ２０５にラムディスクのようなファイルシステムを構築し、予めＨＤＤ２０７のプログラムをラムディスクにコピーしておけば、プログラムの高速起動が実現される。しかしながらＤＲＡＭ−Ａ２０５の一部をラムディスクとして常に使用するため、システムが使用できるメモリ容量が減ってしまうという弊害が発生する。
【００４０】
そこで本実施の形態では、起動時には、ＤＲＡＭ−Ａ２０５を、高速起動用に、ＨＤＤ２０７のプログラムを格納するために使用する。また通常の動作時には、ＤＲＡＭ−Ａ２０５を画像処理やレンダリング用のメモリエリアとして使用することが特徴である。
【００４１】
図６は、本実施の形態に係る画像入出力装置におけるプログラムの切り換え処理を説明する図である。この図６では、前述の図面と共通する部分は同じ記号で示し、それらの説明を省略する。
【００４２】
ここではＲＯＭ２０８は、ＬｉｔｅＯＳ（第一ＯＳ）６０９と、ＬｉｔｅＯＳ上で動作するプログラム６１０を含んでいる。
【００４３】
またハードディスク（ＨＤＤ）２０７は、ＨｅａｖｙＯＳ（第二ＯＳ）６１１、ＨｅａｖｙＯＳ上で動作するプログラム６１２、ＨｅａｖｙＯＳのカーネルローダ６１３を有している。また６１５は、不揮発メモリ２０９に格納されたＨｅａｖｙＯＳのカーネルローダである。
【００４４】
ここでもＣＰＵ−Ａ２０１は、ローカルバスを介してＤＲＡＭ−Ａ２０５と接続されており、ＣＰＵ−Ｂ２０２はローカルバスを介してＤＲＡＭ−Ｂ２０４と接続されている。ハードディスク２０７は、ハードディスクコントローラ２０６を介してＣＰＵ−Ａ２０１と接続されている。よって、ＣＰＵ−Ａ２０１からハードディスク２０７へのアクセスが可能である。ＣＰＵ−Ａ２０１は、バスブリッジ２０３からＰＣＩ−ＥＸバスなどを介してＣＰＵ−Ｂ２０２と接続されている。またＲＯＭ２０８は、ＣＰＵ−Ａ２０１のＲＯＭバスに接続されており、ＣＰＵ−Ａ２０１からアクセス可能である。
【００４５】
このＲＯＭ２０８は、ＬｉｔｅＯＳのＯＳ６０９と、そのＯＳ上で動作するプログラム６１０を格納している。ＬｉｔｅＯＳ６０９は、この実施の形態では、ｖｘＷｏｒｋｓのような組み込みＯＳであるとする。またプログラム６１０（第一プログラム）は、ＬｉｔｅＯＳ６０９上で動作し、リーダ部２００から読み込まれた原稿データを画像処理部２１１により画像処理させるなどの制御を行う。また或は、前述したディスプレイリストをレンダリング部２１２によりレンダリングさせるなどの制御処理を行う、主に画像処理に特化したソフトウェアである。
【００４６】
ハードディスク２０７には、ＨｅａｖｙＯＳのＯＳ６１１と、そのＯＳ６１１で動作するプログラム６１２が格納されている。ＨｅａｖｙＯＳ６１１は、この実施の形態では、例えばＬｉｎｕｘのような汎用ＯＳである。Ｌｉｎｕｘの場合、ＨｅａｖｙＯＳ６１１は、Ｌｉｎｕｘのカーネルとなり、プログラム６１２（第二プログラム）は、Ｌｉｎｕｘ上で動作するプログラムとなる。プログラム６１２は、ネットワーク受信部２１５で受信したプリンタ制御言語のプリントデータを、ディスプレイリスト生成部２１４で処理させる等の処理を行うソフトウェアである。またディスプレイリスト生成を行うプログラムそのものであっても良い。このように、このプログラム６１２は、ユーザから投入されたプリントデータの制御やコピージョブの制御などのように、複写機としての制御を主に行うプログラムである。
【００４７】
ＣＰＵ−Ａ２０１は、ＲＯＭ２０８からＬｉｔｅＯＳ６０９及びプログラム６１０をＤＲＡＭ−Ａ２０５上にロードして実行することにより動作する。
【００４８】
不揮発メモリ２０９は、バスブリッジ２０３を介してＣＰＵ−Ｂ２０２と接続されている。そして通常ＣＰＵ−Ｂ２０２は、不揮発メモリ２０９のＨｅａｖｙＯＳカーネルローダ６１５により、ＨｅａｖｙＯＳ６１１をＤＲＡＭ−Ｂ２０４にロードして起動する。なお、ＨｅａｖｙＯＳカーネルローダ６１５は、ハードディスク２０７に記憶されるようにしても良い。その場合、ＣＰＵ−Ｂ２０２は，ハードディスク２０７のＨｅａｖｙＯＳカーネルローダ６１３により、ＨｅａｖｙＯＳ６１１をＤＲＡＭ−Ｂ２０４にロードして起動する。通常、ＨｅａｖｙＯＳカーネルローダ６１３，６１５は、どちらか片方あればよい。
【００４９】
図７は、本実施の形態に係る画像入出力装置における起動時の動作を示すタイムチャートである。尚、図において、横軸は時間、縦軸はＣＰＵ−Ａ２０１及びＣＰＵ−Ｂ２０２の動作を示している。
【００５０】
装置が起動されると７０１で、ＣＰＵ−Ａ２０１は、ＲＯＭ２０８のＬｉｔｅ−ＯＳ６０９（例としてｖｘＷｏｒｋｓ）を起動する。次に７０２で、ＣＰＵ−Ａ２０１はＲＯＭ２０８のＬｉｔｅ−ＯＳ上で動作するプログラム６１０を起動する。そして７０３で、ＣＰＵ−Ａ２０１は、ＣＰＵ−Ｂ２０２がＨｅａｖｙ−ＯＳ上で使用するプログラム６１２を格納するメモリ領域をＤＲＡＭ−Ａ２０５に確保する。そして７０４で、７０３で確保したＤＲＡＭ−Ａ２０５のメモリ領域に対して、ハードディスク２０７から、そのプログラム６１２をロードする。次に７０５で、プログラム６１２をロードしたメモリのアドレスをＣＰＵ−Ｂ２０２に通知する。７０６は、ＣＰＵ−Ｂ２０２が起動するまでの待ち時間（待機時間）である。
【００５１】
一方、ＣＰＵ−Ｂ２０２は、７１０で、不揮発メモリ２０９のカーネルローダ６１５によりＨｅａｖｙＯＳ６１１のカーネルをＤＲＡＭ−Ｂ２０４にロードする。そして７１１で、そのカーネルの起動を行う。このカーネルは静的メモリアロケーション方式で実行される。次に７１２で、ＣＰＵ−Ｂ２０２が管理しているソフトウェアフラグ「起動中フラグ」をオンにする。次に７１３で、ＣＰＵ−Ｂ２０２は、ＤＲＡＭ−Ａ２０５のＨｅａｖｙ−ＯＳ上で動作するプログラム６１２（初期化処理）を実行する。このプログラムは、ページング方式で動作するため、ＤＲＡＭ−Ａ２０５へのランダムアクセスが発生するが、ＤＲＡＭはランダムアクセスリードが高速であるため、そのプログラムの実行速度は低下しない。そして、このプログラムの実行（初期化処理）が終了すると７１４で、７１２でオンした「起動中フラグ」をオフにする。そして７１５で、ＣＰＵ−Ｂ２０２からＣＰＵ−Ａ２０１に起動完了を通知する。
【００５２】
この起動完了通知を受けたＣＰＵ−Ａ２０１は、７０７で、７０３で確保したメモリ領域を解放する。そして７０８，７１６でＣＰＵ−Ａ２０１とＣＰＵ−Ｂ２０２がネゴシエーションを行い、７１７で起動完了となる。
【００５３】
この７１７における起動完了は、ＣＰＵ−Ａ２０１，ＣＰＵ−Ｂ２０２の両ＣＰＵが起動完了し、ネゴシエーションを行った時点で完了となる。
【００５４】
以上の処理をまとめると以下のようになる。
（１）ＣＰＵ−Ａ２０１のローカルバスに接続された、ランダムアクセスが高速なＤＲＡＭ−Ａ２０５に、予め、ＣＰＵ−Ｂ２０２が使用するプログラムをコピーしておく。これにより起動時に、ＣＰＵ−Ｂ２０２がプログラムを実行する時間を短縮できる。これによりランダムアクセスによるリードが遅いハードディスクにＣＰＵ−Ｂ２０２がアクセスする必要がないので、処理時間を短くできる。
（２）ＣＰＵ−Ａ２０１のローカルバスのＤＲＡＭ−Ａ２０５にＣＰＵ−Ｂ２０２が使用するプログラムをコピーしておく作業を、ＣＰＵ−Ａ２０１がＣＰＵ−Ｂ２０２の起動を待っている待ち時間７０６にＣＰＵ−Ａ２０１が実行する。このため、より起動時間を短縮することができる。
【００５５】
図８は、本実施の形態に係る画像入出力装置と、従来技術のシステム起動時間との比較例を示すタイムチャートである。尚、この図８では、ＣＰＵ−Ｂ２０２の動作のみを示している。ここでは横軸は時間、縦軸は、上側が従来技術におけるＣＰＵ−Ｂの処理時間、下側が本実施の形態に係るＣＰＵ−Ｂ２０２の起動時間を示している。また図８では図７と共通する部分は同じ記号で示し、その説明を省略している。
【００５６】
８０１は、ハードディスク２０７のプログラムを実行する場合の時間を示す。８０２は、ＤＲＡＭ−Ａ２０５がＤＲＡＭに格納されたプログラムを実行する時間を示している。本実施の形態に係る装置の起動完了タイミングは８０３であり、従来技術におけるシステム全体の起動完了は８０４である。このようにハードディスクのプログラムを実行する場合の時間８０１が、ＤＲＡＭ−Ａ２０５のプログラムを実行する時間８０３に減少し、８０５で示す時間分だけ起動時間が短縮していることが分かる。
【００５７】
図９は、本実施の形態に係る画像入出力装置における起動処理の前半を説明する説明図である。
（１）起動時にＣＰＵ−Ａ２０１は、ローカルバスを介して接続したＤＲＡＭ−Ａ２０５に、ＣＰＵ−Ｂ２０２が使用するプログラムを格納する領域を確保する（例として、０ｘ１０００００番地〜）。
（２）次に９０１で、ハードディスク２０７からプログラムの一部分Ａ〜Ｅを、ＤＲＡＭ−Ａ２０５の確保された領域にコピーする。これによりＤＲＡＭ−Ａ２０５には、プログラムの一部分Ａ〜Ｅが格納される。
（３）次に９０２で、ＣＰＵ−Ａ２０１は、ＤＲＡＭ−Ａ２０５にコピーした領域の先頭アドレス（０ｘ１０００００）をＣＰＵ−Ｂ２０２に通知する。
（４）これによりＣＰＵ−Ｂ２０２は、その通知を受けると、ＣＰＵ−Ｂ２０２上で動作するのデバイスアクセスドライバに、そのアドレス（０ｘ１０００００）を通知する。そしてソフトウェアフラグ「起動中フラグ」をオンにする。
【００５８】
この後、ＣＰＵ−Ｂ２０２は、ＤＲＡＭ−Ａ２０５上のプログラムを実行することができる。
【００５９】
図１０は、本実施の形態に係る画像入出力装置における起動処理の後半を説明する説明図である。
【００６０】
ここではＣＰＵ−Ｂ２０２によりＤＲＡＭ−Ａ２０５のプログラムが実行され、初期化処理が完了した後にＣＰＵ−Ａ２０１が行う動作を説明している。
（１）ＣＰＵ−Ｂ２０２は、ＤＲＡＭ−Ａ２０５上のプログラムの実行（初期化処理）が完了すると、「起動中フラグ」をオフにして起動完了をＣＰＵ−Ａ２０１に通知する（１００１）。
（２）ＣＰＵ−Ａ２０１は、この通知を受け取ると、ＤＲＡＭ−Ａ２０５に確保しておいた領域（０ｘ１０００００番地〜）を解放する（１００２）。これにより起動時に確保されたＤＲＡＭ−Ａ２０５のメモリ領域が解放され、他のプログラムやデータなどが格納可能となる。
【００６１】
図１１は、本実施の形態に係る画像入出力装置の起動時におけるＣＰＵ−Ａ２０１の動作を示すフローチャートである。
【００６２】
この処理は起動処理により開始され、先ずステップＳ１０１で、ＣＰＵ−Ａ２０１の起動が開始される。ＣＰＵ−Ａ２０１が起動すると、次にステップＳ１０２で、ＣＰＵ−Ａ２０１はＲＯＭ２０８のＬｉｔｅ−ＯＳ（例としてｖｘＷｏｒｋｓ）６０９を起動する。次にステップＳ１０３に進み、ＣＰＵ−Ａ２０１は、ＲＯＭ２０８のＬｉｔｅ−ＯＳ上で動作するプログラム６１０を起動する。こうしてプログラムの初期化動作が完了した時点でＣＰＵ−Ａ２０１の起動は完了となる（ステップＳ１０４）。
【００６３】
次にステップＳ１０５に進み、ＣＰＵ−Ａ２０１は、ＣＰＵ−Ｂ２０２がＨｅａｖｙ−ＯＳ上で使用するプログラムを格納するメモリ領域をＤＲＡＭ−Ａ２０５に確保する。そしてステップＳ１０６で、その確保したＤＲＡＭ−Ａ２０５のメモリ領域に対して、ハードディスク２０７からプログラムをロードする。そしてステップＳ１０７で、ステップＳ１０６でプログラムをロードしたメモリのアドレスをＣＰＵ−Ｂ２０２に通知する。そしてステップＳ１０８で、ＣＰＵ−Ｂ２０２からの起動完了通知を待つ。ステップＳ１０９で、ＣＰＵ−Ｂ２０２からの起動完了通知を受信するとステップＳ１１０に進み、ステップＳ１０５で確保したＤＲＡＭ−Ａ２０５の領域を解放する。そしてステップＳ１１１でＣＰＵ−Ｂ２０２とネゴシエーション処理を行い、ステップＳ１１２で、システム全体の起動が完了する。
【００６４】
図１２は、本実施の形態に係る画像入出力装置の起動時におけるＣＰＵ−Ｂの動作を示すフローチャートである。
【００６５】
この処理は装置の起動開始により開始され、先ずステップＳ２０１で、ＣＰＵ−Ｂ２０２が起動を開始する。ＣＰＵ−Ｂ２０２が起動するとステップＳ２０２に進み、不揮発メモリ２０９のカーネルローダ６１５により、ハードディスク２０７のカーネルローダ６１３をＤＲＡＭ−Ｂ２０４にロードする。次にステップＳ２０３に進み、その起動を開始する。ここでカーネルローダ６１３は、前述した静的メモリアロケーション方式で実行される。次にステップＳ２０４に進み、ＣＰＵ−Ａ２０１がＣＰＵ−Ｂ用のプログラムをロードした、ＣＰＵ−Ａ２０１からのアドレスの通知（図１１のステップＳ１０７で発行された）を待つ。アドレスが通知されるとステップＳ２０５に進み、ＣＰＵ−Ｂ２０２が管理しているソフトウェアフラグ「起動中フラグ」をオンにする。次にステップＳ２０６に進み、ＣＰＵ−Ｂ２０２は、ＤＲＡＭ−Ａ２０５のＨｅａｖｙ−ＯＳ上で動作するプログラム（初期化処理）６１２を実行する。そしてステップＳ２０７で、そのプログラムの実行（初期化処理）が終了するとＣＰＵ−Ｂ２０２の起動が完了する。そしてＣＰＵ−Ｂ２０２の起動が完了した旨をＣＰＵ−Ａ２０１に通知する。そしてステップＳ２０８で、「起動中フラグ」をオフにする。次にステップＳ２０９で、ＣＰＵ−Ａ２０１とネゴシエーション処理を行い、ステップＳ２１０で、全体の起動が完了する。
【００６６】
図１３は、本実施の形態に係る画像入出力装置において、ＣＰＵ−Ｂ２０２でプログラムが実行された際の説明図である。
【００６７】
図において、１３０２は仮想メモリ、１３０１は物理メモリ、ＨＤＤマップは、ハードディスク２０７に格納されているプログラムのマップを示す。１３１１はページフォールト割り込み、１３１２は、物理メモリ１３０１の空きページ検索ルーチンである。１３１４はプログラムローダ、１３１５はデバイスアクセスドライバである。１３１８は起動中フラグである。なお、ここで物理メモリは、例えば前述のＤＲＡＭ−Ｂ２０４（第二メモリ領域）に相当している。
１．起動時
起動時には、起動中フラグ１３１８はオンになっている。この起動時にＣＰＵ−Ｂ２０２がＨｅａｖｙＯＳ上で動作するプログラム６１２を実行する場合について説明する。
（１）ＣＰＵ−Ｂ２０２が「仮想メモリ１３０２のプログラムのＣの部分」を実行しようとする。
（２）ここでは、プログラムのＣの部分は物理メモリ１３０１にロードされていない。よってページイン処理が発生する。
（３）このページイン処理では、ＣＰＵ−Ｂ２０２が「仮想メモリ１３０２上のプログラムのＣの部分」を実行しようとして、ページフォルト割り込み１３１１が発生する。
（４）このページフォルト割り込み１３１１により、物理メモリ１３０１の空きページを検索するルーチンが実行され、物理メモリ１３０１で使用されていない空きページを検索する。ページサイズはＬｉｎｕｘなどでは４Ｋバイトである。
（５）ここで物理メモリ１３０１にプログラムＣをロードする空きエリア１３００が見つかると、プログラムローダ１３１４は、デバイスアクセスドライバ１３１５へアクセスし、プログラムのＣの部分をリードして物理メモリ１３０１にロードする。
（６）このときデバイスアクセスドライバ１３１５は、起動中フラグ１３１８を参照する。そして起動時（起動中フラグ１３１８がオン）であれば、メモリアクセスドライバを介して、ＤＲＡＭ−Ａ２０５（第一メモリ領域）の「プログラムのＣの部分」を読み込む（１３１６）。そしてプログラムローダ１３１４は、その読み込んだ「プログラムのＣの部分」を「空きページ（Ｃをロードする位置）」１３００へロードする。この際、メモリアクセスドライバは、図９の９０２で通知された「プログラムを格納するＤＲＡＭ−Ａ２０５の番地情報」を用いて、プログラムＣの部分のメモリアドレスを特定する。
（７）こうしてプログラムのＣの部分を物理メモリ１３０１にロードした後（ロード完了後）、「物理メモリ１３０１上のプログラムのＣの部分」と、「仮想メモリ１３０２のプログラムのＣの部分」を割り付ける。その後、ページフォルト割り込みは、割り込み処理から通常処理へ復帰する。
（９）こうしてＣＰＵ−Ｂ２０２は「仮想メモリ１３０２のプログラムのＣの部分」を実行することができるようになる。
【００６８】
このようにして、ＣＰＵ−Ｂ２０２の起動時、ＣＰＵ−Ｂ２０２はＤＲＡＭ−Ａ２０５にロードされたプログラムを実行するため、ページインによるランダムアクセスリードが発生しても高速に起動することができる。
２．通常動作時
起動処理が完了した後、図１０に示したように、ＣＰＵ−Ｂ２０２は「起動中フラグをオフ」にして通常動作モードに入る。この通常動作時にＣＰＵ−Ｂ２０２がＨｅａｖｙＯＳ上で動作するプログラム６１２を実行する場合は以下のようになる。
（１）〜（５）までは起動時と同様。
（６）デバイスアクセスドライバ１３１５は、起動中フラグ１３１８を参照する。通常動作時は起動中フラグ１３１８がオフであるので、ハードディスクアクセスドライバを介して、ハードディスク２０７上の「プログラムのＣの部分」を読み込む（１３１７）。プログラムローダ１３１４は、こうして読み込んだ「プログラムのＣの部分」を「空きページ（Ｃをロードする位置）１３００」へロードする。この際の、ハードディスクアクセスドライバの動作は、通常のページング方式の動作と同様である。
【００６９】
このように通常動作時には、ＤＲＡＭ−Ａ２０５のプログラムに対してアクセスが発生しないため、起動中フラグ１３１８をオフにしている間は、図１０で示すように、図９で確保していたメモリの領域を解放してもかまわない。これにより、通常動作時には、ＤＲＡＭ−Ａ２０５のメモリエリアをＣＰＵ−Ａ２０１が有効に利用できる。
【００７０】
図１４は、本実施の形態に係る画像入出力装置において、ＣＰＵ−Ｂ２０２でプログラムが実行された際の処理を説明するフローチャートである。
【００７１】
先ずステップＳ３０１で、ＣＰＵ−Ｂ２０２は、プログラムのある部分を実行しようとする。次にステップＳ３０２で、ＣＰＵ−Ｂ２０２が実行しようとしているプログラムの部分が物理メモリ１３０１に割り付けられているかを判定する。ここで割付けられていればステップＳ３１１に進み、その実行しようとしていたプログラム部分を実行して実行完了となる。
【００７２】
一方ステップＳ３０２で、ＣＰＵ−Ｂ２０２が実行しようとしているプログラムの部分が物理メモリ１３０１に割り付けられていなければステップＳ３０３に進み、ページフォールト割り込み１３１１が発生する。このページフォルト割り込み１３１１で、プログラムローダ１３１４が物理メモリ１３０１の空きページを検索するルーチンを実行する。そしてデバイスアクセスドライバ１３１５を介して、「ＣＰＵ−Ｂ２０２が実行しようとしているプログラムの部分」をページイン処理する。次にステップＳ３０６で、デバイスアクセスドライバ１３１５は起動中フラグ１３１８を参照し、起動中を示す起動中フラグ１３１８がオンであればステップＳ３０７に進む。ステップＳ３０７では、メモリアクセスドライバを呼び出してＤＲＡＭ−Ａ２０５の「ＣＰＵ−Ｂが実行しようとしているプログラムの部分」をリードする。その際、ステップＳ３０８で、ＣＰＵ−Ａ２０１から通知されたアドレスによって、リードする場所を特定する。そしてステップＳ３０９に進み、検索した空きページに対し、ステップＳ３０８でリードした「ＣＰＵ−Ｂが実行しようとしているプログラムの部分」をコピーする。そしてステップＳ３１０に進み、ページフォールト割り込み１３１１から復帰する。
【００７３】
一方、もしステップＳ３０６で、起動中フラグ１３１８がオフで通常動作時を示しているとステップＳ３１２に進み、ハードディスクアクセスドライバを呼び出し、ハードディスク２０７の「ＣＰＵ−Ｂが実行しようとしているプログラムの部分」をリードする。次にステップＳ３１３に進み、ステップＳ３０４で検索した空きページに対し、ステップＳ３１２で読み込んだ「ＣＰＵ−Ｂが実行しようとしているプログラムの部分」をロードする。そしてステップＳ３１０に進み、ページフォールト割り込み１３１１から復帰する。こうしてＣＰＵ−Ｂ２０２は、ステップＳ３１１で、実行しようとしていたプログラム部分を実行できる。
【００７４】
以上説明したように本実施の形態によれば、主記憶装置上に、予め補助記憶装置のプログラムの一部をコピーしておく。そしてページイン処理が発生した際、「起動中或は省電力モードからの復帰中」か、「通常動作中」かを判定し、前者であれば主記憶装置にコピーしたプログラムからページイン処理を実行する。一方、「通常動作中」であれば、補助記憶装置内からページイン処理する。これにより、起動中には、ページイン処理では、高速なランダムアクセスが可能な主記憶装置から高速に起動できる。一方、通常動作の場合には、補助記憶装置からのページイン処理を実行するため、主記憶装置に格納しているプログラムを削除できる。これにより装置が使用できる主記憶装置の空き容量が減少するといった弊害も発生しない。
【００７５】
更に、ＣＰＵを２つ以上搭載したシステムにおいて、ＬｉｔｅＯＳによる起動完了してＨｅａｖｙＯＳの起動完了を待っている空き時間に、補助記憶装置のＨｅａｖｙＯＳ用プログラムを主記憶装置にロードする。これにより、ＨｅａｖｙＯＳの起動時間を更に短縮できる。
【００７６】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【００７７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００７８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７９】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００８０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００８１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【００８２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００８３】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施の形態に係るコントローラが搭載された画像入出力装置（情報処理装置）の機能構成を示すブロック図である。
【図２】本発明の実施の形態に係る画像入出力装置のコントローラの構成を説明するブロック図である。
【図３】本実施の形態に係る画像入出力装置のコントローラにおける接続形態を説明するブロック図である。
【図４】本実施の形態に係る画像入出力装置がＰＣからプリントデータを受信して印刷する場合のデータの流れを説明する図である。
【図５】本実施の形態に係る画像入出力装置のリーダ部で読み取ったデータを印刷する場合のデータの流れを説明する図である。
【図６】本実施の形態に係る画像入出力装置におけるプログラムの切り換え処理を説明する図である。
【図７】本実施の形態に係る画像入出力装置における起動時の動作を示すタイムチャートである。
【図８】本実施の形態に係る画像入出力装置と、従来技術のシステム起動時間との比較例を示すタイムチャートである。
【図９】本実施の形態に係る画像入出力装置における起動処理の前半を説明する説明図である。
【図１０】本実施の形態に係る画像入出力装置における起動処理の後半を説明する説明図である。
【図１１】本実施の形態に係る画像入出力装置の起動時におけるＣＰＵ−Ａの動作を示すフローチャートである。
【図１２】本実施の形態に係る画像入出力装置の起動時におけるＣＰＵ−Ｂの動作を示すフローチャートである。
【図１３】本実施の形態に係る画像入出力装置において、ＣＰＵ−Ｂでプログラムが実行された際の説明図である。
【図１４】本実施の形態に係る画像入出力装置において、ＣＰＵ−Ｂでプログラムが実行された際の処理を説明するフローチャートである。
【図１】
0005060241.tif 000002
【図２】
0005060241.tif 000003
【図３】
0005060241.tif 000004
【図４】
0005060241.tif 000005
【図５】
0005060241.tif 000006
【図６】
0005060241.tif 000007
【図７】
0005060241.tif 000008
【図８】
0005060241.tif 000009
【図９】
0005060241.tif 000010
【図１０】
0005060241.tif 000011
【図１１】
0005060241.tif 000012
【図１２】
0005060241.tif 000013
【図１３】
0005060241.tif 000014
【図１４】
0005060241.tif 000015