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 PDF

Info

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
Application number
JP2003060342A
Other languages
Japanese (ja)
Inventor
Masahiko Harada
政彦 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2003060342A priority Critical patent/JP2004272460A/en
Publication of JP2004272460A publication Critical patent/JP2004272460A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor, an image forming device, a memory management method, a program therefor and a recording medium recorded with the program which can simultaneously obtain a high real time performance, a high reliability and a high stability, and can easily be developed. <P>SOLUTION: The information processor 1 using a general OS includes a virtual storage managing part 120 for realizing a virtual storage function, an attribute information access part 11, an attribute information managing part 12, an attribute information reproducing part 13 and a secondary storage device configuration managing part 14. The virtual storage managing part 120 manages the swap destination of an application(process). The attribute information access part 11 reads attribute information 220 corresponding to the application 200, and stores it in the attribute information managing part 12. The secondary storage device configuration managing part 12 manages the configuration of the secondary storage devices 211 and 212. The virtual storage function decides the objective process and the swap destination based on the secondary storage device configuration managing part 14 and the attribute information managing part 12. <P>COPYRIGHT: (C)2004,JPO&NCIPI

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 image forming apparatus 100 when configured using a general-purpose OS (this is referred to as Conventional Technology 1). The image forming apparatus 100 is a driver that controls an OS kernel 101, which is a general-purpose OS, and an input / output device 300 (in FIG. 5, a scanner driver 111, a printer driver 112, and a network driver 114 are illustrated; ). The OS kernel 101 and the driver 110 are components included in so-called middleware (M / W) 102, and are realized by being executed by, for example, a CPU (Central Processing Unit). An application (in FIG. 5 exemplifies a scan application 201, a print application 202, and a copy application 205; hereinafter, an arbitrary application is denoted by reference numeral 200) is software executed under the control of the OS kernel 101. It is developed as a process in a main storage device 215 such as a RAM (Random Access Memory). The input / output device 300 is a peripheral device such as, for example, a scanner device 301, a printer device 302, and a network adapter 304 (hereinafter, the symbol of an arbitrary input / output device is referred to as 300). Thus, data input / output with the M / W 102 is realized.
[0007]
In such a configuration, when it becomes necessary to secure the free space 206 in the physical memory, the OS kernel 101 uses the virtual storage function to transfer any application (for example, the copy application 205) as shown in FIG. , Is swapped out to a virtual space 210 provided in a secondary storage device 214 constituted by an HDD or the like. The application process swapped out on the virtual space 210 is managed by the virtual storage management unit 120, and is swapped into the physical memory of the main storage device 215 as necessary. With such control, even in a case where execution of an application larger than the physical memory is requested, it can be executed with high reliability and high stability in a general-purpose OS environment. In FIG. 6, the physical memory corresponds to a memory space in the main storage device 215.
[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 Patent Document 1 shown below. FIG. 7 shows a configuration of an image forming apparatus 200 configured using this technology (this is referred to as Conventional Technology 2).
[0014]
As shown in FIG. 7, the image forming apparatus 200 executes tasks requiring real-time properties, such as a scan task 151, a print task 152, a UI task 153, and a copy task 155, in the RTOS 103 environment. The application 200 and the transmission / reception of data via the network are executed under a general-purpose OS environment capable of realizing high reliability and high stability.
[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 claim 1 or 2 is, for example, information for prohibiting swap-out and a predetermined storage device that realizes a first access speed, as described in claim 1 or 2. And at least one of information for permitting swap-out to 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.
[0022]
Preferably, the information processing apparatus according to any one of claims 1 to 3, further includes 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.
[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 claim 9 or 10 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 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.
[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 claim 13, wherein the program manages at least one of the number of the second storage devices, an individual memory capacity, a total memory capacity, and an access speed. Causing the computer to execute a configuration management process; and performing the swap-out 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 computer is configured to determine the 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.
[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 claims 13 to 15 is replicated by a process replication process in which the process creates a copy of itself and the process replication process as described in claim 16. An attribute information duplication process of duplicating the attribute information of the process, and a duplication attribute information management process of managing the attribute information duplicated in the attribute information duplication process in association with the process duplicated in the process duplication process; Is executed by the computer. This makes it possible to cope with a case where a process creates a copy of its own process.
[0035]
Further, according to the present invention, as described in claim 17, the program according to any one of claims 13 to 16 is provided by being recorded on a recording medium. As a result, this program can be widely distributed.
[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 information processing apparatus 1 according to the present embodiment.
[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 information processing apparatus 1 includes an OS kernel 101, which is a general-purpose OS, and a virtual storage management unit 120 for realizing a virtual storage function pre-installed in the general-purpose OS. Further, it is configured to include an attribute information access unit 11, an attribute information management unit 12, an attribute information duplication unit 13, and a secondary storage device configuration management unit 14 unique to the present embodiment. The OS kernel 101, the virtual storage management unit 120, the attribute information access unit 11, the attribute information management unit 12, the attribute information duplication unit 13, and the secondary storage device configuration management unit 14 are included in so-called middleware (M / W) 2. The configuration is realized by being executed by, for example, a CPU (Central Processing Unit) or the like. However, the OS kernel 101 also has functions such as a memory protection function that is generally installed as a standard in a general-purpose OS.
[0039]
The applications 200a, 200b, 200c,... (Hereinafter, an arbitrary application is denoted by reference numeral 200) are software executed under the control of the OS kernel 101. As the user process, for example, a RAM (Random Access Memory) or the like is used. This is executed in the physical memory space 213 in the primary storage device. In this embodiment, the application 200 is associated with attribute information including a condition (swap condition) determined based on a response speed or the like requested by the application. That is, in the present embodiment, an application that does not require a high response speed and an application that may have a low response speed are defined in advance, and the virtual storage function is configured to operate based on the application. As a specific example, for example, for an application that requests a high response speed and wants to avoid being swapped out, attribute information prohibiting this is added, and a high response speed is requested. For an application that permits swap-out on a storage device that can be easily accessed, for example, attribute information that permits only swap-out to the primary storage device 211 is added. However, for applications that can be used, attribute information that permits swap-out to any storage device (for example, the primary storage device 211 and the secondary storage device 212) is added.
[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 storage management unit 120 is configured to allow the application 200 executed as a user process in the physical memory space 213 to use the virtual storage function of the OS kernel 101 as necessary to use the secondary storage device (high speed) 211 or the secondary storage device (low speed). ) This is a configuration for managing application processes, swap destinations, and the like that are targeted when swapped out to 212. Specifically, it manages the process ID of the swapped out application and the pointer (address) of the swap destination. As a result, even when it becomes necessary to swap in an application that has been swapped out, it is possible to easily specify the target application and the swap destination.
[0042]
Further, the attribute information access unit 11 reads the attribute information 220 a, 220 b, 220 c,... (Hereinafter referred to as an arbitrary attribute information code 220) associated with the application 200 and stores it in the attribute information management unit 12. It is a configuration for. The attribute information management unit 12 manages the application 200 being executed and the attribute information 220 thereof in, for example, a table. FIG. 2 shows a correspondence table between the attribute information 220 managed by the attribute information management unit 12 and the application 200.
[0043]
As shown in FIG. 2, the attribute information management unit 12 stores items of a process ID for each application 200 and attribute information associated with each application. It should be noted that the attribute information is described as, for example, “0” and “1”, and is configured so that whether or not a swap is permitted is set for each classification of the response speed required for the target application. This classification includes, for example, an item for prohibiting swap (“Non-SwapOut”) and an item for permitting only swap to a storage device that can be accessed as fast as possible (“Fast-Device”). Is mentioned. However, the item for permitting the swap regardless of the access speed of the swap destination does not need to be prohibited, and thus may not be provided. In the example shown in FIG. 2, "0" is a description for permitting swap, and "1" is a description for prohibiting swap. Therefore, when focusing on the user interface (UI) application and the scan application, the process of the UI application is prohibited from being swapped because “1” is stored in the “Non-SwapOut” item. Since “1” is stored in the item of “Fast-Device”, only swapping to a high-speed storage device is permitted. Further, as another configuration, it is possible to configure so that the attribute information is set for each swap destination device.
[0044]
The secondary storage device configuration management unit 12 manages the configuration (number, capacity, access speed, etc.) of the storage devices (secondary storage device (high-speed) 211, secondary storage device (low-speed) 212) as swap destinations. It is a structure of. The data structure of the secondary storage device configuration management unit 12 relates to, for example, items relating to the secondary storage device (high speed) 211 for realizing a high access speed and the secondary storage device (low speed) 212 for realizing a low access speed. Each item has items such as the number of specific devices, individual or total memory capacity, access speed of each device, and the like. Therefore, in the present embodiment, the virtual storage function can determine to which secondary storage device it is appropriate to swap out based on the secondary storage device configuration management unit 14 and the attribute information management unit 12. Be composed. Further, the virtual storage function is configured to determine which of the applications 200 executed in the physical memory space 215 is to be swapped out based on the associated attribute information when any of the applications 200 is swapped out. Good to be. Furthermore, when there are a plurality of applications 200 that have been swapped out, the virtual storage function may be configured to determine which of the applications 200 is to be swapped in preferentially based on the associated attribute information.
[0045]
The attribute information copying unit 13 has a configuration to cope with, for example, when the application 200 creates a copy of its own process and executes it on the physical memory space 213. That is, when the process of the application 200 is duplicated with a different process ID, the attribute information duplication unit 13 duplicates the attribute information corresponding to the original process (application) with respect to the new process and adds it. The attribute information added to the copied application is added and managed by the attribute information management unit 12.
[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 image forming apparatus 10 is configured using the information processing apparatus 1 will be described in detail below with reference to the drawings. FIG. 3 is a block diagram illustrating a configuration of the image forming apparatus 10.
[0048]
As shown in FIG. 3, the image forming apparatus 10 has a scanner device 301, a printer device 302, a UI device 303, and a network adapter 304 as input / output devices for inputting / outputting data. In addition to the OS kernel 101, the middleware (M / W) 2A includes, as drivers 110, a scanner driver 111 for controlling the scanner device 301, a printer driver 112 for controlling the printer device 302, and a UI. A U driver 113 for controlling the device 303 and a network driver 114 for controlling the network adapter 304 are provided. That is, each input / output device is provided with a driver 110 for controlling the input / output device. Further, the M / W 2A is provided with the above-described virtual storage management unit 120, attribute information access unit 11, attribute information management unit 12, attribute information duplication unit 13, and secondary storage device configuration management unit 14.
[0049]
In addition, the image processing apparatus 10 includes, as an application 200 executed under the control of the OS kernel 101, a scanner application 201 for providing a function of capturing image data of a document using the scanner device 301; A print application 202 for providing a function of hard-outputting the image data captured at 301 or the image data input via the network adapter 304, and the image data of the original document captured by the scanner device 301, and the image data is further processed. It has a copy application 205 for providing a function of outputting hard using the printer device 302 (a so-called copy function). Attribute information 221, 222, and 225 relating to swap processing are added to these applications 201, 202, and 205, respectively.
[0050]
With the above configuration, the image forming apparatus 10 can copy a document placed on a platen (scanner device 301) as a network printer that outputs image data input via a network. And a network scanner for outputting image data captured by the scanner device 301 to a network.
[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 scan application 201, printer application 202, copy application 205, and a UI display application for drawing an operation screen on a display unit (not shown) or the like. Is loaded into the physical memory space 215 and executed. At this time, the attribute information access unit 11 reads the attribute information (reference numerals 221, 222, and 225 in FIG. 3) attached to each application, and stores it in the attribute information management unit 12. The attribute information is classified according to the response speed required for each application, for example, as specifically shown in FIG. In addition, at the time of initialization, the secondary storage device configuration management unit 14 stores the secondary storage devices (the secondary storage device (high speed) 211 and the secondary storage device (low speed) 212 in FIG. 4) mounted on the image processing apparatus 10. ), The individual / total memory capacity, the access speed, and the like are fetched and stored. After this initialization, each application waits for a command from received data, a displayed operation screen (hereinafter, referred to as a UI panel), or the input of various jobs from the network.
[0052]
In such a configuration, when functioning as a network printer (hereinafter, this function is referred to as a network printer function), the image forming apparatus 10 sends print data (image data) from a host computer via a network adapter (also referred to as network in) 304. When the data is input, the print data is input to the print application 202 executed under the control of the OS kernel 101. The print application 202 appropriately performs image processing (for example, rasterization processing for converting to bitmap data) of the input print data into a print data output format, and then generates a task for performing printing, and generates the task for printing. Input to the printer driver 112 via the interface 101. When a task is input, the printer driver 112 starts an interrupt handler, accesses the printer device 302, and inputs the print data input together with the task. The printer device 302 hard-outputs the input image data under the control of the printer driver 112.
[0053]
When the image forming apparatus 10 functions as a network scanner (hereinafter, this function is referred to as a network scanner function), the image forming apparatus 10 requests a scan request (operation) from a host computer via the network adapter 304 or from a user using the UI device 303. When the instruction is input, the scan request is input to the scanner application 201 executed under the control of the OS kernel 101. The scanner application 201 generates a task for performing a scan based on the input scan request, and inputs the task to the scanner driver 111 via the interface of the OS kernel 101. When a task is input, the scanner driver 111 starts an interrupt handler, accesses the scanner device 301, and controls the scanner device 301. The image data of the document read by the scanner device 301 is input to the scan application 201 via the scanner driver 111, and the scan application 201 uses an image format suitable for use in a user environment, for example, a JPEG (Joint Photographic Coding Experts Group). The image data is converted into image data in a predetermined compression format such as a standard and stored as an electronic file in a secondary storage device (for example, 212) such as an HDD provided in the image forming apparatus 10 or via a network adapter 304. Sent to the host computer.
[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 UI device 303, the image forming apparatus 10 controls this by the OS kernel 101. Input to the copy application 205 executed below. The copy application 201 generates a task for performing a copy based on the input copy request. At this time, the tasks include a task for capturing (scanning) image data of the document placed on the document table and a task for printing out the captured image data. The copy application 205 first inputs a task for scanning a document to the scanner driver 111. When a task is input, the scanner driver 111 launches an interrupt handler, accesses the scanner device 301, and controls the scanner device 301 to capture image data of a document. This image data is temporarily stored in a buffer memory or the like. Next, the copy application 205 performs image processing (for example, rasterizing processing for converting to bitmap data) on the held image data into a print data output format as appropriate, and then generates a task for printing. This is input to the printer driver 112 via the interface of the OS kernel 101. When a task is input, the printer driver 112 starts an interrupt handler, accesses the printer device 302, and inputs the print data input together with the task. The printer device 302 hard-outputs the input image data under the control of the printer driver 112.
[0055]
During the execution of the above functions, the virtual memory management unit 120 manages each application and the memory resources consumed by the applications, and when there is a request for a memory resource exceeding the physically implemented memory capacity, the An empty space in the physical memory is secured by selecting an application or the like having a low physical memory and saving it from the physical memory to a secondary storage device or the like. At this time, the application in which the column of “Non-SwapOut” is enabled is excluded from the selection targets by referring to the table that has been suppurated by the attribute information management unit 12 when the target to be saved is selected. If an application for which the “Fast-Device” column is enabled is selected as an object to be saved, the secondary storage device at the save destination is a storage device capable of high-speed access, in this example, the secondary storage device. It is limited to the device (high speed) 211. This makes it possible to load and return at relatively high speed even when swapped in.
[0056]
The operation of the image forming apparatus 10 incorporating the network printer function, the network scanner function, and the direct copy function exemplified above is shown in the flowchart of FIG.
[0057]
3, when print data is input from the network (Yes in step S101), the image forming apparatus 10 receives the print data (step S102), and uses the printer application 202 to print the JCL header included in the print data. Is subjected to a parse process (step S103). Next, PDL processing is performed on all the image data included in the print data by using the printer application 202 (steps S104 and S105), and thereafter, this is hard-output from the printer device 202 according to the procedure described above. (Step S106).
[0058]
If the image forming apparatus 10 receives a scan instruction (request) from the network without receiving print data from the network (No in step S101) (Yes in step S107), the scanner device performs the above-described procedure. Image data of all originals is acquired from 201 (steps S108 to S110). Thereafter, all the acquired image data is transferred via the network to the host (computer) that issued the scan instruction (step S111).
[0059]
Furthermore, when the image forming apparatus 10 does not receive print data from the network (No in step S101) and does not input a scan request from the network (No in step S107), a copy instruction (request) is input ( (Yes in step S112), the image data of the document is acquired from the scanner device 201 by the above-described procedure (step S113), and predetermined image processing is performed using the copy application 205 (step S114). This is output from the printer device 202 by hardware according to the procedure described above (step S115). The processing from step S113 to step S115 is repeated until all pages have been completed for each page of the document or for each copy (step S116).
[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 storage management unit 120 selects a target to be saved in the secondary storage device (211, 212), the virtual table management unit 120 refers to the management table stored in the attribute information management unit 12, so that an application that requires real-time performance is selected. Since it is possible to discriminate between those that are not and those that are not, a physical memory management method that matches the system configuration can be realized, and as a result, a system that is desirable in terms of performance can be constructed. Further, since the configuration for realizing this is realized by a software module that can be easily incorporated in addition to a general-purpose OS, an information processing apparatus that can efficiently and easily obtain the above-described effects, particularly, An image forming apparatus can be developed.
[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 information processing apparatus 1 according to an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a table stored in an attribute information management unit 12 in FIG.
FIG. 3 is a block diagram illustrating a configuration of an image forming apparatus 10 to which the information processing apparatus 1 illustrated in FIG. 1 is applied.
4 is a flowchart illustrating an operation of the image forming apparatus 10 illustrated in FIG.
FIG. 5 is a block diagram illustrating a configuration of an image forming apparatus 100 according to the related art 1.
FIG. 6 is a diagram for explaining an operation by a virtual storage function in the image forming apparatus 100 shown in FIG.
FIG. 7 is a block diagram illustrating a configuration of an image forming apparatus 200 according to the related art 2.
[Explanation of symbols]
1 information processing device 10 image forming device
11 Attribute information access unit 12 Attribute information management unit
13 Attribute information duplication unit 14 Secondary storage device configuration management unit
220a, 220b, 220c, 221, 222, 225 Attribute information
120 virtual storage management unit

Claims (17)

実行された1つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、
前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、
前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、
前記仮想記憶機能は、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせることを特徴とする情報処理装置。
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つに基づいて、前記プロセスのスワップ先を決定することを特徴とする請求項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のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含むことを特徴とする請求項1又は2記載の情報処理装置。The attribute information includes at least one of information for prohibiting swap-out and information for permitting swap-out to a predetermined storage device realizing a first access speed. The information processing apparatus according to claim 1 or 2, 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
実行された1つ以上のプロセスを所定の記憶装置へスワップアウトさせる仮想記憶機能を有するオペレーティングシステムが実装された情報処理装置において、
原稿の画像データを読み取る原稿読取り手段と、
画像データを印刷出力する印刷出力手段と、
前記原稿読取り手段及び前記印刷出力手段を用いて原稿画像をコピーする、又は、前記印刷出力手段を用いて入力された画像データを印刷出力する、又は、前記原稿読取り手段を用いて原稿の画像を読み取るためのプロセスを生成するコピープロセス生成手段と、
前記プロセスをスワップアウトさせる条件である属性情報を格納した属性情報格納手段と、
前記仮想記憶機能を用いて所定の記憶装置にスワップアウトされたプロセスを管理する仮想記憶管理手段と、を有し、
前記仮想記憶機能は、前記属性情報格納手段に格納された前記属性情報に基づいて前記プロセスを前記所定の記憶装置にスワップアウトさせることを特徴とする画像形成装置。
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つを管理する記憶装置構成管理部を有し、
前記仮想記憶機能は、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも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:
前記属性情報は、スワップアウトされることを禁止するための情報と、第1のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含むことを特徴とする請求項5又は6記載の画像形成装置。The attribute information includes at least one of information for prohibiting swap-out and information for permitting swap-out to a predetermined storage device realizing a first access speed. 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の記憶装置へスワップアウトさせるメモリ管理方法において、
プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理ステップと、
前記第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:
前記第2の記憶装置の個数,個別のメモリ容量,合計のメモリ容量及びアクセス速度の少なくとも1つを管理する記憶装置構成管ステップを有し、
前記スワップアウトステップは、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも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:
前記属性情報は、スワップアウトされることを禁止するための情報と、第1のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含むことを特徴とする請求項9又は10記載のメモリ管理方法。The attribute information includes at least one of information for prohibiting swap-out and information for permitting swap-out to a predetermined storage device realizing a first access speed. The memory management method according to claim 9 or 10, 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の記憶装置へスワップアウトさせるコンピュータを機能させるためのプログラムであって、
プロセスをスワップアウトさせる条件である属性情報を管理する属性情報管理処理と、
前記第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.
前記第2の記憶装置の個数,個別のメモリ容量,合計のメモリ容量及びアクセス速度の少なくとも1つを管理する記憶装置構成管処理を前記コンピュータに実行させ、
前記スワップアウト処理は、前記記憶装置構成管理部で管理された前記個数,前記個別のメモリ容量,前記合計のメモリ容量及び前記アクセス速度の少なくとも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
前記属性情報は、スワップアウトされることを禁止するための情報と、第1のアクセス速度を実現する所定の記憶装置へのスワップアウトを許可する情報とのうち少なくとも1つを含むことを特徴とする請求項13又は14記載のプログラム。The attribute information includes at least one of information for prohibiting swap-out and information for permitting swap-out to a predetermined storage device realizing a first access speed. 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:
請求項13から16の何れか1項に記載の前記プログラムを記録した記録媒体。A recording medium on which the program according to claim 13 is recorded.
JP2003060342A 2003-03-06 2003-03-06 Information processor, image forming device, memory management method, program therefor, and recording medium recorded with program Pending JP2004272460A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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