JP2004272460A - Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program - Google Patents
Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program Download PDFInfo
- Publication number
- JP2004272460A JP2004272460A JP2003060342A JP2003060342A JP2004272460A JP 2004272460 A JP2004272460 A JP 2004272460A JP 2003060342 A JP2003060342 A JP 2003060342A JP 2003060342 A JP2003060342 A JP 2003060342A JP 2004272460 A JP2004272460 A JP 2004272460A
- Authority
- JP
- Japan
- Prior art keywords
- attribute information
- storage device
- swap
- memory capacity
- copy
- 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.)
- Pending
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体に関し、特に汎用オペレーティングシステム(OS)が実装された情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
近年、複写機にファクシミリやその他の機能を統合した複合機に代表される画像形成装置では、画像データをデジタルデータとして内部で取り扱う、いわゆるデジタル複合機が主流となっている。
【0003】
デジタル複合機は、画像データをデジタルで保持できるため、高画質化や画像処理の柔軟性の点で従来のアナログ式よりも優れている。また、デジタル複合機は、ネットワークプリンティング機能やマルチPDL(Page Description Language)機能等、多様な機能を搭載している。
【0004】
これらの機能の多くは、ソフトウェア(S/W)としてデジタル複合機のコントローラに実行されている。また、コントローラの多くは、組み込み用途向けリアルタイムオペレーティングシステム(RTOS)を搭載し、複数のS/Wをアプリケーションタスクとして実行している。尚、RTOSとは、組み込み用途に特化して設計・実装されたオペレーティングシステム(OS)であり、アプリケーションタスクの優先度制御やハードウェア(H/W)デバイスからの割込みの高速な応答性などを実現している。
【0005】
一般的にRTOSには、高速な処理(リアルタイム性)や単純でコンパクトなプログラムであること(コンパクト性)等が要求される。このため、信頼性や安定性や汎用性等の面がある程度犠牲にされて設計されることがある。例えば、Windows(登録商標) OSやUNIX(登録商標) OS等の多くのOS(以下、このようなOSを汎用OSという)で採用されている仮想記憶機能は、殆どのRTOSにおいて標準で搭載されていない。このため、RTOSが組み込まれた装置において実行できるプログラムの種類及び数は、実装された実メモリの容量に制限される。尚、仮想記憶機能は、一般的に利用頻度の低いアプリケーションをハードディスクドライブ(以下、HDDと略す)等の二次以降の記憶装置に退避させる(スワップアウト)ことで実メモリの容量を確保し、必要なプログラムをロードできるようにする機能である。このほかにも、例えばメモリ保護機能やファイルシステム等の機能も、多くのRTOSには標準で搭載されていない。
【0006】
図5に、汎用OSを用いて構成した場合の画像形成装置100の構成を示す(これを従来技術1とする)。画像形成装置100は、汎用OSであるOSカーネル101及び入出力デバイス300を制御するドライバ(図5では、スキャナドライバ111,プリンタドライバ112,ネットワークドライバ114を例示;以下、任意のドライバの符号を110とする)を有して構成されている。OSカーネル101とドライバ110とは、所謂ミドルウェア(M/W)102に含まれる構成であり、例えばCPU(Central Processing Unit)等において実行されることで実現されている。アプリケーション(図5では、スキャンアプリケーション201,プリントアプリケーション202,コピーアプリケーション205を例示;以下、任意のアプリケーションの符号を200とする)は、OSカーネル101の制御の下で実行されるソフトウェアであり、ユーザプロセスとしてRAM(Random Access Memory)等の主記憶装置215に展開される。また、入出力デバイス300は、例えばスキャナデバイス301やプリンタデバイス302やネットワークアダプタ304(以下、任意の入出力デバイスの符号を300とする)等の周辺機器であり、例えばPCIバス等のバスを介してM/W102とのデータの入出力が実現される。
【0007】
このような構成において、物理メモリに空き領域206を確保する必要が生じた場合、OSカーネル101は仮想記憶機能を用いて、何れかのアプリケーション(例えばコピーアプリケーション205)を、図6に示すように、HDD等で構成された二次記憶装置214に設けた仮想空間210にスワップアウトする。仮想空間210上にスワップアウトされたアプリケーションプロセスは、仮想記憶管理部120において管理され、必要に応じて主記憶装置215の物理メモリへスワップインされる。このような制御により、汎用OS環境下では、物理メモリ以上のアプリケーションの実行が要求された場合もで高い信頼性及び高い安定性でこれを実行することができる。尚、図6において、物理メモリは主記憶装置215内のメモリ空間に相当する。
【0008】
また、汎用OSにおいて、FreeBSDやNetBSDやOpenBSD等のUNIX互換OSは、オープンソースライセンスを採用しており、ソースコードの取得に関しては極めて低いコストで実現できるため、多くのS/Wが開発されつつある。但し、S/Wの規模が十分に小さく、他のOS環境への移植も考慮する必要が無ければ、RTOS環境の下で動作するS/Wを構築することは十分に可能である。
【0009】
しかしながら、デジタル複合機等の画像処理装置が高機能化し、様々なアプリケーションタスクが実行されることで大規模化すると、RTOSのシンプルな機構による問題が顕著に現れてしまう。具体的には、仮想記憶機能を持っていないため、実メモリの容量を超えるタスクをメモリにロードし、実行することができない。また、メモリ保護機能が搭載されていないRTOSでは、メモリアクセスに不具合(バグ等)を持つタスクが他のタスクやRTOSそのもののプログラムデータを破壊することを防止する手段がない。更に、このような破壊される状況によっては、システムがハングアップするなどの現象を解析することが極めて困難となる。
【0010】
一方、汎用OSは、仮想記憶機能やメモリ保護機能等を標準で備えているため、高機能なシステムを安定して実行することができる。しかしながら、このような汎用OSは、多くの場合、多機能化・高信頼化・高安定化のために、リアルタイム性やコンパクト性等が犠牲にされている。このため、一般的に汎用OSは、必ずしも組み込み用途には向いていない。即ち、ある機能をユーザプロセスのアプリケーションで実装した場合、仮想記憶機能を用いることで、搭載された実メモリの容量で許容されるよりも多くのアプリケーションを実行することが可能となる。しかしながら、仮想記憶機能を用いると、一旦、実メモリにロードしたユーザアプリケーションが常に実メモリに常駐しているという保証がなくなる。例えばHDDにスワップアウトされたプログラムを実行する際は、これを再度実メモリにロード(スワップイン)しなければならない。このため、実行するまでにタイムラグが発生してしまう。
【0011】
このスワップインに係るオーバヘッドは、現実的にリアルタイム処理には向かず、高い応答性が要求される場合には致命的となる。特に複数のデバイス同士で連続して制御する場合、具体的にはスキャナのように画像データを取り込むデバイスとプリンタのように画像を出力するデバイスとを組み合わせたデジタル複合機を構成した場合、スキャナからの画像取込みをユーザプロセスレベルのアプリケーションでハンドリングすると、このアプリケーションが汎用OSの持つプロセススケジューリングの対象であるため、HDDからスワップインするタイムラグが発生する可能性がある。このような場合、画像取込みからプリンタ出力までの複写機としての性能にばらつきが発生してしまう。
【0012】
このように、組み込み用途向けOSと汎用OSとは相反する性能を有しているため、双方の利点を活かし、リアルタイム性と信頼性と安定性とに優れたプラットホームを実現することは困難であった。
【0013】
このような問題を解決する従来技術としては、例えば以下に示す特許文献1で開示されるような、複数のOSを用途に応じて単一の計算機(コンピュータ)に組み込む技術が存在する。図7に、この技術を用いて構成した画像形成装置200の構成を示す(これを従来技術2とする)。
【0014】
図7に示すように、画像形成装置200は、スキャンタスク151やプリントタスク152やUIタスク153やコピータスク155等のような、リアルタイム性を要求するタスクをRTOS103環境下で実行し、その他ユーザプロセスとして立ち上げられるアプリケーション200やネットワークを介したデータの送受信等は、高信頼性及び高安定性が実現できる汎用OS環境下で実行するように構成されている。
【0015】
この従来技術によれば、高機能な汎用OSとリアルタイム処理に優れたRTOSとが組み合わされたハイブリッドなOS構成が実現できる。従って、画像処理等の比較的複雑なアプリケーションを汎用OS上で実行させ、デバイスドライバ等のリアルタイム性が要求されるS/WをRTOS上で実行させることが可能となり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0016】
【特許文献1】
特開平11−149385号公報
【0017】
【発明が解決しようとする課題】
しかしながら、上記のように複数のOSを使用した場合、ライセンスコストや保守コスト等が多く発生するという問題が存在する。また、複数のOS間の情報のやり取りのための制御が煩雑化し、開発に要する手間が増大するという問題も存在する。特に、複数のOSを用いた場合では、デバイスから通知される割込みソースを最適なOSに配分する作業において非常に複雑で且つ高い応答性が要求される。
【0018】
本発明は、上記の問題に鑑みてなされたもので、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体を提供することを目的とする。
【0019】
【課題を解決するための手段】
かかる目的を達成するために、本発明は、請求項1記載のように、実行された1つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、前記仮想記憶機能が、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせるように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第1の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0020】
また、請求項1記載の前記情報処理装置は、好ましくは請求項2記載のように、前記所定の記憶装置の個数,個別のメモリ容量,合計のメモリ容量及びアクセス速度の少なくとも1つを管理する記憶装置構成管理部を有し、前記仮想記憶機能が、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を決定するように構成される。第2の記憶装置の個数や個別/総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0021】
また、請求項1又は2記載の前記属性情報は、例えば請求項1又は2記載のように、スワップアウトされることを禁止するための情報と、第1のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含んで構成されても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第2の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0022】
また、請求項1から3の何れか1項に記載の前記情報処理装置は、好ましくは請求項4記載のように、前記属性情報を複製する属性情報複製手段を有し、前記属性情報複製手段が、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加するように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【0023】
また、本発明は、請求項5記載のように、実行された1つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、原稿の画像データを読み取る原稿読取り手段と、画像データを印刷出力する印刷出力手段と、前記原稿読取り手段及び前記印刷出力手段を用いて原稿画像をコピーする、又は、前記印刷出力手段を用いて入力された画像データを印刷出力する、又は、前記原稿読取り手段を用いて原稿の画像を読み取るためのプロセスを生成するコピープロセス生成手段と、前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、前記仮想記憶機能が、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせるように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第1の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するダイレクトコピー等のタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0024】
また、請求項5記載の前記画像形成装置は、好ましくは請求項6記載のように、前記所定の記憶装置の個数,個別のメモリ容量,合計のメモリ容量及びアクセス速度の少なくとも1つを管理する記憶装置構成管理部を有し、前記仮想記憶機能が、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を決定するように構成される。第2の記憶装置の個数や個別/総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するダイレクトコピー等のタスクに関するプロセスのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0025】
また、請求項5又は6記載の前記属性情報は、例えば請求項7記載のように、スワップアウトされることを禁止するための情報と、第1のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含んで構成されても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第2の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するダイレクトコピー等のタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0026】
また、請求項5から7の何れか1項に記載の前記画像形成装置は、好ましくは請求項8記載のように、前記属性情報を複製する属性情報複製手段を有し、前記属性情報複製手段が、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加するように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【0027】
また、本発明は、請求項9記載のように、オペレーティングシステムに実装された仮想記憶機能を用いて、第1の記憶装置上に実行された1つ以上のプロセスを第2の記憶装置へスワップアウトさせるメモリ管理方法において、プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理ステップと、前記第1の記憶装置上に実行された前記プロセスのうち少なくとも1つを前記属性情報に基づいて前記第2の記憶装置へスワップアウトさせるスワップアウトステップと、前記属性情報に基づいて前記第2の記憶装置へスワップアウトされた前記プロセスのうち少なくとも1つを前記第1の記憶装置へスワップインさせるスワップインステップと、を有するように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第1の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0028】
また、請求項9記載の前記メモリ管理方法は、好ましくは請求項10記載のように、前記第2の記憶装置の個数,個別のメモリ容量,合計のメモリ容量及びアクセス速度の少なくとも1つを管理する記憶装置構成管ステップを有し、前記スワップアウトステップが、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を決定するように構成される。第2の記憶装置の個数や個別/総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0029】
また、請求項9又は10記載の前記属性情報は、例えば請求項11記載のように、スワップアウトされることを禁止するための情報と、第1のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含んで構成されても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第2の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0030】
また、請求項9から11の何れか1項に記載の前記メモリ管理方法は、好ましくは請求項12記載のように、前記プロセスが自己の複製を作成するプロセス複製ステップと、前記プロセス複製ステップで複製された前記プロセスの前記属性情報を複製する属性情報複製ステップと、前記属性情報複製ステップで複製した前記属性情報を前記プロセス複製ステップで複製した前記プロセスに対応づけて管理する複製属性情報管理ステップと、を有するように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【0031】
また、本発明は、請求項13記載のように、オペレーティングシステムに実装された仮想記憶機能を用いて、第1の記憶装置上に実行された1つ以上のプロセスを第2の記憶装置へスワップアウトさせるコンピュータを機能させるためのプログラムであって、プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理処理と、前記第1の記憶装置上に実行された前記プロセスのうち少なくとも1つを前記属性情報に基づいて前記第2の記憶装置へスワップアウトさせるスワップアウト処理と、前記属性情報に基づいて前記第2の記憶装置へスワップアウトされた前記プロセスのうち少なくとも1つを前記第1の記憶装置へスワップインさせるスワップイン処理と、を前記コンピュータに実行させるように構成される。仮想記憶機能を有するオペレーティングシステムに対して、第1の記憶装置上に実行されたプロセスのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0032】
また、請求項13記載の前記プログラムは、例えば請求項14記載のように、前記第2の記憶装置の個数,個別のメモリ容量,合計のメモリ容量及びアクセス速度の少なくとも1つを管理する記憶装置構成管処理を前記コンピュータに実行させ、前記スワップアウト処理が、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を前記コンピュータに決定させるように構成される。第2の記憶装置の個数や個別/総メモリ容量やアクセス速度に基づいて、プロセスのスワップ先を限定することで、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0033】
また、請求項13又は14記載の前記プログラムにおいて、例えば請求項15記載のように、前記属性情報を、スワップアウトされることを禁止するための情報と、第1のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含んで構成しても良い。これにより、少なくともスワップを禁止したいプロセスと、低速なアクセス速度の第2の記憶装置へのスワップアウトを禁止したいプロセスとを特定できる構成となるため、オペレーティングシステムが個々のプロセスが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するタスクのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0034】
また、請求項13から15の何れか1項に記載の前記プログラムは、好ましくは請求項16記載のように、前記プロセスが自己の複製を作成するプロセス複製処理と、前記プロセス複製処理で複製された前記プロセスの前記属性情報を複製する属性情報複製処理と、前記属性情報複製処理で複製した前記属性情報を前記プロセス複製処理で複製した前記プロセスに対応づけて管理する複製属性情報管理処理と、を前記コンピュータに実行させるように構成される。これにより、プロセスが自プロセスの複製を作成するような場合にも対応することが可能となる。
【0035】
また、本発明は、請求項17記載のように請求項13から16の何れか1項に記載の前記プログラムを記録媒体に記録して提供するものである。これにより、このプログラムを広く頒布することが可能となる。
【0036】
【発明の実施の形態】
以下、本発明の好適な一実施形態について図面を用いて詳細に説明する。図1は、本実施形態による情報処理装置1の概略構成を示すブロック図である。
【0037】
本実施形態において、プラットホームには、例えばUNIX等の汎用オペレーティングシステム(OS)を用いる。尚、この汎用OSには、特にFreeBSDやNetBSDやOpenBSD等のオープンソースライセンスを採用しているものを適用するとなおよい。
【0038】
図1に示すように、情報処理装置1は、汎用OSであるOSカーネル101及びこの汎用OSに予め搭載されている仮想記憶機能を実現するための仮想記憶管理部120を有して構成され、更に、本実施形態特有の属性情報アクセス部11と属性情報管理部12と属性情報複製部13と二次記憶装置構成管理部14とを有して構成されている。OSカーネル101と仮想記憶管理部120と属性情報アクセス部11と属性情報管理部12と属性情報複製部13と二次記憶装置構成管理部14とは、所謂ミドルウェア(M/W)2に含まれる構成であり、例えばCPU(Central Processing Unit)等において実行されることで実現されるものである。但し、OSカーネル101は、このほか、汎用OSにおいて一般的に標準で搭載されているメモリ保護機能等の機能を備えている。
【0039】
アプリケーション200a,200b,200c,…(以下、任意のアプリケーションの符号を200とする)は、OSカーネル101の制御の下で実行されるソフトウェアであり、ユーザプロセスとして例えばRAM(Random Access Memory)等の一次記憶装置における物理メモリ空間213に実行されるものである。本実施形態では、アプリケーション200に、このアプリケーションが要求する応答速度等に基づいて決定された条件(スワップ条件)を含む属性情報が対応づけられる。即ち、本実施形態では、高速な応答速度を要求するなアプリケーションと、低速な応答速度でも構わないアプリケーションとを予め定義しておき、これに基づいて仮想記憶機能が動作するように構成する。具体例としては、例えば高速な応答速度を要求し、スワップアウトされることを回避したいアプリケーションに対しては、これを禁止する属性情報が付加され、また、高速な応答速度を要求するが、高速なアクセスが可能な記憶装置上であればスワップアウトされることを許可するアプリケーションに対しては、例えば一次記憶装置211へのスワップアウトのみを許可する属性情報が付加され、更に、低速な応答速度でも構わないアプリケーションに対しては、何れの記憶装置(例えば一次記憶装置211及び二次記憶装置212)へでもスワップアウトされることを許可する属性情報が付加される。
【0040】
また、このほかのメモリ構成として、本実施形態では、例えばRAM(Random Access Memory)等の比較的アクセス速度が高速な記憶装置(これを二次記憶装置(高速)211とする)や、ハードディスクドライブ(以下HDDと略す)等の比較的アクセス速度が低速だが大容量を実現できる記憶装置(これを二次記憶装置(低速)212とする)等も設ける。
【0041】
仮想記憶管理部120は、物理メモリ空間213にユーザプロセスとして実行されたアプリケーション200が、OSカーネル101の持つ仮想記憶機能により必要に応じて二次記憶装置(高速)211又は二次記憶装置(低速)212へスワップアウトされた場合の対象とされたアプリケーションプロセスやスワップ先等を管理するための構成である。具体的には、スワップアウトされたアプリケーションのプロセスIDとスワップ先のポインタ(アドレス)とを管理する。これにより、スワップアウトしておいたアプリケーションをスワップインする必要が生じた場合でも、容易に対象のアプリケーション及びこのスワップ先を特定することが可能となる。
【0042】
また、属性情報アクセス部11は、アプリケーション200に対応づけられた属性情報220a,220b,220c,…(以下、任意の属性情報の符号を220とする)を読み取り、属性情報管理部12に格納するための構成である。属性情報管理部12は、実行されているアプリケーション200とこれの属性情報220とを例えばテーブル状に管理する。図2に、属性情報管理部12において管理された属性情報220とアプリケーション200との対応テーブルを示す。
【0043】
図2に示すように、属性情報管理部12では、アプリケーション200毎のプロセスIDと、各アプリケーションに対応づけられた属性情報との項目が格納されている。尚、属性情報は、例えば‘0’,‘1’で記述されており、対象のアプリケーションに要求される応答速度の分類毎に、スワップの可否が設定されるように構成されている。この分類には、例えば、スワップを禁止するための項目(『Non−SwapOut』)や、なるべく高速なアクセスが可能な記憶装置へのスワップのみを許可するための項目(『Fast−Device』)等が挙げられる。但し、スワップ先のアクセス速度に関係なくスワップを許可するための項目は、禁止する必要がないため、設けなくてもよい。図2に示す例では、‘0’はスワップを許可する記述であり、‘1’はスワップを禁止する記述である。従って、ユーザインタフェース(UI)アプリケーションとスキャンアプリケーションとに着目すると、UIアプリケーションのプロセスは『Non−SwapOut』の項目に‘1’が格納されているためにスワップが禁止されており、スキャンアプリケーションのプロセスは『Fast−Device』の項目に‘1’が格納されているために高速な記憶装置へのスワップのみ許可されている。また、このほかの構成として、属性情報をスワップ先のデバイス毎に設定するようにも構成することが可能である。
【0044】
二次記憶装置構成管理部12は、スワップ先となる記憶装置(二次記憶装置(高速)211,二次記憶装置(低速)212)の構成(数,容量,アクセス速度等)を管理するための構成である。二次記憶装置構成管理部12のデータ構造としては、例えば高速なアクセス速度を実現する二次記憶装置(高速)211に関する項目と、低速なアクセス速度を実現する二次記憶装置(低速)212に関する項目とを有し、それぞれの項目に、その具体的なデバイスの数や、個別又は合計のメモリ容量や、各デバイスのアクセス速度等の項目等を有している。従って、本実施形態では、仮想記憶機能が、この二次記憶装置構成管理部14及び属性情報管理部12に基づいて、何れの2次記憶装置へスワップアウトすることが適切かを判断できるように構成される。また、仮想記憶機能は、物理メモリ空間215に実行されているアプリケーション200において何れかをスワップアウトさせる場合、対応づけられている属性情報に基づいて、どれをスワップアウトさせるか判断するように構成されるとよい。更に、仮想記憶機能は、スワップアウトしておいたアプリケーション200が複数ある場合、対応づけられている属性情報に基づいて、どれを優先的にスワップインするか判断するように構成されると良い。
【0045】
属性情報複製部13は、例えばアプリケーション200が自プロセスの複製を作成し、これを物理メモリ空間213上に実行する際に対応するための構成である。即ち、アプリケーション200のプロセスが異なるプロセスIDで複製された場合、属性情報複製部13は、この新たなプロセスに対して元のプロセス(アプリケーション)に対応する属性情報を複製し、これを付加する。尚、複製されたアプリケーションに付加された属性情報は、属性情報管理部12において追加され、管理される。
【0046】
以上のように、仮想記憶機能を有するオペレーティングシステムに対して、主記憶装置上に実行されたアプリケーションのスワップに関する属性情報を宣言し、これを管理しておくことで、オペレーティングシステムが個々のアプリケーションが要求するリアルタイム性を考慮してスワップ処理を実行できるように構成されるため、リアルタイム性を要求するタスクに関するアプリケーションのスワップを回避する若しくは抑制することが可能になり、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能となる。
【0047】
次に、上記の情報処理装置1を用いて画像形成装置10を構成した場合について、以下に図面を用いて詳細に説明する。図3は、画像形成装置10の構成を示すブロック図である。
【0048】
図3に示すように、画像形成装置10は、データを入出力する入出力デバイスとしてスキャナデバイス301とプリンタデバイス302とUIデバイス303とネットワークアダプタ304とを有している。また、ミドルウェア(M/W)2Aには、OSカーネル101の他に、ドライバ110として、スキャナデバイス301を制御するためのスキャナドライバ111と,プリンタデバイス302を制御するためのプリンタドライバ112と,UIデバイス303を制御するためのUドライバ113と,ネットワークアダプタ304を制御するためのネットワークドライバ114とが設けられている。即ち、各入出力デバイスには、これを制御するためのドライバ110が設けられている。更に、M/W2Aには、上述した仮想記憶管理部120と属性情報アクセス部11と属性情報管理部12と属性情報複製部13と二次記憶装置構成管理部14とが設けられている。
【0049】
このほか、画像処理装置10には、OSカーネル101の制御の下で実行されるアプリケーション200として、スキャナデバイス301を用いて原稿の画像データを取り込む機能を提供するためのスキャナアプリケーション201と,スキャナデバイス301で取り込まれた画像データ又はネットワークアダプタ304を介して入力された画像データをハード出力する機能を提供するためのプリントアプリケーション202と,スキャナデバイス301で原稿の画像データを取り込み,更にこの画像データをプリンタデバイス302を用いてハード出力する機能(所謂コピー機能)を提供するためのコピーアプリケーション205とを有している。これらのアプリケーション201,202,205には、それぞれスワップ処理に関する属性情報221,222,225が付加されている。
【0050】
以上のような構成を有することで、画像形成装置10は、ネットワークを介して入力された画像データを出力するネットワークプリンタとしても、原稿台(スキャナデバイス301)に載置された原稿をコピーする複写機としても、また、スキャナデバイス301で取り込んだ画像データをネットワークへ出力するネットワークスキャナとしても機能することができる。
【0051】
本実施形態では、電源投入時等の初期化時に、上述しスキャンアプリケーション201,プリンタアプリケーション202,コピーアプリケーション205、更には図示しない表示部等に操作画面を描画するためのUI表示アプリケーション等の各アプリケーションを物理メモリ空間215にロードし実行する。この際、属性情報アクセス部11は、各アプリケーションに付随された属性情報(図3では符号221,222,225)を読み取り、これを属性情報管理部12に格納する。属性情報は、例えば具体的に図2で示したように、各アプリケーションに要求される応答速度で分類されている。また、初期化時において、二次記憶装置構成管理部14は、画像処理装置10に実装された二次記憶装置(図4では二次記憶装置(高速)211,二次記憶装置(低速)212)の個数や個別/総メモリ容量やアクセス速度等を取り込み、これを格納する。この初期化後、各アプリケーションは受信データや表示した操作画面(以下、UIパネルという)等からコマンドや、ネットワークから各種ジョブ等が入力されるのを待機する。
【0052】
このような構成において、ネットワークプリンタとして機能する場合(以下、この機能をネットワークプリンタ機能という)、画像形成装置10は、ネットワークアダプタ(ネットワークインともいう)304を経由してホストコンピュータからプリントデータ(画像データ)が入力されると、このプリントデータをOSカーネル101の制御下で実行されているプリントアプリケーション202に入力する。プリントアプリケーション202は、入力されたプリントデータをプリントデータ出力用フォーマットに適宜画像処理(例えばビットマップデータに変換するためのラスタライズ処理)した後、印刷を行うためのタスクを発生させ、これをOSカーネル101のインタフェースを介してプリンタドライバ112に入力する。プリンタドライバ112は、タスクが入力されると、割込みハンドラを立ち上げてプリンタデバイス302にアクセスし、これにタスクと共に入力されたプリントデータを入力する。プリンタデバイス302は入力された画像データをプリンタドライバ112の制御に基づいてハード出力する。
【0053】
また、ネットワークスキャナとして機能する場合(以下、この機能をネットワークスキャナ機能という)、画像形成装置10は、ネットワークアダプタ304を介してホストコンピュータから、又は、UIデバイス303を用いてユーザからスキャン要求(動作指示)が入力されると、このスキャン要求をOSカーネル101の制御下で実行されているスキャナアプリケーション201に入力する。スキャナアプリケーション201は、入力されたスキャン要求に基づいてスキャンを行うためのタスクを発生させ、これをOSカーネル101のインタフェースを介してスキャナドライバ111に入力する。スキャナドライバ111は、タスクが入力されると、割込みハンドラを立ち上げてスキャナデバイス301にアクセスし、スキャナデバイス301を制御する。スキャナデバイス301で読み取られた原稿の画像データは、スキャナドライバ111を介してスキャンアプリケーション201に入力され、スキャンアプリケーション201においてでユーザ環境での利用に適した画像フォーマット、例えばJPEG(Joint Photographic Coding Experts Group)規格等の所定の圧縮形式の画像データに変換され、電子ファイルとして画像形成装置10に設けられたHDD等の二次記憶装置(例えば212)に格納されるか、ネットワークアダプタ304を介して該当するホストコンピュータへ送信される。
【0054】
更に、複写機として動作する場合(以下この機能をダイレクトコピー機能という)、画像形成装置10は、UIデバイス303を通じてユーザからコピー要求(動作指示)が入力されると、これをOSカーネル101の制御下で実行されているコピーアプリケーション205に入力する。コピーアプリケーション201は、入力されたコピー要求に基づいてコピーを行うためのタスクを発生させる。この際、タスクには、原稿台に載置された原稿の画像データを取り込む(スキャンする)ためのタスクと、取り込んだ画像データをプリントアウトするためのタスクとがある。コピーアプリケーション205は、まず、原稿をスキャンするためのタスクをスキャナドライバ111に入力する。スキャナドライバ111は、タスクが入力されると、割込みハンドラを立ち上げてスキャナデバイス301にアクセスし、スキャナデバイス301を制御することで、原稿の画像データを取り込む。尚、この画像データは、バッファメモリ等に一時保持される。次に、コピーアプリケーション205は、保持されている画像データをプリントデータ出力用フォーマットに適宜画像処理(例えばビットマップデータに変換するためのラスタライズ処理)した後、印刷を行うためのタスクを発生させ、これをOSカーネル101のインタフェースを介してプリンタドライバ112に入力する。プリンタドライバ112は、タスクが入力されると、割込みハンドラを立ち上げてプリンタデバイス302にアクセスし、これにタスクと共に入力されたプリントデータを入力する。プリンタデバイス302は入力された画像データをプリンタドライバ112の制御に基づいてハード出力する。
【0055】
以上のような機能の実行中、仮想記憶管理部120は各アプリケーションおよびそれらが消費するメモリリソースを管理し、物理的に実装されたメモリ容量を越えたメモリリソースの要求があった場合、使用頻度の低いアプリケーション等を選定して物理メモリから二次記憶装置などに退避させることで、物理メモリの空き空間を確保する。この際、退避させる対象の選定時に属性情報管理部12に化膿されたテーブルを参照し、『Non−SwapOut』の欄が有効になっているアプリケーションを選定対象から除外する。また、『Fast−Device』の欄が有効になっているアプリケーションが退避される対象に選定された場合は、退避先の二次記憶装置が高速アクセスが可能な記憶装置、この例では二次記憶装置(高速)211に限定される。これにより、スワップインされる際にも、比較的高速にロードして復帰させることが可能となる。
【0056】
また、上記で例示したネットワークプリンタ機能とネットワークスキャナ機能とダイレクトコピー機能とが盛り込まれた画像形成装置10の動作を図4のフローチャートに示す。
【0057】
図3において、画像形成装置10は、ネットワークからプリントデータが入力された場合(ステップS101のYes)、このプリントデータを受信し(ステップS102)、プリンタアプリケーション202を用いてプリントデータに含まれるJCLヘッダにパース処理を施す(ステップS103)。次に、プリントデータに含まれる全ての画像データに対してプリンタアプリケーション202を用いてPDL処理を施し(ステップS104及びステップS105)、その後、これを上述したような手順によりプリンタデバイス202からハード出力する(ステップS106)。
【0058】
また、画像形成装置10は、ネットワークからプリントデータを受信せず(ステップS101のNo)にスキャン指示(要求)がネットワークから入力された場合(ステップS107のYes)、上述したような手順によりスキャナデバイス201から全ての原稿の画像データを取得する(ステップS108〜ステップS110)。その後、取得した全画像データをネットワークを介してスキャン指示を発行したホスト(コンピュータ)に転送する(ステップS111)。
【0059】
更にまた、画像形成装置10は、ネットワークからプリントデータを受信せず(ステップS101のNo)且つネットワークからスキャン要求が入力されず(ステップS107のNo)にコピー指示(要求)が入力された場合(ステップS112のYes)、上述したような手順によりスキャナデバイス201から原稿の画像データを取得し(ステップS113)、これにコピーアプリケーション205を用いて所定の画像処理を施した(ステップS114)後、上述したような手順によりプリンタデバイス202からこれをハード出力する(ステップS115)。尚、ステップS113からステップS115までの処理は、原稿1ページ毎又は1部毎に全ページが終了するまで繰り返される(ステップS116)。
【0060】
以上のように動作させることで、適宜、スキャン機能,プリント機能,ダイレクトコピー機能を使い分けることができるようになる。また、以上のような動作を信頼性や安定性が実現できる汎用OSの制御の下で実現する際、リアルタイム性が要求されるコピー動作等のプロセスが低速な記憶装置へスワップアウトされることを防止できるため、目的に応じて高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能な情報処理装置、特に画像形成装置が実現できる。即ち、仮想記憶管理部120が二次記憶装置(211,212)に退避させる対象を選定するとき、属性情報管理部12に格納された管理テーブルを参照することで、リアルタイム性が要求されるアプリケーションとそうでないものを区別することが可能となるため、システムの構成に合った物理メモリ管理方式が実現でき、結果的にパフォーマンス的に望ましいシステムを組むことができる。更に、これを実現するための構成を、汎用OSに追加して容易に組み込むことができるソフトウェアモジュールで実現しているため、効率的且つ容易に上記のような効果を得られる情報処理装置、特に画像形成装置を開発できる。
【0061】
尚、以上で説明した実施形態は本発明の好適な一実施形態にすぎず、本発明はその趣旨を逸脱しない限り種々変形して実施可能である。
【0062】
【発明の効果】
以上説明したように、本発明によれば、高リアルタイム性と高信頼性と高安定性とを同時に得ることが可能で且つ開発が容易な情報処理装置、画像形成装置、タスク実行方法、そのプログラム及びそのプログラムを記録した記録媒体が実現できる。
【図面の簡単な説明】
【図1】本発明の一実施形態による情報処理装置1の概略構成を示すブロック図である。
【図2】図1における属性情報管理部12に格納されたテーブルの構成を示す図である。
【図3】図1に示す情報処理装置1を適用した画像形成装置10の構成を示すブロック図である。
【図4】図3に示す画像形成装置10の動作を示すフローチャートである。
【図5】従来技術1による画像形成装置100の構成を示すブロック図である。
【図6】図5に示す画像形成装置100において仮想記憶機能による作用を説明するための図である。
【図7】従来技術2による画像形成装置200の構成を示すブロック図である。
【符号の説明】
1 情報処理装置 10 画像形成装置
11 属性情報アクセス部 12 属性情報管理部
13 属性情報複製部 14 二次記憶装置構成管理部
220a,220b,220c,221,222,225 属性情報
120 仮想記憶管理部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing apparatus, an image forming apparatus, a memory management method, a program thereof, and a recording medium on which the program is recorded, and particularly to an information processing apparatus having a general-purpose operating system (OS) mounted thereon, an image forming apparatus, and a memory management method. And a recording medium on which the program is recorded.
[0002]
[Prior art]
2. Description of the Related Art In recent years, so-called digital multifunction peripherals, which internally handle image data as digital data, have become mainstream in image forming apparatuses typified by multifunction peripherals in which a facsimile and other functions are integrated in a copying machine.
[0003]
A digital multifunction peripheral can hold image data digitally, and therefore is superior to a conventional analog type in terms of high image quality and flexibility in image processing. In addition, the digital multi-function peripheral has various functions such as a network printing function and a multi-PDL (Page Description Language) function.
[0004]
Many of these functions are executed as software (S / W) on the controller of the digital multi-function peripheral. Many of the controllers are equipped with a real-time operating system (RTOS) for embedded applications, and execute a plurality of S / Ws as application tasks. Note that an RTOS is an operating system (OS) designed and implemented specifically for embedded applications, such as priority control of application tasks and high-speed response of interrupts from hardware (H / W) devices. Has been realized.
[0005]
In general, an RTOS is required to have high-speed processing (real-time performance), a simple and compact program (compactness), and the like. For this reason, the design may be made while sacrificing some aspects such as reliability, stability, and versatility. For example, the virtual storage function employed in many OSs (hereinafter, such OSs are referred to as general-purpose OSs) such as the Windows (registered trademark) OS and the UNIX (registered trademark) OS is installed as a standard in most RTOSs. Not. For this reason, the type and number of programs that can be executed in the device in which the RTOS is embedded are limited by the capacity of the real memory mounted. The virtual storage function secures the capacity of the real memory by saving (swap-out) an application that is generally infrequently used to a secondary or subsequent storage device such as a hard disk drive (hereinafter abbreviated as HDD). This function allows you to load necessary programs. In addition, many RTOSs do not include, for example, a memory protection function and a file system function as standard.
[0006]
FIG. 5 illustrates a configuration of the
[0007]
In such a configuration, when it becomes necessary to secure the
[0008]
Further, among general-purpose OSs, UNIX-compatible OSs such as FreeBSD, NetBSD, and OpenBSD employ open source licenses and can be obtained at extremely low cost for acquiring source codes. Therefore, many S / Ws are being developed. is there. However, if the scale of the S / W is sufficiently small and there is no need to consider porting to another OS environment, it is sufficiently possible to construct an S / W that operates under the RTOS environment.
[0009]
However, when an image processing apparatus such as a digital multi-functional peripheral becomes highly functional and is scaled up by executing various application tasks, a problem due to a simple mechanism of the RTOS appears remarkably. More specifically, since it does not have a virtual storage function, a task exceeding the capacity of the real memory cannot be loaded into the memory and executed. Further, in an RTOS not equipped with a memory protection function, there is no means for preventing a task having a failure (bug or the like) in memory access from destroying another task or the program data of the RTOS itself. Further, depending on such a destructive situation, it becomes extremely difficult to analyze a phenomenon such as a system hang-up.
[0010]
On the other hand, a general-purpose OS has a virtual storage function, a memory protection function, and the like as standard, so that a high-performance system can be executed stably. However, such a general-purpose OS is often sacrificed in real-time performance, compactness, and the like for multifunctionality, high reliability, and high stability. For this reason, general-purpose OSs are generally not always suitable for embedded applications. That is, when a certain function is implemented by an application of a user process, by using the virtual memory function, it becomes possible to execute more applications than allowed by the capacity of the mounted real memory. However, if the virtual memory function is used, there is no guarantee that the user application once loaded in the real memory always resides in the real memory. For example, when executing a program that has been swapped out to the HDD, it must be loaded (swapped in) again into the real memory. Therefore, a time lag occurs before execution.
[0011]
The overhead related to the swap-in is not practically suitable for real-time processing and becomes fatal when high responsiveness is required. In particular, when controlling continuously with a plurality of devices, specifically, when configuring a digital multi-function peripheral that combines a device that captures image data like a scanner and a device that outputs images like a printer, Is handled by an application at the user process level, this application is subject to process scheduling possessed by the general-purpose OS, so that a time lag of swap-in from the HDD may occur. In such a case, the performance of the copier from image capture to printer output varies.
[0012]
As described above, since the OS for embedded applications and the general-purpose OS have contradictory performances, it is difficult to realize a platform with excellent real-time performance, reliability, and stability by utilizing both advantages. Was.
[0013]
As a conventional technique for solving such a problem, for example, there is a technique for incorporating a plurality of OSs into a single computer (computer) according to applications as disclosed in
[0014]
As shown in FIG. 7, the
[0015]
According to this conventional technique, a hybrid OS configuration in which a high-performance general-purpose OS and an RTOS excellent in real-time processing are combined can be realized. Therefore, it is possible to execute a relatively complicated application such as image processing on a general-purpose OS and execute S / W, such as a device driver, which requires real-time performance on an RTOS, thereby realizing high real-time performance and high reliability. And high stability can be obtained at the same time.
[0016]
[Patent Document 1]
JP-A-11-149385
[0017]
[Problems to be solved by the invention]
However, when a plurality of OSs are used as described above, there is a problem that license costs, maintenance costs, and the like are increased. In addition, there is a problem that control for exchanging information between a plurality of OSs becomes complicated, and the labor required for development increases. In particular, when a plurality of OSs are used, very complicated and high responsiveness is required in a task of allocating an interrupt source notified from a device to an optimal OS.
[0018]
The present invention has been made in view of the above-described problems, and is an information processing apparatus, an image forming apparatus, and a memory management method that can simultaneously achieve high real-time performance, high reliability, and high stability and that are easy to develop. , A program and a recording medium on which the program is recorded.
[0019]
[Means for Solving the Problems]
In order to achieve such an object, the present invention provides an information processing system having an operating system having a virtual storage function for swapping out one or more executed processes to a predetermined storage device. The apparatus comprises: attribute information storage means for storing attribute information that is a condition for swapping out the process; and virtual storage management means for managing a process swapped out to a predetermined storage device using the virtual storage function. The virtual storage function is configured to swap out the process to the predetermined storage device based on the attribute information stored in the attribute information storage unit. By declaring and managing attribute information related to the swap of the process executed on the first storage device to the operating system having the virtual storage function, the operating system can execute the real-time processing required by each process. It is configured to be able to execute swap processing in consideration of performance, so it is possible to avoid or suppress task swapping for tasks that require real-time performance, high real-time performance, high reliability and high stability Can be obtained at the same time.
[0020]
Preferably, the information processing apparatus according to the present invention manages at least one of the number of the predetermined storage devices, an individual memory capacity, a total memory capacity, and an access speed. A storage device configuration management unit, wherein the virtual storage function is based on at least one of the number, the individual memory capacity, the total memory capacity, and the access speed managed by the storage device configuration management unit. , Configured to determine a swap destination of the process. By limiting the swap destination of the process based on the number of the second storage devices, the individual / total memory capacity, and the access speed, the operating system can execute the swap process in consideration of the real-time property required by each process. With such a configuration, it is possible to avoid or suppress task swapping relating to tasks that require real-time properties, and it is possible to simultaneously achieve high real-time properties, high reliability, and high stability.
[0021]
Further, the attribute information according to
[0022]
Preferably, the information processing apparatus according to any one of
[0023]
According to a fifth aspect of the present invention, there is provided an information processing apparatus having an operating system having a virtual storage function for swapping out one or more executed processes to a predetermined storage device. Document reading means for reading data, print output means for printing out image data, and copying of a document image using the document reading means and the print output means, or an image input using the print output means Copy process generation means for printing out data or generating a process for reading an image of a document using the document reading means, and attribute information storage means for storing attribute information as conditions for swapping out the process And a virtual managing a process swapped out to a predetermined storage device using the virtual storage function. It has a 憶 management means, wherein the virtual memory function, configured to swap out the process in the predetermined storage device based on the attribute information stored in the attribute information storage unit. By declaring and managing attribute information related to the swap of the process executed on the first storage device to the operating system having the virtual storage function, the operating system can execute the real-time processing required by each process. It is configured so that swap processing can be executed in consideration of the performance, so that it is possible to avoid or suppress task swapping for tasks that require real-time performance such as direct copy, and achieve high real-time performance and high reliability. And high stability can be obtained at the same time.
[0024]
Preferably, the image forming apparatus manages at least one of the number of the predetermined storage devices, an individual memory capacity, a total memory capacity, and an access speed. A storage device configuration management unit, wherein the virtual storage function is based on at least one of the number, the individual memory capacity, the total memory capacity, and the access speed managed by the storage device configuration management unit. , Configured to determine a swap destination of the process. By limiting the swap destination of the process based on the number of the second storage devices, the individual / total memory capacity, and the access speed, the operating system can execute the swap process in consideration of the real-time property required by each process. With such a configuration, it is possible to avoid or suppress a process swap for a task such as a direct copy that requires real-time performance, and it is possible to simultaneously obtain high real-time performance, high reliability, and high stability. It becomes possible.
[0025]
Further, the attribute information according to claim 5 or 6 may include, for example, information for prohibiting swap-out and a predetermined storage device for realizing the first access speed. It may be configured to include at least one of swap-out permission information. With this configuration, it is possible to specify at least a process whose swap is to be prohibited and a process whose swap-out to the second storage device having a low access speed is to be prohibited. Since the configuration is such that swap processing can be executed in consideration of the above, it is possible to avoid or suppress task swapping relating to tasks that require real-time performance, such as direct copy, and achieve high real-time performance, high reliability, and high reliability. It is possible to obtain stability at the same time.
[0026]
Preferably, the image forming apparatus according to any one of claims 5 to 7, further comprising an attribute information duplicating unit that duplicates the attribute information, wherein the attribute information duplicating unit is configured to duplicate the attribute information. However, when the process creates a copy of itself, the attribute information corresponding to the original process is copied, and the copied attribute information is added to a newly created process. This makes it possible to cope with a case where a process creates a copy of its own process.
[0027]
Further, according to the present invention, one or more processes executed on a first storage device are swapped to a second storage device by using a virtual storage function implemented in an operating system. An attribute information management step of managing attribute information that is a condition for causing a process to be swapped out, and at least one of the processes executed on the first storage device is determined based on the attribute information. A swap-out step of performing a swap-out operation to the second storage device through the first storage device, and at least one of the processes swapped out to the second storage device based on the attribute information. And a swap-in step. By declaring and managing attribute information related to the swap of the process executed on the first storage device to the operating system having the virtual storage function, the operating system can execute the real-time processing required by each process. It is configured to be able to execute swap processing in consideration of performance, so it is possible to avoid or suppress task swapping for tasks that require real-time performance, high real-time performance, high reliability and high stability Can be obtained at the same time.
[0028]
Preferably, in the memory management method according to the ninth aspect, at least one of the number of the second storage devices, an individual memory capacity, a total memory capacity, and an access speed is managed. And a swap-out step based on at least one of the number, the individual memory capacity, the total memory capacity, and the access speed managed by the storage device configuration management unit. Thus, the swap destination of the process is determined. By limiting the swap destination of the process based on the number of the second storage devices, the individual / total memory capacity, and the access speed, the operating system can execute the swap process in consideration of the real-time property required by each process. With such a configuration, it is possible to avoid or suppress task swapping relating to tasks that require real-time properties, and it is possible to simultaneously achieve high real-time properties, high reliability, and high stability.
[0029]
The attribute information according to
[0030]
Preferably, the memory management method according to any one of claims 9 to 11 includes a process duplication step in which the process creates a self-replication, and a process duplication step in which the process duplicates itself. An attribute information duplication step of duplicating the attribute information of the duplicated process, and a duplicate attribute information management step of managing the attribute information duplicated in the attribute information duplication step in association with the process duplicated in the process duplication step And This makes it possible to cope with a case where a process creates a copy of its own process.
[0031]
According to the present invention, one or more processes executed on a first storage device are swapped to a second storage device by using a virtual storage function implemented in an operating system. At least one of an attribute information management process that manages attribute information that is a condition for swapping out a process, and a process executed on the first storage device. Swapping out to the second storage device based on the attribute information; and executing at least one of the processes swapped out to the second storage device based on the attribute information to the first storage device. And a swap-in process for swapping-in the storage device. By declaring and managing attribute information related to the swap of the process executed on the first storage device to the operating system having the virtual storage function, the operating system can execute the real-time processing required by each process. It is configured to be able to execute swap processing in consideration of performance, so it is possible to avoid or suppress task swapping for tasks that require real-time performance, high real-time performance, high reliability and high stability Can be obtained at the same time.
[0032]
The program according to
[0033]
Further, in the program according to claim 13 or 14, for example, as in claim 15, information for prohibiting the attribute information from being swapped out and a predetermined value for realizing a first access speed. It may be configured to include at least one of information for permitting swap-out to a storage device. With this configuration, it is possible to specify at least a process whose swap is to be prohibited and a process whose swap-out to the second storage device having a low access speed is to be prohibited. Since it is configured to be able to execute swap processing taking into account, it is possible to avoid or suppress task swapping for tasks that require real-time performance, and to achieve high real-time performance, high reliability, and high stability. It can be obtained at the same time.
[0034]
Preferably, the program according to any one of
[0035]
Further, according to the present invention, as described in claim 17, the program according to any one of
[0036]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram illustrating a schematic configuration of the
[0037]
In this embodiment, a general-purpose operating system (OS) such as UNIX is used for the platform. It is more preferable to apply an open source license such as FreeBSD, NetBSD, and OpenBSD to the general-purpose OS.
[0038]
As shown in FIG. 1, the
[0039]
The
[0040]
In the present embodiment, as another memory configuration, for example, a storage device having a relatively high access speed such as a random access memory (RAM) (this is referred to as a secondary storage device (high speed) 211) or a hard disk drive A storage device such as an HDD (hereinafter abbreviated as HDD), which has a relatively low access speed but can realize a large capacity (this is referred to as a secondary storage device (low speed) 212), is also provided.
[0041]
The virtual
[0042]
Further, the attribute information access unit 11 reads the
[0043]
As shown in FIG. 2, the attribute
[0044]
The secondary storage device
[0045]
The attribute
[0046]
As described above, by declaring attribute information related to the swap of the application executed on the main storage device to the operating system having the virtual storage function and managing the attribute information, the operating system allows the individual application to execute the operation. Since it is configured so that swap processing can be executed in consideration of the required real-time performance, it is possible to avoid or suppress application swapping for tasks that require real-time performance, and achieve high real-time performance and high reliability. High stability can be obtained at the same time.
[0047]
Next, a case where the
[0048]
As shown in FIG. 3, the
[0049]
In addition, the
[0050]
With the above configuration, the
[0051]
In the present embodiment, at the time of initialization such as when the power is turned on, each application such as the above-described
[0052]
In such a configuration, when functioning as a network printer (hereinafter, this function is referred to as a network printer function), the
[0053]
When the
[0054]
Further, when operating as a copier (hereinafter, this function is referred to as a direct copy function), when a copy request (operation instruction) is input from the user through the
[0055]
During the execution of the above functions, the virtual
[0056]
The operation of the
[0057]
3, when print data is input from the network (Yes in step S101), the
[0058]
If the
[0059]
Furthermore, when the
[0060]
By operating as described above, the scan function, print function, and direct copy function can be used properly. Also, when implementing the above operations under the control of a general-purpose OS capable of realizing reliability and stability, it is necessary to ensure that processes such as copy operations that require real-time performance are swapped out to low-speed storage devices. Therefore, it is possible to realize an information processing apparatus, particularly an image forming apparatus, capable of simultaneously obtaining high real-time performance, high reliability, and high stability according to the purpose. That is, when the virtual
[0061]
The embodiment described above is only a preferred embodiment of the present invention, and the present invention can be implemented in various modifications without departing from the spirit thereof.
[0062]
【The invention's effect】
As described above, according to the present invention, an information processing apparatus, an image forming apparatus, a task execution method, and a program that can simultaneously achieve high real-time performance, high reliability, and high stability and are easy to develop And a recording medium on which the program is recorded.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a schematic configuration of an
FIG. 2 is a diagram showing a configuration of a table stored in an attribute
FIG. 3 is a block diagram illustrating a configuration of an
4 is a flowchart illustrating an operation of the
FIG. 5 is a block diagram illustrating a configuration of an
FIG. 6 is a diagram for explaining an operation by a virtual storage function in the
FIG. 7 is a block diagram illustrating a configuration of an
[Explanation of symbols]
1
11 Attribute
13 Attribute
220a, 220b, 220c, 221, 222, 225 Attribute information
120 virtual storage management unit
Claims (17)
前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、
前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、
前記仮想記憶機能は、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせることを特徴とする情報処理装置。In an information processing apparatus having an operating system having a virtual storage function for swapping out one or more executed processes to a predetermined storage device,
Attribute information storage means storing attribute information which is a condition for swapping out the process,
Virtual storage management means for managing a process swapped out to a predetermined storage device using the virtual storage function,
The information processing apparatus according to claim 1, wherein the virtual storage function causes the process to be swapped out to the predetermined storage device based on the attribute information stored in the attribute information storage unit.
前記仮想記憶機能は、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を決定することを特徴とする請求項1記載の情報処理装置。A storage device configuration management unit that manages at least one of the number of the predetermined storage devices, an individual memory capacity, a total memory capacity, and an access speed;
The virtual storage function determines a swap destination of the process based on at least one of the number, the individual memory capacity, the total memory capacity, and the access speed managed by the storage device configuration management unit. The information processing apparatus according to claim 1, wherein:
前記属性情報複製手段は、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加することを特徴とする請求項1から3の何れか1項に記載の情報処理装置。Having attribute information copying means for copying the attribute information,
The attribute information copying means, when the process creates its own copy, copies the attribute information corresponding to the original process, and adds the copied attribute information to a newly created process. The information processing apparatus according to any one of claims 1 to 3, wherein
原稿の画像データを読み取る原稿読取り手段と、
画像データを印刷出力する印刷出力手段と、
前記原稿読取り手段及び前記印刷出力手段を用いて原稿画像をコピーする、又は、前記印刷出力手段を用いて入力された画像データを印刷出力する、又は、前記原稿読取り手段を用いて原稿の画像を読み取るためのプロセスを生成するコピープロセス生成手段と、
前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、
前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、
前記仮想記憶機能は、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせることを特徴とする画像形成装置。In an information processing apparatus having an operating system having a virtual storage function for swapping out one or more executed processes to a predetermined storage device,
Document reading means for reading image data of the document,
Print output means for printing out image data,
Copying a document image using the document reading means and the print output means, or printing out image data input using the print output means, or using a document reading means to copy a document image Copy process generating means for generating a process for reading;
Attribute information storage means storing attribute information which is a condition for swapping out the process,
Virtual storage management means for managing a process swapped out to a predetermined storage device using the virtual storage function,
The image forming apparatus, wherein the virtual storage function causes the process to be swapped out to the predetermined storage device based on the attribute information stored in the attribute information storage unit.
前記仮想記憶機能は、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を決定することを特徴とする請求項5記載の画像形成装置。A storage device configuration management unit that manages at least one of the number of the predetermined storage devices, an individual memory capacity, a total memory capacity, and an access speed;
The virtual storage function determines a swap destination of the process based on at least one of the number, the individual memory capacity, the total memory capacity, and the access speed managed by the storage device configuration management unit. The image forming apparatus according to claim 5, wherein:
前記属性情報複製手段は、前記プロセスが自己の複製を作成した場合、元となる前記プロセスに対応する前記属性情報を複製し、複製した該属性情報を新たに作成されたプロセスに付加することを特徴とする請求項5から7の何れか1項に記載の画像形成装置。Having attribute information copying means for copying the attribute information,
The attribute information copying means, when the process creates its own copy, copies the attribute information corresponding to the original process, and adds the copied attribute information to a newly created process. The image forming apparatus according to any one of claims 5 to 7, wherein:
プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理ステップと、
前記第1の記憶装置上に実行された前記プロセスのうち少なくとも1つを前記属性情報に基づいて前記第2の記憶装置へスワップアウトさせるスワップアウトステップと、
前記属性情報に基づいて前記第2の記憶装置へスワップアウトされた前記プロセスのうち少なくとも1つを前記第1の記憶装置へスワップインさせるスワップインステップと、
を有することを特徴とするメモリ管理法法。A memory management method for swapping out one or more processes executed on a first storage device to a second storage device by using a virtual storage function implemented in an operating system,
An attribute information management step of managing attribute information that is a condition for swapping out the process;
A swap-out step of swapping out at least one of the processes executed on the first storage device to the second storage device based on the attribute information;
A swap-in step of swapping at least one of the processes swapped out to the second storage device based on the attribute information into the first storage device;
A memory management method comprising:
前記スワップアウトステップは、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を決定することを特徴とする請求項9記載のメモリ管理方法。A storage device configuration management step of managing at least one of the number, the individual memory capacity, the total memory capacity, and the access speed of the second storage device;
The swap-out step determines a swap destination of the process based on at least one of the number managed by the storage device configuration management unit, the individual memory capacity, the total memory capacity, and the access speed. 10. The memory management method according to claim 9, wherein:
前記プロセス複製ステップで複製された前記プロセスの前記属性情報を複製する属性情報複製ステップと、
前記属性情報複製ステップで複製した前記属性情報を前記プロセス複製ステップで複製した前記プロセスに対応づけて管理する複製属性情報管理ステップと、
を有することを特徴とする請求項9から11の何れか1項に記載のメモリ管理方法。A process replication step in which the process creates a copy of itself;
An attribute information copying step of copying the attribute information of the process copied in the process copying step,
A copy attribute information management step of managing the attribute information copied in the attribute information copy step in association with the process copied in the process copy step,
The memory management method according to any one of claims 9 to 11, further comprising:
プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理処理と、
前記第1の記憶装置上に実行された前記プロセスのうち少なくとも1つを前記属性情報に基づいて前記第2の記憶装置へスワップアウトさせるスワップアウト処理と、
前記属性情報に基づいて前記第2の記憶装置へスワップアウトされた前記プロセスのうち少なくとも1つを前記第1の記憶装置へスワップインさせるスワップイン処理と、
を前記コンピュータに実行させるためのプログラム。A program for causing a computer to swap one or more processes executed on a first storage device to a second storage device by using a virtual storage function implemented in an operating system, the program comprising:
Attribute information management processing for managing attribute information that is a condition for swapping out a process;
Swap-out processing for swapping out at least one of the processes executed on the first storage device to the second storage device based on the attribute information;
A swap-in process of swapping at least one of the processes swapped out to the second storage device based on the attribute information into the first storage device;
For causing the computer to execute.
前記スワップアウト処理は、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも1つに基づいて、前記プロセスのスワップ先を前記コンピュータに決定させることを特徴とする請求項13記載のプログラム。Causing the computer to execute a storage device configuration management process for managing at least one of the number of the second storage devices, individual memory capacity, total memory capacity, and access speed;
In the swap-out processing, the swap destination of the process is determined by the computer based on at least one of the number managed by the storage device configuration management unit, the individual memory capacity, the total memory capacity, and the access speed. 14. The program according to claim 13, wherein
前記プロセス複製処理で複製された前記プロセスの前記属性情報を複製する属性情報複製処理と、
前記属性情報複製処理で複製した前記属性情報を前記プロセス複製処理で複製した前記プロセスに対応づけて管理する複製属性情報管理処理と、
を前記コンピュータに実行させるための請求項13から15の何れか1項に記載のプログラム。A process replication process in which the process creates a copy of itself;
Attribute information duplication processing for duplicating the attribute information of the process duplicated in the process duplication processing;
A copy attribute information management process for managing the attribute information copied in the attribute information copy process in association with the process copied in the process copy process,
The program according to any one of claims 13 to 15, which causes the computer to execute:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003060342A JP2004272460A (en) | 2003-03-06 | 2003-03-06 | Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003060342A JP2004272460A (en) | 2003-03-06 | 2003-03-06 | Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004272460A true JP2004272460A (en) | 2004-09-30 |
Family
ID=33122914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003060342A Pending JP2004272460A (en) | 2003-03-06 | 2003-03-06 | Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004272460A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008532164A (en) * | 2005-03-02 | 2008-08-14 | シンビアン ソフトウェア リミテッド | Dual mode operating system for computer equipment |
JP2009104247A (en) * | 2007-10-19 | 2009-05-14 | Ricoh Co Ltd | Virtual storage control device, virtual storage control method, virtual storage control program, and recording medium |
JP2010198304A (en) * | 2009-02-25 | 2010-09-09 | Canon Inc | Information processing apparatus, virtual storage management method, and program |
-
2003
- 2003-03-06 JP JP2003060342A patent/JP2004272460A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008532164A (en) * | 2005-03-02 | 2008-08-14 | シンビアン ソフトウェア リミテッド | Dual mode operating system for computer equipment |
JP2009104247A (en) * | 2007-10-19 | 2009-05-14 | Ricoh Co Ltd | Virtual storage control device, virtual storage control method, virtual storage control program, and recording medium |
JP2010198304A (en) * | 2009-02-25 | 2010-09-09 | Canon Inc | Information processing apparatus, virtual storage management method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7209249B2 (en) | Method of and apparatus for image formation, and computer product | |
US8373870B2 (en) | Information processing apparatus and control method thereof | |
US20080304090A1 (en) | Information processing apparatus and information processing program | |
JP4533251B2 (en) | Information processing system and job assignment method | |
US20090219569A1 (en) | Information processing apparatus, information processing system, and information processing method | |
JP4101004B2 (en) | Image forming apparatus | |
US7355739B2 (en) | Image forming device having a memory assignment unit | |
US8095791B2 (en) | Distributed processing system, distributed processing method and image processing apparatus | |
US8665460B2 (en) | Print system, printing apparatus, printing method and printing program | |
US9081530B2 (en) | Control system for forming and outputting image, control apparatus for forming and outputting image, and recording medium storing a control program for forming and outputting image | |
JP2008003954A (en) | Printing system, image forming apparatus, and method and program for reprinting control | |
US20160019105A1 (en) | Computer embedded apparatus, recording medium and computer embedded apparatus test system | |
JP2004272460A (en) | Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program | |
JP5450678B2 (en) | Network event notification system | |
JP4407132B2 (en) | Information processing apparatus, image forming apparatus, task execution method, program thereof, and recording medium recording the program | |
JP4128468B2 (en) | Information processing apparatus and memory map method | |
JP4128467B2 (en) | Image forming apparatus and memory map method | |
JP2004066809A (en) | Image forming apparatus, and method of booting program | |
JP2018049511A (en) | Information processing device and program | |
JP2004272479A (en) | Information processor, image forming device, swap-out control method, program therefor, and recording medium recorded with program | |
JP3857654B2 (en) | Image forming apparatus, user information management method, user information management program, and recording medium | |
JP4093770B2 (en) | Data transfer method and interface control module, device control module and image forming apparatus using the data transfer method | |
JP2010218469A (en) | Information processor, information processing method, program and recording medium | |
JP2009044232A (en) | Image processor, scan data split transmission method, and scan data split transmission program | |
JP2007305143A (en) | Information processor and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081020 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090113 |