(57)【要約】【課題】高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体を提供する。【解決手段】汎用ＯＳを用いた情報処理装置１において、仮想記憶機能を実現する仮想記憶管理部１２０と属性情報アクセス部１１と属性情報管理部１２と属性情報複製部１３と二次記憶装置構成管理部１４とを有する。仮想記憶管理部１２０はアプリケーション（プロセス）のスワップ先も管理する。属性情報アクセス部１１はアプリケーション２００に対応づけられた属性情報２２０を読み取り、属性情報管理部１２に格納する。二次記憶装置構成管理部１２は二次記憶装置２１１，２１２の構成を管理する。仮想記憶機能は二次記憶装置構成管理部１４及び属性情報管理部１２に基づいて対象プロセスとスワップ先とを決定する。【選択図】          図１
2004272460.tif 000002
【特許請求の範囲】
【請求項１】
実行された１つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、
前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、
前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、
前記仮想記憶機能は、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせることを特徴とする情報処理装置。
【請求項２】
前記所定の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管理部を有し、
前記仮想記憶機能は、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を決定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記属性情報は、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含むことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記属性情報を複製する属性情報複製手段を有し、
前記属性情報複製手段は、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加することを特徴とする請求項１から３の何れか１項に記載の情報処理装置。
【請求項５】
実行された１つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、
原稿の画像データを読み取る原稿読取り手段と、
画像データを印刷出力する印刷出力手段と、
前記原稿読取り手段及び前記印刷出力手段を用いて原稿画像をコピーする、又は、前記印刷出力手段を用いて入力された画像データを印刷出力する、又は、前記原稿読取り手段を用いて原稿の画像を読み取るためのプロセスを生成するコピープロセス生成手段と、
前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、
前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、
前記仮想記憶機能は、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせることを特徴とする画像形成装置。
【請求項６】
前記所定の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管理部を有し、
前記仮想記憶機能は、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を決定することを特徴とする請求項５記載の画像形成装置。
【請求項７】
前記属性情報は、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含むことを特徴とする請求項５又は６記載の画像形成装置。
【請求項８】
前記属性情報を複製する属性情報複製手段を有し、
前記属性情報複製手段は、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加することを特徴とする請求項５から７の何れか１項に記載の画像形成装置。
【請求項９】
オペレーティングシステムに実装された仮想記憶機能を用いて、第１の記憶装置上に実行された１つ以上のプロセスを第２の記憶装置へスワップアウトさせるメモリ管理方法において、
プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理ステップと、
前記第１の記憶装置上に実行された前記プロセスのうち少なくとも１つを前記属性情報に基づいて前記第２の記憶装置へスワップアウトさせるスワップアウトステップと、
前記属性情報に基づいて前記第２の記憶装置へスワップアウトされた前記プロセスのうち少なくとも１つを前記第１の記憶装置へスワップインさせるスワップインステップと、
を有することを特徴とするメモリ管理法法。
【請求項１０】
前記第２の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管ステップを有し、
前記スワップアウトステップは、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を決定することを特徴とする請求項９記載のメモリ管理方法。
【請求項１１】
前記属性情報は、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含むことを特徴とする請求項９又は１０記載のメモリ管理方法。
【請求項１２】
前記プロセスが自己の複製を作成するプロセス複製ステップと、
前記プロセス複製ステップで複製された前記プロセスの前記属性情報を複製する属性情報複製ステップと、
前記属性情報複製ステップで複製した前記属性情報を前記プロセス複製ステップで複製した前記プロセスに対応づけて管理する複製属性情報管理ステップと、
を有することを特徴とする請求項９から１１の何れか１項に記載のメモリ管理方法。
【請求項１３】
オペレーティングシステムに実装された仮想記憶機能を用いて、第１の記憶装置上に実行された１つ以上のプロセスを第２の記憶装置へスワップアウトさせるコンピュータを機能させるためのプログラムであって、
プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理処理と、
前記第１の記憶装置上に実行された前記プロセスのうち少なくとも１つを前記属性情報に基づいて前記第２の記憶装置へスワップアウトさせるスワップアウト処理と、
前記属性情報に基づいて前記第２の記憶装置へスワップアウトされた前記プロセスのうち少なくとも１つを前記第１の記憶装置へスワップインさせるスワップイン処理と、
を前記コンピュータに実行させるためのプログラム。
【請求項１４】
前記第２の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管処理を前記コンピュータに実行させ、
前記スワップアウト処理は、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を前記コンピュータに決定させることを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記属性情報は、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含むことを特徴とする請求項１３又は１４記載のプログラム。
【請求項１６】
前記プロセスが自己の複製を作成するプロセス複製処理と、
前記プロセス複製処理で複製された前記プロセスの前記属性情報を複製する属性情報複製処理と、
前記属性情報複製処理で複製した前記属性情報を前記プロセス複製処理で複製した前記プロセスに対応づけて管理する複製属性情報管理処理と、
を前記コンピュータに実行させるための請求項１３から１５の何れか１項に記載のプログラム。
【請求項１７】
請求項１３から１６の何れか１項に記載の前記プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体に関し、特に汎用オペレーティングシステム（ＯＳ）が実装された情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年、複写機にファクシミリやその他の機能を統合した複合機に代表される画像形成装置では、画像データをデジタルデータとして内部で取り扱う、いわゆるデジタル複合機が主流となっている。
【０００３】
デジタル複合機は、画像データをデジタルで保持できるため、高画質化や画像処理の柔軟性の点で従来のアナログ式よりも優れている。また、デジタル複合機は、ネットワークプリンティング機能やマルチＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）機能等、多様な機能を搭載している。
【０００４】
これらの機能の多くは、ソフトウェア（Ｓ／Ｗ）としてデジタル複合機のコントローラに実行されている。また、コントローラの多くは、組み込み用途向けリアルタイムオペレーティングシステム（ＲＴＯＳ）を搭載し、複数のＳ／Ｗをアプリケーションタスクとして実行している。尚、ＲＴＯＳとは、組み込み用途に特化して設計・実装されたオペレーティングシステム（ＯＳ）であり、アプリケーションタスクの優先度制御やハードウェア（Ｈ／Ｗ）デバイスからの割込みの高速な応答性などを実現している。
【０００５】
一般的にＲＴＯＳには、高速な処理（リアルタイム性）や単純でコンパクトなプログラムであること（コンパクト性）等が要求される。このため、信頼性や安定性や汎用性等の面がある程度犠牲にされて設計されることがある。例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳやＵＮＩＸ（登録商標）  ＯＳ等の多くのＯＳ（以下、このようなＯＳを汎用ＯＳという）で採用されている仮想記憶機能は、殆どのＲＴＯＳにおいて標準で搭載されていない。このため、ＲＴＯＳが組み込まれた装置において実行できるプログラムの種類及び数は、実装された実メモリの容量に制限される。尚、仮想記憶機能は、一般的に利用頻度の低いアプリケーションをハードディスクドライブ（以下、ＨＤＤと略す）等の二次以降の記憶装置に退避させる（スワップアウト）ことで実メモリの容量を確保し、必要なプログラムをロードできるようにする機能である。このほかにも、例えばメモリ保護機能やファイルシステム等の機能も、多くのＲＴＯＳには標準で搭載されていない。
【０００６】
図５に、汎用ＯＳを用いて構成した場合の画像形成装置１００の構成を示す（これを従来技術１とする）。画像形成装置１００は、汎用ＯＳであるＯＳカーネル１０１及び入出力デバイス３００を制御するドライバ（図５では、スキャナドライバ１１１，プリンタドライバ１１２，ネットワークドライバ１１４を例示；以下、任意のドライバの符号を１１０とする）を有して構成されている。ＯＳカーネル１０１とドライバ１１０とは、所謂ミドルウェア（Ｍ／Ｗ）１０２に含まれる構成であり、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等において実行されることで実現されている。アプリケーション（図５では、スキャンアプリケーション２０１，プリントアプリケーション２０２，コピーアプリケーション２０５を例示；以下、任意のアプリケーションの符号を２００とする）は、ＯＳカーネル１０１の制御の下で実行されるソフトウェアであり、ユーザプロセスとしてＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の主記憶装置２１５に展開される。また、入出力デバイス３００は、例えばスキャナデバイス３０１やプリンタデバイス３０２やネットワークアダプタ３０４（以下、任意の入出力デバイスの符号を３００とする）等の周辺機器であり、例えばＰＣＩバス等のバスを介してＭ／Ｗ１０２とのデータの入出力が実現される。
【０００７】
このような構成において、物理メモリに空き領域２０６を確保する必要が生じた場合、ＯＳカーネル１０１は仮想記憶機能を用いて、何れかのアプリケーション（例えばコピーアプリケーション２０５）を、図６に示すように、ＨＤＤ等で構成された二次記憶装置２１４に設けた仮想空間２１０にスワップアウトする。仮想空間２１０上にスワップアウトされたアプリケーションプロセスは、仮想記憶管理部１２０において管理され、必要に応じて主記憶装置２１５の物理メモリへスワップインされる。このような制御により、汎用ＯＳ環境下では、物理メモリ以上のアプリケーションの実行が要求された場合もで高い信頼性及び高い安定性でこれを実行することができる。尚、図６において、物理メモリは主記憶装置２１５内のメモリ空間に相当する。
【０００８】
また、汎用ＯＳにおいて、ＦｒｅｅＢＳＤやＮｅｔＢＳＤやＯｐｅｎＢＳＤ等のＵＮＩＸ互換ＯＳは、オープンソースライセンスを採用しており、ソースコードの取得に関しては極めて低いコストで実現できるため、多くのＳ／Ｗが開発されつつある。但し、Ｓ／Ｗの規模が十分に小さく、他のＯＳ環境への移植も考慮する必要が無ければ、ＲＴＯＳ環境の下で動作するＳ／Ｗを構築することは十分に可能である。
【０００９】
しかしながら、デジタル複合機等の画像処理装置が高機能化し、様々なアプリケーションタスクが実行されることで大規模化すると、ＲＴＯＳのシンプルな機構による問題が顕著に現れてしまう。具体的には、仮想記憶機能を持っていないため、実メモリの容量を超えるタスクをメモリにロードし、実行することができない。また、メモリ保護機能が搭載されていないＲＴＯＳでは、メモリアクセスに不具合（バグ等）を持つタスクが他のタスクやＲＴＯＳそのもののプログラムデータを破壊することを防止する手段がない。更に、このような破壊される状況によっては、システムがハングアップするなどの現象を解析することが極めて困難となる。
【００１０】
一方、汎用ＯＳは、仮想記憶機能やメモリ保護機能等を標準で備えているため、高機能なシステムを安定して実行することができる。しかしながら、このような汎用ＯＳは、多くの場合、多機能化・高信頼化・高安定化のために、リアルタイム性やコンパクト性等が犠牲にされている。このため、一般的に汎用ＯＳは、必ずしも組み込み用途には向いていない。即ち、ある機能をユーザプロセスのアプリケーションで実装した場合、仮想記憶機能を用いることで、搭載された実メモリの容量で許容されるよりも多くのアプリケーションを実行することが可能となる。しかしながら、仮想記憶機能を用いると、一旦、実メモリにロードしたユーザアプリケーションが常に実メモリに常駐しているという保証がなくなる。例えばＨＤＤにスワップアウトされたプログラムを実行する際は、これを再度実メモリにロード（スワップイン）しなければならない。このため、実行するまでにタイムラグが発生してしまう。
【００１１】
このスワップインに係るオーバヘッドは、現実的にリアルタイム処理には向かず、高い応答性が要求される場合には致命的となる。特に複数のデバイス同士で連続して制御する場合、具体的にはスキャナのように画像データを取り込むデバイスとプリンタのように画像を出力するデバイスとを組み合わせたデジタル複合機を構成した場合、スキャナからの画像取込みをユーザプロセスレベルのアプリケーションでハンドリングすると、このアプリケーションが汎用ＯＳの持つプロセススケジューリングの対象であるため、ＨＤＤからスワップインするタイムラグが発生する可能性がある。このような場合、画像取込みからプリンタ出力までの複写機としての性能にばらつきが発生してしまう。
【００１２】
このように、組み込み用途向けＯＳと汎用ＯＳとは相反する性能を有しているため、双方の利点を活かし、リアルタイム性と信頼性と安定性とに優れたプラットホームを実現することは困難であった。
【００１３】
このような問題を解決する従来技術としては、例えば以下に示す特許文献１で開示されるような、複数のＯＳを用途に応じて単一の計算機（コンピュータ）に組み込む技術が存在する。図７に、この技術を用いて構成した画像形成装置２００の構成を示す（これを従来技術２とする）。
【００１４】
図７に示すように、画像形成装置２００は、スキャンタスク１５１やプリントタスク１５２やＵＩタスク１５３やコピータスク１５５等のような、リアルタイム性を要求するタスクをＲＴＯＳ１０３環境下で実行し、その他ユーザプロセスとして立ち上げられるアプリケーション２００やネットワークを介したデータの送受信等は、高信頼性及び高安定性が実現できる汎用ＯＳ環境下で実行するように構成されている。
【００１５】
この従来技術によれば、高機能な汎用ＯＳとリアルタイム処理に優れたＲＴＯＳとが組み合わされたハイブリッドなＯＳ構成が実現できる。従って、画像処理等の比較的複雑なアプリケーションを汎用ＯＳ上で実行させ、デバイスドライバ等のリアルタイム性が要求されるＳ／ＷをＲＴＯＳ上で実行させることが可能となり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００１６】
【特許文献１】
特開平１１−１４９３８５号公報
【００１７】
【発明が解決しようとする課題】
しかしながら、上記のように複数のＯＳを使用した場合、ライセンスコストや保守コスト等が多く発生するという問題が存在する。また、複数のＯＳ間の情報のやり取りのための制御が煩雑化し、開発に要する手間が増大するという問題も存在する。特に、複数のＯＳを用いた場合では、デバイスから通知される割込みソースを最適なＯＳに配分する作業において非常に複雑で且つ高い応答性が要求される。
【００１８】
本発明は、上記の問題に鑑みてなされたもので、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体を提供することを目的とする。
【００１９】
【課題を解決するための手段】
かかる目的を達成するために、本発明は、請求項１記載のように、実行された１つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、前記仮想記憶機能が、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせるように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第１の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２０】
また、請求項１記載の前記情報処理装置は、好ましくは請求項２記載のように、前記所定の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管理部を有し、前記仮想記憶機能が、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を決定するように構成される。第２の記憶装置の個数や個別／総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２１】
また、請求項１又は２記載の前記属性情報は、例えば請求項１又は２記載のように、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含んで構成されても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第２の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２２】
また、請求項１から３の何れか１項に記載の前記情報処理装置は、好ましくは請求項４記載のように、前記属性情報を複製する属性情報複製手段を有し、前記属性情報複製手段が、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加するように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【００２３】
また、本発明は、請求項５記載のように、実行された１つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段と、前記原稿読取り手段及び前記印刷出力手段を用いて原稿画像をコピーする、又は、前記印刷出力手段を用いて入力された画像データを印刷出力する、又は、前記原稿読取り手段を用いて原稿の画像を読み取るためのプロセスを生成するコピープロセス生成手段と、前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、前記仮想記憶機能が、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせるように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第１の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するダイレクトコピー等のタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２４】
また、請求項５記載の前記画像形成装置は、好ましくは請求項６記載のように、前記所定の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管理部を有し、前記仮想記憶機能が、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を決定するように構成される。第２の記憶装置の個数や個別／総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するダイレクトコピー等のタスクに関するプロセスのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２５】
また、請求項５又は６記載の前記属性情報は、例えば請求項７記載のように、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含んで構成されても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第２の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するダイレクトコピー等のタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２６】
また、請求項５から７の何れか１項に記載の前記画像形成装置は、好ましくは請求項８記載のように、前記属性情報を複製する属性情報複製手段を有し、前記属性情報複製手段が、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加するように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【００２７】
また、本発明は、請求項９記載のように、オペレーティングシステムに実装された仮想記憶機能を用いて、第１の記憶装置上に実行された１つ以上のプロセスを第２の記憶装置へスワップアウトさせるメモリ管理方法において、プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理ステップと、前記第１の記憶装置上に実行された前記プロセスのうち少なくとも１つを前記属性情報に基づいて前記第２の記憶装置へスワップアウトさせるスワップアウトステップと、前記属性情報に基づいて前記第２の記憶装置へスワップアウトされた前記プロセスのうち少なくとも１つを前記第１の記憶装置へスワップインさせるスワップインステップと、を有するように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第１の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２８】
また、請求項９記載の前記メモリ管理方法は、好ましくは請求項１０記載のように、前記第２の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管ステップを有し、前記スワップアウトステップが、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を決定するように構成される。第２の記憶装置の個数や個別／総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００２９】
また、請求項９又は１０記載の前記属性情報は、例えば請求項１１記載のように、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含んで構成されても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第２の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００３０】
また、請求項９から１１の何れか１項に記載の前記メモリ管理方法は、好ましくは請求項１２記載のように、前記プロセスが自己の複製を作成するプロセス複製ステップと、前記プロセス複製ステップで複製された前記プロセスの前記属性情報を複製する属性情報複製ステップと、前記属性情報複製ステップで複製した前記属性情報を前記プロセス複製ステップで複製した前記プロセスに対応づけて管理する複製属性情報管理ステップと、を有するように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【００３１】
また、本発明は、請求項１３記載のように、オペレーティングシステムに実装された仮想記憶機能を用いて、第１の記憶装置上に実行された１つ以上のプロセスを第２の記憶装置へスワップアウトさせるコンピュータを機能させるためのプログラムであって、プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理処理と、前記第１の記憶装置上に実行された前記プロセスのうち少なくとも１つを前記属性情報に基づいて前記第２の記憶装置へスワップアウトさせるスワップアウト処理と、前記属性情報に基づいて前記第２の記憶装置へスワップアウトされた前記プロセスのうち少なくとも１つを前記第１の記憶装置へスワップインさせるスワップイン処理と、を前記コンピュータに実行させるように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第１の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００３２】
また、請求項１３記載の前記プログラムは、例えば請求項１４記載のように、前記第２の記憶装置の個数，個別のメモリ容量，合計のメモリ容量及びアクセス速度の少なくとも１つを管理する記憶装置構成管処理を前記コンピュータに実行させ、前記スワップアウト処理が、前記記憶装置構成管理部で管理された前記個数，前記個別のメモリ容量，前記合計のメモリ容量及び前記アクセス速度の少なくとも１つに基づいて、前記プロセスのスワップ先を前記コンピュータに決定させるように構成される。第２の記憶装置の個数や個別／総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００３３】
また、請求項１３又は１４記載の前記プログラムにおいて、例えば請求項１５記載のように、前記属性情報を、スワップアウトされることを禁止するための情報と、第１のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも１つを含んで構成しても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第２の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００３４】
また、請求項１３から１５の何れか１項に記載の前記プログラムは、好ましくは請求項１６記載のように、前記プロセスが自己の複製を作成するプロセス複製処理と、前記プロセス複製処理で複製された前記プロセスの前記属性情報を複製する属性情報複製処理と、前記属性情報複製処理で複製した前記属性情報を前記プロセス複製処理で複製した前記プロセスに対応づけて管理する複製属性情報管理処理と、を前記コンピュータに実行させるように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【００３５】
また、本発明は、請求項１７記載のように請求項１３から１６の何れか１項に記載の前記プログラムを記録媒体に記録して提供するものである。これにより、このプログラムを広く頒布することが可能となる。
【００３６】
【発明の実施の形態】
以下、本発明の好適な一実施形態について図面を用いて詳細に説明する。図１は、本実施形態による情報処理装置１の概略構成を示すブロック図である。
【００３７】
本実施形態において、プラットホームには、例えばＵＮＩＸ等の汎用オペレーティングシステム（ＯＳ）を用いる。尚、この汎用ＯＳには、特にＦｒｅｅＢＳＤやＮｅｔＢＳＤやＯｐｅｎＢＳＤ等のオープンソースライセンスを採用しているものを適用するとなおよい。
【００３８】
図１に示すように、情報処理装置１は、汎用ＯＳであるＯＳカーネル１０１及びこの汎用ＯＳに予め搭載されている仮想記憶機能を実現するための仮想記憶管理部１２０を有して構成され、更に、本実施形態特有の属性情報アクセス部１１と属性情報管理部１２と属性情報複製部１３と二次記憶装置構成管理部１４とを有して構成されている。ＯＳカーネル１０１と仮想記憶管理部１２０と属性情報アクセス部１１と属性情報管理部１２と属性情報複製部１３と二次記憶装置構成管理部１４とは、所謂ミドルウェア（Ｍ／Ｗ）２に含まれる構成であり、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等において実行されることで実現されるものである。但し、ＯＳカーネル１０１は、このほか、汎用ＯＳにおいて一般的に標準で搭載されているメモリ保護機能等の機能を備えている。
【００３９】
アプリケーション２００ａ，２００ｂ，２００ｃ，…（以下、任意のアプリケーションの符号を２００とする）は、ＯＳカーネル１０１の制御の下で実行されるソフトウェアであり、ユーザプロセスとして例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の一次記憶装置における物理メモリ空間２１３に実行されるものである。本実施形態では、アプリケーション２００に、このアプリケーションが要求する応答速度等に基づいて決定された条件（スワップ条件）を含む属性情報が対応づけられる。即ち、本実施形態では、高速な応答速度を要求するなアプリケーションと、低速な応答速度でも構わないアプリケーションとを予め定義しておき、これに基づいて仮想記憶機能が動作するように構成する。具体例としては、例えば高速な応答速度を要求し、スワップアウトされることを回避したいアプリケーションに対しては、これを禁止する属性情報が付加され、また、高速な応答速度を要求するが、高速なアクセスが可能な記憶装置上であればスワップアウトされることを許可するアプリケーションに対しては、例えば一次記憶装置２１１へのスワップアウトのみを許可する属性情報が付加され、更に、低速な応答速度でも構わないアプリケーションに対しては、何れの記憶装置（例えば一次記憶装置２１１及び二次記憶装置２１２）へでもスワップアウトされることを許可する属性情報が付加される。
【００４０】
また、このほかのメモリ構成として、本実施形態では、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の比較的アクセス速度が高速な記憶装置（これを二次記憶装置（高速）２１１とする）や、ハードディスクドライブ（以下ＨＤＤと略す）等の比較的アクセス速度が低速だが大容量を実現できる記憶装置（これを二次記憶装置（低速）２１２とする）等も設ける。
【００４１】
仮想記憶管理部１２０は、物理メモリ空間２１３にユーザプロセスとして実行されたアプリケーション２００が、ＯＳカーネル１０１の持つ仮想記憶機能により必要に応じて二次記憶装置（高速）２１１又は二次記憶装置（低速）２１２へスワップアウトされた場合の対象とされたアプリケーションプロセスやスワップ先等を管理するための構成である。具体的には、スワップアウトされたアプリケーションのプロセスＩＤとスワップ先のポインタ（アドレス）とを管理する。これにより、スワップアウトしておいたアプリケーションをスワップインする必要が生じた場合でも、容易に対象のアプリケーション及びこのスワップ先を特定することが可能となる。
【００４２】
また、属性情報アクセス部１１は、アプリケーション２００に対応づけられた属性情報２２０ａ，２２０ｂ，２２０ｃ，…（以下、任意の属性情報の符号を２２０とする）を読み取り、属性情報管理部１２に格納するための構成である。属性情報管理部１２は、実行されているアプリケーション２００とこれの属性情報２２０とを例えばテーブル状に管理する。図２に、属性情報管理部１２において管理された属性情報２２０とアプリケーション２００との対応テーブルを示す。
【００４３】
図２に示すように、属性情報管理部１２では、アプリケーション２００毎のプロセスＩＤと、各アプリケーションに対応づけられた属性情報との項目が格納されている。尚、属性情報は、例えば‘０’，‘１’で記述されており、対象のアプリケーションに要求される応答速度の分類毎に、スワップの可否が設定されるように構成されている。この分類には、例えば、スワップを禁止するための項目（『Ｎｏｎ−ＳｗａｐＯｕｔ』）や、なるべく高速なアクセスが可能な記憶装置へのスワップのみを許可するための項目（『Ｆａｓｔ−Ｄｅｖｉｃｅ』）等が挙げられる。但し、スワップ先のアクセス速度に関係なくスワップを許可するための項目は、禁止する必要がないため、設けなくてもよい。図２に示す例では、‘０’はスワップを許可する記述であり、‘１’はスワップを禁止する記述である。従って、ユーザインタフェース（ＵＩ）アプリケーションとスキャンアプリケーションとに着目すると、ＵＩアプリケーションのプロセスは『Ｎｏｎ−ＳｗａｐＯｕｔ』の項目に‘１’が格納されているためにスワップが禁止されており、スキャンアプリケーションのプロセスは『Ｆａｓｔ−Ｄｅｖｉｃｅ』の項目に‘１’が格納されているために高速な記憶装置へのスワップのみ許可されている。また、このほかの構成として、属性情報をスワップ先のデバイス毎に設定するようにも構成することが可能である。
【００４４】
二次記憶装置構成管理部１２は、スワップ先となる記憶装置（二次記憶装置（高速）２１１，二次記憶装置（低速）２１２）の構成（数，容量，アクセス速度等）を管理するための構成である。二次記憶装置構成管理部１２のデータ構造としては、例えば高速なアクセス速度を実現する二次記憶装置（高速）２１１に関する項目と、低速なアクセス速度を実現する二次記憶装置（低速）２１２に関する項目とを有し、それぞれの項目に、その具体的なデバイスの数や、個別又は合計のメモリ容量や、各デバイスのアクセス速度等の項目等を有している。従って、本実施形態では、仮想記憶機能が、この二次記憶装置構成管理部１４及び属性情報管理部１２に基づいて、何れの２次記憶装置へスワップアウトすることが適切かを判断できるように構成される。また、仮想記憶機能は、物理メモリ空間２１５に実行されているアプリケーション２００において何れかをスワップアウトさせる場合、対応づけられている属性情報に基づいて、どれをスワップアウトさせるか判断するように構成されるとよい。更に、仮想記憶機能は、スワップアウトしておいたアプリケーション２００が複数ある場合、対応づけられている属性情報に基づいて、どれを優先的にスワップインするか判断するように構成されると良い。
【００４５】
属性情報複製部１３は、例えばアプリケーション２００が自プロセスの複製を作成し、これを物理メモリ空間２１３上に実行する際に対応するための構成である。即ち、アプリケーション２００のプロセスが異なるプロセスＩＤで複製された場合、属性情報複製部１３は、この新たなプロセスに対して元のプロセス（アプリケーション）に対応する属性情報を複製し、これを付加する。尚、複製されたアプリケーションに付加された属性情報は、属性情報管理部１２において追加され、管理される。
【００４６】
以上のように、仮想記憶機能を有するオペレーティングシステムに対して、主記憶装置上に実行されたアプリケーションのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のアプリケーションが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するアプリケーションのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【００４７】
次に、上記の情報処理装置１を用いて画像形成装置１０を構成した場合について、以下に図面を用いて詳細に説明する。図３は、画像形成装置１０の構成を示すブロック図である。
【００４８】
図３に示すように、画像形成装置１０は、データを入出力する入出力デバイスとしてスキャナデバイス３０１とプリンタデバイス３０２とＵＩデバイス３０３とネットワークアダプタ３０４とを有している。また、ミドルウェア（Ｍ／Ｗ）２Ａには、ＯＳカーネル１０１の他に、ドライバ１１０として、スキャナデバイス３０１を制御するためのスキャナドライバ１１１と，プリンタデバイス３０２を制御するためのプリンタドライバ１１２と，ＵＩデバイス３０３を制御するためのＵドライバ１１３と，ネットワークアダプタ３０４を制御するためのネットワークドライバ１１４とが設けられている。即ち、各入出力デバイスには、これを制御するためのドライバ１１０が設けられている。更に、Ｍ／Ｗ２Ａには、上述した仮想記憶管理部１２０と属性情報アクセス部１１と属性情報管理部１２と属性情報複製部１３と二次記憶装置構成管理部１４とが設けられている。
【００４９】
このほか、画像処理装置１０には、ＯＳカーネル１０１の制御の下で実行されるアプリケーション２００として、スキャナデバイス３０１を用いて原稿の画像データを取り込む機能を提供するためのスキャナアプリケーション２０１と，スキャナデバイス３０１で取り込まれた画像データ又はネットワークアダプタ３０４を介して入力された画像データをハード出力する機能を提供するためのプリントアプリケーション２０２と，スキャナデバイス３０１で原稿の画像データを取り込み，更にこの画像データをプリンタデバイス３０２を用いてハード出力する機能（所謂コピー機能）を提供するためのコピーアプリケーション２０５とを有している。これらのアプリケーション２０１，２０２，２０５には、それぞれスワップ処理に関する属性情報２２１，２２２，２２５が付加されている。
【００５０】
以上のような構成を有することで、画像形成装置１０は、ネットワークを介して入力された画像データを出力するネットワークプリンタとしても、原稿台（スキャナデバイス３０１）に載置された原稿をコピーする複写機としても、また、スキャナデバイス３０１で取り込んだ画像データをネットワークへ出力するネットワークスキャナとしても機能することができる。
【００５１】
本実施形態では、電源投入時等の初期化時に、上述しスキャンアプリケーション２０１，プリンタアプリケーション２０２，コピーアプリケーション２０５、更には図示しない表示部等に操作画面を描画するためのＵＩ表示アプリケーション等の各アプリケーションを物理メモリ空間２１５にロードし実行する。この際、属性情報アクセス部１１は、各アプリケーションに付随された属性情報（図３では符号２２１，２２２，２２５）を読み取り、これを属性情報管理部１２に格納する。属性情報は、例えば具体的に図２で示したように、各アプリケーションに要求される応答速度で分類されている。また、初期化時において、二次記憶装置構成管理部１４は、画像処理装置１０に実装された二次記憶装置（図４では二次記憶装置（高速）２１１，二次記憶装置（低速）２１２）の個数や個別／総メモリ容量やアクセス速度等を取り込み、これを格納する。この初期化後、各アプリケーションは受信データや表示した操作画面（以下、ＵＩパネルという）等からコマンドや、ネットワークから各種ジョブ等が入力されるのを待機する。
【００５２】
このような構成において、ネットワークプリンタとして機能する場合（以下、この機能をネットワークプリンタ機能という）、画像形成装置１０は、ネットワークアダプタ（ネットワークインともいう）３０４を経由してホストコンピュータからプリントデータ（画像データ）が入力されると、このプリントデータをＯＳカーネル１０１の制御下で実行されているプリントアプリケーション２０２に入力する。プリントアプリケーション２０２は、入力されたプリントデータをプリントデータ出力用フォーマットに適宜画像処理（例えばビットマップデータに変換するためのラスタライズ処理）した後、印刷を行うためのタスクを発生させ、これをＯＳカーネル１０１のインタフェースを介してプリンタドライバ１１２に入力する。プリンタドライバ１１２は、タスクが入力されると、割込みハンドラを立ち上げてプリンタデバイス３０２にアクセスし、これにタスクと共に入力されたプリントデータを入力する。プリンタデバイス３０２は入力された画像データをプリンタドライバ１１２の制御に基づいてハード出力する。
【００５３】
また、ネットワークスキャナとして機能する場合（以下、この機能をネットワークスキャナ機能という）、画像形成装置１０は、ネットワークアダプタ３０４を介してホストコンピュータから、又は、ＵＩデバイス３０３を用いてユーザからスキャン要求（動作指示）が入力されると、このスキャン要求をＯＳカーネル１０１の制御下で実行されているスキャナアプリケーション２０１に入力する。スキャナアプリケーション２０１は、入力されたスキャン要求に基づいてスキャンを行うためのタスクを発生させ、これをＯＳカーネル１０１のインタフェースを介してスキャナドライバ１１１に入力する。スキャナドライバ１１１は、タスクが入力されると、割込みハンドラを立ち上げてスキャナデバイス３０１にアクセスし、スキャナデバイス３０１を制御する。スキャナデバイス３０１で読み取られた原稿の画像データは、スキャナドライバ１１１を介してスキャンアプリケーション２０１に入力され、スキャンアプリケーション２０１においてでユーザ環境での利用に適した画像フォーマット、例えばＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）規格等の所定の圧縮形式の画像データに変換され、電子ファイルとして画像形成装置１０に設けられたＨＤＤ等の二次記憶装置（例えば２１２）に格納されるか、ネットワークアダプタ３０４を介して該当するホストコンピュータへ送信される。
【００５４】
更に、複写機として動作する場合（以下この機能をダイレクトコピー機能という）、画像形成装置１０は、ＵＩデバイス３０３を通じてユーザからコピー要求（動作指示）が入力されると、これをＯＳカーネル１０１の制御下で実行されているコピーアプリケーション２０５に入力する。コピーアプリケーション２０１は、入力されたコピー要求に基づいてコピーを行うためのタスクを発生させる。この際、タスクには、原稿台に載置された原稿の画像データを取り込む（スキャンする）ためのタスクと、取り込んだ画像データをプリントアウトするためのタスクとがある。コピーアプリケーション２０５は、まず、原稿をスキャンするためのタスクをスキャナドライバ１１１に入力する。スキャナドライバ１１１は、タスクが入力されると、割込みハンドラを立ち上げてスキャナデバイス３０１にアクセスし、スキャナデバイス３０１を制御することで、原稿の画像データを取り込む。尚、この画像データは、バッファメモリ等に一時保持される。次に、コピーアプリケーション２０５は、保持されている画像データをプリントデータ出力用フォーマットに適宜画像処理（例えばビットマップデータに変換するためのラスタライズ処理）した後、印刷を行うためのタスクを発生させ、これをＯＳカーネル１０１のインタフェースを介してプリンタドライバ１１２に入力する。プリンタドライバ１１２は、タスクが入力されると、割込みハンドラを立ち上げてプリンタデバイス３０２にアクセスし、これにタスクと共に入力されたプリントデータを入力する。プリンタデバイス３０２は入力された画像データをプリンタドライバ１１２の制御に基づいてハード出力する。
【００５５】
以上のような機能の実行中、仮想記憶管理部１２０は各アプリケーションおよびそれらが消費するメモリリソースを管理し、物理的に実装されたメモリ容量を越えたメモリリソースの要求があった場合、使用頻度の低いアプリケーション等を選定して物理メモリから二次記憶装置などに退避させることで、物理メモリの空き空間を確保する。この際、退避させる対象の選定時に属性情報管理部１２に化膿されたテーブルを参照し、『Ｎｏｎ−ＳｗａｐＯｕｔ』の欄が有効になっているアプリケーションを選定対象から除外する。また、『Ｆａｓｔ−Ｄｅｖｉｃｅ』の欄が有効になっているアプリケーションが退避される対象に選定された場合は、退避先の二次記憶装置が高速アクセスが可能な記憶装置、この例では二次記憶装置（高速）２１１に限定される。これにより、スワップインされる際にも、比較的高速にロードして復帰させることが可能となる。
【００５６】
また、上記で例示したネットワークプリンタ機能とネットワークスキャナ機能とダイレクトコピー機能とが盛り込まれた画像形成装置１０の動作を図４のフローチャートに示す。
【００５７】
図３において、画像形成装置１０は、ネットワークからプリントデータが入力された場合（ステップＳ１０１のＹｅｓ）、このプリントデータを受信し（ステップＳ１０２）、プリンタアプリケーション２０２を用いてプリントデータに含まれるＪＣＬヘッダにパース処理を施す（ステップＳ１０３）。次に、プリントデータに含まれる全ての画像データに対してプリンタアプリケーション２０２を用いてＰＤＬ処理を施し（ステップＳ１０４及びステップＳ１０５）、その後、これを上述したような手順によりプリンタデバイス２０２からハード出力する（ステップＳ１０６）。
【００５８】
また、画像形成装置１０は、ネットワークからプリントデータを受信せず（ステップＳ１０１のＮｏ）にスキャン指示（要求）がネットワークから入力された場合（ステップＳ１０７のＹｅｓ）、上述したような手順によりスキャナデバイス２０１から全ての原稿の画像データを取得する（ステップＳ１０８〜ステップＳ１１０）。その後、取得した全画像データをネットワークを介してスキャン指示を発行したホスト（コンピュータ）に転送する（ステップＳ１１１）。
【００５９】
更にまた、画像形成装置１０は、ネットワークからプリントデータを受信せず（ステップＳ１０１のＮｏ）且つネットワークからスキャン要求が入力されず（ステップＳ１０７のＮｏ）にコピー指示（要求）が入力された場合（ステップＳ１１２のＹｅｓ）、上述したような手順によりスキャナデバイス２０１から原稿の画像データを取得し（ステップＳ１１３）、これにコピーアプリケーション２０５を用いて所定の画像処理を施した（ステップＳ１１４）後、上述したような手順によりプリンタデバイス２０２からこれをハード出力する（ステップＳ１１５）。尚、ステップＳ１１３からステップＳ１１５までの処理は、原稿１ページ毎又は１部毎に全ページが終了するまで繰り返される（ステップＳ１１６）。
【００６０】
以上のように動作させることで、適宜、スキャン機能，プリント機能，ダイレクトコピー機能を使い分けることができるようになる。また、以上のような動作を信頼性や安定性が実現できる汎用ＯＳの制御の下で実現する際、リアルタイム性が要求されるコピー動作等のプロセスが低速な記憶装置へスワップアウトされることを防止できるため、目的に応じて高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能な情報処理装置、特に画像形成装置が実現できる。即ち、仮想記憶管理部１２０が二次記憶装置（２１１，２１２）に退避させる対象を選定するとき、属性情報管理部１２に格納された管理テーブルを参照することで、リアルタイム性が要求されるアプリケーションとそうでないものを区別することが可能となるため、システムの構成に合った物理メモリ管理方式が実現でき、結果的にパフォーマンス的に望ましいシステムを組むことができる。更に、これを実現するための構成を、汎用ＯＳに追加して容易に組み込むことができるソフトウェアモジュールで実現しているため、効率的且つ容易に上記のような効果を得られる情報処理装置、特に画像形成装置を開発できる。
【００６１】
尚、以上で説明した実施形態は本発明の好適な一実施形態にすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
【００６２】
【発明の効果】
以上説明したように、本発明によれば、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、タスク実行方法、そのプログラム及びそのプログラムを記録した記録媒体が実現できる。
【図面の簡単な説明】
【図１】本発明の一実施形態による情報処理装置１の概略構成を示すブロック図である。
【図２】図１における属性情報管理部１２に格納されたテーブルの構成を示す図である。
【図３】図１に示す情報処理装置１を適用した画像形成装置１０の構成を示すブロック図である。
【図４】図３に示す画像形成装置１０の動作を示すフローチャートである。
【図５】従来技術１による画像形成装置１００の構成を示すブロック図である。
【図６】図５に示す画像形成装置１００において仮想記憶機能による作用を説明するための図である。
【図７】従来技術２による画像形成装置２００の構成を示すブロック図である。
【符号の説明】
１  情報処理装置                  １０  画像形成装置
１１  属性情報アクセス部          １２  属性情報管理部
１３  属性情報複製部              １４  二次記憶装置構成管理部
２２０ａ，２２０ｂ，２２０ｃ，２２１，２２２，２２５  属性情報
１２０  仮想記憶管理部
【図１】
2004272460.tif 000003
【図２】
2004272460.tif 000004
【図３】
2004272460.tif 000005
【図４】
2004272460.tif 000006
【図５】
2004272460.tif 000007
【図６】
2004272460.tif 000008
【図７】
2004272460.tif 000009