JP2012159962A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2012159962A
JP2012159962A JP2011018338A JP2011018338A JP2012159962A JP 2012159962 A JP2012159962 A JP 2012159962A JP 2011018338 A JP2011018338 A JP 2011018338A JP 2011018338 A JP2011018338 A JP 2011018338A JP 2012159962 A JP2012159962 A JP 2012159962A
Authority
JP
Japan
Prior art keywords
memory
swap
memory page
priority
processing system
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
JP2011018338A
Other languages
English (en)
Inventor
Hidekazu Nishikawa
英一 西川
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011018338A priority Critical patent/JP2012159962A/ja
Publication of JP2012159962A publication Critical patent/JP2012159962A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 仮想記憶システムを用いた情報処理システムにおいて、メモリ要求発生後のスワップ機構によって、メモリアクセス開始までに制御の遅延を避けるようにする。
【解決手段】 一次記憶に空きが生じた際に、二次記憶に格納されたメモリページから、メモリ要求が発生する可能性が高いメモリページを決定し、先行してスワップイン処理を実行する。
【選択図】図1

Description

本発明は情報処理システムの仮想記憶システムに関するものであり、特にスワップインによる制御の遅延を避ける情報処理システムに関する。
従来、複写機やファックスなどの事務機器では、ユーザーに提供する機能に必要なメモリ容量を決定して搭載していた。
一方、近年の事務機器は、原稿スキャンやプリントやデータ送受信といった基本的な機能を組み合わせた応用機能を提供可能なマルチファンクションな事務機器であり、複数の機能を同時に提供する際には大容量のメモリを必要とする。
このようなメモリ容量の肥大化による事務機器のコスト上昇を避けるため、機器に搭載される実メモリの容量を抑える技術として、これまでコンピュータ等の情報機器で使用されてきた仮想記憶を用いたメモリ管理が事務機器にも用いられ始めている。
仮想記憶を用いた情報システムでは、使用メモリのスワップ機構のために、制御の一部にメモリを準備するための待ち時間が生じてしまう。
通常この待ち時間は非常に短く、メモリ使用の急激な変化が無ければ、情報機器で問題となることはほとんどない。
ところが、事務機器には情報機器には無いメカ部品等が少なくなく、ほんのわずかな制御の遅延が大きな動作の遅れに至る可能性があり、ユーザーに提供すべき定量的なスペックを満たせなくなることもある。
仮想記憶による制御の遅延を抑えるため、例えば特許文献1では、各ジョブのスワップアウト回数や、消費CPUタイムや緊急度を記録し、それらの値に応じて一部のジョブが使用するメモリ内容をより高速な二次記憶装置にスワップアウトすることが提案されている。
特開平07−160584号公報
しかしながら、特許文献1に記載の提案では、スワップ機構のための処理の遅延を少なくすることは出来るが、スワップインのタイミングはメモリアクセス要求後であり、組み込み機器で避けたい処理遅延を除去することが難しい。
また、通常の事務機器について、
・仮想記憶に使用する二次記憶を複数持つようなケースは少ない。
・複数の二次記憶を用いた仮想記憶は技術的に困難かつコスト高である。
といった点が考慮されていない。
本発明は、仮想記憶のスワップ機構による制御の遅延を避けるため、請求項1に記載の情報処理システムを提案するものである。
すなわち、一次記憶に空きが生じた際に、二次記憶に退避したメモリページ間で決定した優先度に応じて、二次記憶から一次記憶へメモリページを復帰させることにより、メモリのスワップイン制御を前倒しする情報処理システムである。
この前倒しによって、制御の対象となるメモリが一次記憶に存在する確率を高め、スワップ機構による制御の遅延が生じないようにする。
また、二次記憶に退避したメモリページ間で優先度を決定するメモリ優先度決定手段は、請求項2、請求項3、請求項4、請求項5、請求項6、請求項7に示す手段である。
請求項2におけるメモリ優先度決定手段は、スワップアウト実績の少ないメモリページのメモリ優先度を高く決定する。
これは、スワップアウト実績の少ないメモリページは頻繁に参照されていると見なして決定するものである。
請求項3におけるメモリ優先度決定手段は、次に実行される可能性の高いタスクのエントリポイントを含むメモリページのメモリ優先度を高く決定する。
これは、タスクのスケジューリングに伴い、実行優先度の高いタスクのエントリポイントを含むメモリページが参照される(必要とされる)可能性が高いと見なして決定するものである。
請求項4におけるメモリ優先度決定手段は、実行アドレス(プログラムカウンタ)に後続するアドレスを含むメモリページのメモリ優先度を高く決定する。
これは、実行アドレスに近いアドレスを含むメモリページが参照される可能性が高いと見なして決定するものである。
請求項3と請求項4との差分は、より優先度の高いタスクの現在のステートで明確になる。
もし、優先度の非常に高いタスクが実行状態であれば、しばらくは現在のタスクが実行されると見なし、請求項4に述べた現在の実行アドレスに後続するメモリページを優先することが有効である。
逆に、優先度の非常に高いタスクが待機状態であれば、タスクスケジューリングによってこのタスクが実行状態になると見なし、請求項3に述べた実行優先度の高いタスクのエントリポイントを含むメモリページを優先することが有効である。
また、タスク間の実行優先度に差が少ない場合や、時分割システムのように優先度が存在しない場合は、タスクスケジューリングのタイミングが近いならば請求項3を、逆ならば請求項4を用いることが有効である。
このように、請求項2以降のメモリ優先度決定手段は、単独で用いたり組み合わせて用いたりすることも可能かつ有効である。
請求項5におけるメモリ優先度決定手段は、USBデバイスの接続などの外部イベントに関係するメモリページのメモリ優先度を高く決定する。
外部イベントの発生とその後にスワップインしたメモリページとの紐つけを記録しておくことで、外部イベント発生時に記録を参照して紐つけられたメモリページを前もってスワップインするように制御する。
請求項6におけるメモリ優先度決定手段は、機器が提供する多数の機能をグルーピングした機能群の選択に関係するメモリページのメモリ優先度を高く決定する。
背景技術に述べたマルチファンクションな事務機器の場合、ここでいう機能群の指定は、コピーやファイリングやファックスやスキャンなどの選択に該当する。
請求項5と同様に、機能群の選択とその後にスワップインしたメモリページとの紐つけを記録しておくことで、機能群選択時に記録を参照して紐つけられたメモリページを前もってスワップインするように制御する。
請求項7におけるメモリ優先度決定手段は、過去に実行されたジョブの履歴を参照して実行頻度の高いジョブを決定し、請求項5や請求項6と同様、ジョブに紐つけられたメモリページのメモリ優先度を高く決定する。
以上のように、二次記憶に退避されたメモリページの中から次に要求される可能性の高いメモリページを決定し、一次記憶に空きが出来た際にメモリ要求に先立って復帰させておくことで、メモリ使用時にスワップ機構による制御の遅延を避けることができる。
これを図12に示す。1201〜1202〜1203〜1204〜1205に示すフローが従来の処理であり、1206〜1207〜1208〜1209〜1210に示す処理が本件の処理である。
本件の処理では、従来のフローの1204のスワップインに相当するスワップインである1207を、メモリアクセス要求の発生する1208に先行して実施する。
そうすることで、アクセス要求からアクセス実施までの時間を、従来の1203〜1204〜1205から、本件の1208〜1209〜1210とスワップインに要する時間だけ削減する。
仮想記憶を用いた情報処理システムの構成例を示すブロック図 画像形成装置(MFP)100の構成図 仮想記憶の概念図 スワップイン動作を必要とするメモリアクセスが発生した場合の従来処理 スワップイン動作を必要とするメモリアクセスが発生した場合の本件処理 スワップアウト回数をカウントするためのテーブル例 タスクコントロールブロックの代表例 実施例3の処理例 実施例4の処理例 機能群を選択する操作部の表示例 実施例6の処理例 従来のスワップイン処理と本件の先行スワップイン処理の比較
以下、本発明を実施するための最良の形態について図面を用いて説明する。
請求項1に記載のメモリページを二次記憶から一次記憶へ復帰させる手段は、仮想記憶におけるスワップイン制御のことであり、詳細な説明は省略する。
本件は、スワップイン制御の開始タイミングと、対象となる復帰させるメモリページの特定に関するものである。
通常のスワップイン制御の開始タイミングは、仮想記憶における仮想アドレスから実アドレスへのアドレス変換において、実アドレスが存在しない場合に発生する。
本件におけるスワップイン制御の開始タイミングは、一次記憶に空きが生じた場合に発生する。
一次記憶に空きが生じた事は、OS(オペレーティングシステム)が提供する動的メモリマネージメントの結果をもって検知することができるが、この技術は一般的であるため、説明を省略する。
図1は請求項1に記載の仮想記憶を用いた情報処理システムの一例である画像処理システムの構成例を示すブロック図である。
この画像処理システムは、オフィス10とオフィス20とをインターネット104で接続された環境で実現する。オフィス10内に構築されたLAN107には、画像形成装置(MFP)100、MFP100を制御するマネージメントPC101、クライアントPC(外部記憶手段)102、文書管理サーバ106、そのデータベース105、およびプロキシサーバ103が接続されている。LAN107及びオフィース20内のLAN108はプロキシサーバ103を介してインターネット104に接続される。MFP100は本発明において紙文書の画像読み取り部と読み取った画像信号に対する画像処理の一部を担当し、画像信号はLAN109を用いてマネージメントPC101に入力する。マネージメントPCは通常のPCであり、内部に画像記憶手段、画像処理手段、表示手段、入力手段を有するが、その一部をMFP100に一体化して構成されている。
図2は図1に示したMFP100の構成図である。
図2においてオートドキュメントフィーダー(以降ADFと記す)を含む画像読み取り部110は束状の或いは1枚の原稿画像を図示しない光源で照射し、原稿反射像をレンズで固体撮像素子上に結像し、固体撮像素子からラスター状の画像読み取り信号を600DPIの密度のイメージ情報として得る。通常の複写機能はこの画像信号をデータ処理装置115で記録信号へ画像処理し、複数毎複写の場合は記憶装置111に一旦一ページ分の記録データを記憶保持した後、記録装置112に順次出力して紙上に画像を形成する。
一方クライアントPC102から出力されるプリントデータはLAN107からネットワークI/F114を経てデータ処理装置115で記録可能なラスターデータに変換した後、前記記録装置112で紙上に記録画像として形成される。
MFP100への操作者の指示はMFPに装備されたキー操作部とマネージメントPC101に入力されるキーボード及びマウスからなる入力装置113から行われ、これら一連の動作はデータ処理装置115内の図示しない制御部で制御される。
一方、操作入力の状態表示及び処理中の画像データの表示は表示装置116で行われる。尚記憶装置111はマネージメントPC101からも制御され、これらMFP100とマネージメントPC101とのデータの授受及び制御はネットワークI/F117および直結したLAN109を用いて行われる。
データ処理装置115内にはCPU118とROM119とRAM120が含まれ、記憶装置111はHDDで構成される。
仮想記憶を使用するデータ処理装置115は、CPU118の制御により、データ処理のためのプログラムが必要とするメモリ領域を一次記憶であるRAM120と二次記憶であるHDD111内に確保する。
図3は仮想記憶の概念図である。
仮想記憶はメモリ管理技法の一つであり、
(1)不連続なメモリ領域(実メモリ空間)をソフトウェアから見て連続になるように(仮想アドレス空間)見せかける。
(2)メモリ空間の一部を二次記憶(スワップ領域)に退避することで、実装されている一次記憶装置(実メモリ空間)よりも大きな記憶領域(仮想アドレス空間)を仮想的に提供する。
という2つの目的を持っている。
仮想アドレス空間301は論理的なアドレス(va)を持ち、一部は一次記憶内の実メモリ空間302に、一部は二次記憶内のスワップ領域303にマッピングされる。
実メモリ空間302は一次記憶の物理アドレス(pa)を持ち、スワップ領域303は二次記憶内のスワップファイルのアドレス(sw)を持つ。
図3では、一次記憶内の実メモリ空間302と、二次記憶内のスワップ領域303とに離散して確保されているメモリページであるpa0、pa1、paN、sw0が、仮想アドレス空間301ではva1、va2、va3、va4と連続して配置される。
仮想記憶ではこのようにメモリページ間のマッピングを行うことで、上記(1)と(2)の目的を達成する。
本特許では、主に(2)の目的で仮想記憶を使用する情報処理システムについて記載している。
このようなシステムでは、CPUがOSに対して仮想メモリを物理メモリにマッピングする手段と、物理メモリに対応していない仮想アドレス空間へのアクセスを検出する手段を提供し、必要に応じてスワップ領域(二次記憶)に退避したデータを物理メモリに読み込み(スワップイン)できるようにしなければならない。
仮想記憶を用いたシステムでは、このスワップイン動作の処理時間分だけ、メモリへのアクセスを検出してから実際のアクセスが行われるまでにより多くの時間を必要とする。
本特許では、このスワップインによる制御の遅延を抑えるため、
・二次記憶の中からアクセスされる可能性の高いメモリページを決定する。
・一次記憶に空きが生じた際に、メモリへのアクセスが要求される前に、アクセスされる可能性の高いメモリページを先行してスワップインする。
という制御を実現する。
図4はスワップイン動作を必要とするメモリアクセスが発生した場合の従来処理である。
401で一次記憶に空き領域が発生している。仮想アドレスへのアクセスと一次記憶の空き領域とは本来が関係ないが、本特許では一次記憶に空きが発生した場合の処理に関するものなので、一次記憶に空き領域が発生した場合に限定して述べる。
次に402に示すように、一次記憶ではなく二次記憶に格納されているメモリ領域へのアクセスが発生する。この場合、一次記憶には存在しないメモリ領域へのアクセスであるため、すぐにはアクセス不可能であり、403に示すスワップイン制御が必要である。
403に示すスワップイン制御の後、402でアクセスが発生したメモリ領域が一次記憶に復帰するため、404に示すとおり、該当するメモリ領域へのアクセスが可能となる。
このように、402で一次記憶に存在しないメモリ領域のアクセスが発生してから404で実際にアクセスできるまで、403のスワップイン制御に必要な時間の遅延が発生する。
図5はスワップイン動作を必要とするメモリアクセスが発生した場合の本件処理である。
501で401と同様に一次記憶に空き領域が発生する。ここで図4の従来処理では無かった、メモリ優先度に応じたスワップイン制御を行うのが502である。二次記憶に退避されたメモリページの中で、次に最もアクセスが発生する可能性が高いページをメモリ優先度によって決定している。
よって、503に示すように、本来ならば二次記憶への領域へのアクセスが、先行スワップイン制御により、一次記憶への領域へのアクセスとなる可能性が高い。
このようにすることで、図4の従来処理と異なり、メモリへのアクセスが発生する503とメモリへのアクセスを実現する504との間にスワップイン制御が挟まれず、制御の遅延が発生しない。
先行してスワップインするメモリページが決定された後に該当ページをスワップインする手段としては、そのページをREADすることでスワップインを起こす方法がある。この場合、該当ページが元々一次記憶にあった場合も、同一ページに対する多重のスワップインを行わないため、そのような確認も不要となる。
READすべきメモリページの物理アドレスは、仮想記憶が仮想アドレスと実アドレスの変換に用いるTLB(Translation Look-aside Buffer)やページテーブルを参照することで得ることができる。
本件では、一次記憶に存在しないメモリ領域へのアクセスが発生しないよう、一次記憶に空きが生じた際に二次記憶から一次記憶へスワップインしておくメモリページの決定方法が重要である。
以下に、請求項1に記載のメモリ優先度決定手段について、請求項2から請求項7で記載したメモリ優先度決定手段を用いて説明する。
[実施例1]
実施例1のメモリ優先度決定手段は、請求項2で記載したメモリ優先度決定手段であり、スワップアウト実績の少ないメモリページが参照される可能性が高いと見なすものである。
図6はメモリページ毎のスワップアウト回数をカウントし、スワップアウト実績の少ないメモリページを探索するためのテーブルの例である。
請求項2に記載のスワップアウトカウント手段はこのテーブルの作成と参照によって、メモリページ毎のスワップアウト回数をカウントする。
テーブルの一要素は601で示される次の昇順アドレスへのポインタ、602で示されるページアドレス、603で示されるスワップアウト回数、604で示されるスワップアウト回数の昇順ポインタからなる。
605は最小ページアドレスを持つ要素へのポインタであり、606は最小スワップアウト回数を持つ要素へのポインタである。
あるページがスワップアウトする場合、まず昇順アドレスポインタ601をたぐって該当するページがテーブルに存在するか判定する。
ページがテーブルに存在しない場合は最初のスワップアウトなのでスワップアウト回数603に1を設定し、606が指していたスワップアウト回数の昇順ポインタを持つ要素を作成し、606がこの要素を指すように変更する。
ページがテーブルに存在する場合はスワップアウト回数603を1増加し、スワップアウト回数の昇順ポインタ604内の順位を進める。
なお、仮想記憶の一般的な実装であるページング方式では、仮想アドレスと物理アドレスを変換するページテーブルがスワップインやスワップアウトの基本的な情報を持っているため、図6に示すテーブルにはその情報を含めない。
上記により、スワップアウト回数の昇順ポインタ604を参照することにより、最もスワップアウト実績の少ないメモリページを特定し、このメモリページの優先度を高くすることにより、メモリに空きが生じた際に事前にスワップインさせることが可能となる。
[実施例2]
実施例2のメモリ優先度決定手段は、請求項3に記載したメモリ優先度決定手段であり、次に実行される可能性の高いタスクのエントリポイントを含むメモリページがアクセスされる可能性が高いと見なす。
次に実行されるタスクを決定するには、システムが採用しているスケジューリングのアルゴリズムに依存するが、多岐に渡る。
一般的には、タスク間に優先度を設定したスケジューリングを行う場合は高優先度なタスク、優先度を設定していない場合は実行待ち行列の待ち順番に従って決定するが、それらが組み合わさったスケジューリングもあり、詳細は記述しない。
プログラムカウンタやスタックポインタなどのレジスタ群の値や、アドレス空間などのデータはタスクコントロールブロックというデータ構造に保管され活用されるため、エントリポイントはここから決定することができる。
図7にタスクコントロールブロックの代表的な例を示す。
701はタスクを識別するために使用するIDである。
702はタスクのプログラム領域の先頭アドレスである。
703はタスクのスタック保存領域の先頭アドレスである。
704はタスクが実行されたときのCPUのレジスタ(コンテキスト)を保存した内容である。
705はタスクが時間待ちなどでタイマを使用する時に使用され、初期値設定後、OSが時間割り込みの発生毎にカウントしていく。
706はタスクの優先度で、この値を使用してOSがスケジューリングを行う。
707はRUNNINGなどタスク状態の情報である。
上記により、請求項3に記載の第一のメモリページ特定手段は、707で示されるタスク状態に応じて、この702と703で示されるアドレスを含むメモリページを特定すし、このメモリページの優先度を高くすることにより、メモリに空きが生じた際に事前にスワ ップインさせることが可能となる。
[実施例3]
実施例3のメモリ優先度決定手段は、請求項4に記載したメモリ優先度決定手段であり、現在の実行アドレスに後続するアドレスを含むメモリページがアクセスされる可能性が高いと見なす。
実施例2に述べたように、現在の実行アドレスはプログラムカウンタを参照したり、その情報が保存されているタスクコントロールブロックを参照することで得られる。
よって、現在の実行アドレスを含むメモリページの次のメモリページからスワップインするように制御する。
タスクコントロールブロックは実施例2で示しているため、特にここでは図示しない。
実施例3の処理例を図8に示す。
ステップ801でスワップアウトされているページでアドレスをソートし、ステップ802で図7の704に格納されるプログラムカウンタを参照し、後続するアドレスを含むページを特定する。そして、ステップ802で特定されたページが存在すれば、ステップ803で当該ページをスワップインする。
請求項4に記載の第二のメモリページ特定手段は、図7の704に格納されるプログラムカウンタを参照し、後続のアドレスを含むメモリページを特定し、このメモリページの優先度を高くすることにより、メモリに空きが生じた際に事前にスワップインすることが可能となる。
[実施例4]
実施例4のメモリ優先度決定手段は、請求項5に記載したメモリ優先度決定手段であり、検知した外部イベントに紐つけられたメモリページがアクセスされる可能性が高いと見なす。
これはシステムにUSBメモリが挿されたなどのイベントが発生した場合、それに続いて実行されるプログラムは、USBメモリを使用するプログラムと見なせるからである。
よってこのような外部イベントの発生と、引き続いてスワップインしたメモリページとを紐つけるテーブルを作成しておき、このテーブルを参照することで、外部イベント発生後にアクセスされる可能性の高いメモリページを特定できる。
請求項5に記載の外部イベント検知手段は、ハードウェア割り込みやポーリングを用いて実装されるが、これらの処理は一般的であるため、説明を省略する。
実施例4の処理例を図9に示す。
901で外部イベントの発生を記録している。
902でスワップイン発生時にメモリページと直前のイベントと紐つける。紐つけは不図示のテーブル等のデータ構造で実現できる。
903は901や902の繰り返しを表している。
904で外部イベントが発生した場合は、901のように外部イベントを記録すると共に、902で紐つけられたメモリページをスワップインする。
実施例4はこのサイクルを繰り返すことで、外部イベントとメモリページの紐つけの確度を高めていく。
請求項5に記載の第一の記録手段は、図9の901と902のサイクルからなる903で記録し、この記録から外部イベントに紐つけられたページを事前にスワップインすることが可能となる。
[実施例5]
実施例5のメモリ優先度決定手段は、請求項6に記載したメモリ優先度決定手段であり、操作部のタブやボタン等で選択された機能群に関連するメモリページがアクセスされる可能性が高いと見なす。
例えばマルチファンクション機能を提供する事務機器では、詳細な機能の設定の前に、コピーかファックスかファイリングかスキャンかといったジョブ種類を選択する機器が多い。
請求項6に記載の機能群の例として、このようなジョブ種類が挙げられる。
図10に機能群(ジョブ種類)を選択する操作部の例を示す。
1001が機能群(ジョブ種類)を選択するボタン群であり、コピー、ファックス、ファイリング、スキャン、その他を選択するボタンが配置してあり、ここではスキャンが選択されていることを示す。
1002、1003、1004、1005は1001で選択された機能群に関係する詳細機能を設定する部分であり、それぞれ倍率が等倍、カラーが白黒、フォーマットがJPEG、ページが13ページ目が選択されていることを示す。
請求項6に記載の第二の記録手段は、スワップインが発生したメモリページとその直前に選択された機能群(ジョブ種類)とを紐つけ、機能群(ジョブ種類)からメモリページを決定できるように記録すし、この記録から選択された機能に紐づけられたメモリページを事前にスワップインすることが可能となる。
[実施例6]
実施例6のメモリ優先度決定手段は、請求項7に記載したメモリ優先度決定手段であり、例えば実施例5の機能群(ジョブ種類)から選択されるジョブと、その実行開始後にスワップインされるメモリページとを紐つける。
請求項7に記載の第三の記録手段は、請求項6に記載の第二の記録手段と同等であり、説明を省略する。
続いてジョブ履歴から次に実行される可能性が高いジョブを決定し、そのジョブと紐つけられたメモリページを先行してスワップインする。
請求項7に記載のジョブ履歴記録手段は一般的であるため、不図示かつ説明を省略する。
ジョブ履歴によって次のジョブを予想することは、ユーザーが使用する機能群(ジョブ種類)が偏っている場合に有効である。
このように使用パターンが偏るケースでは、仮想記憶のオンデマンドページング機構により、使用するメモリが自然と一次記憶に格納される傾向がある。
しかしながら、直前に頻度の低いジョブを実行した後では、頻度の高いジョブに関するメモリページが二次記憶にスワップアウトされる可能性があるため、やはりジョブ履歴を参照してスワップインするメモリページを決定することが有効である。
図11に実施例6の処理例を示す。
まず、1101でジョブとメモリーページを紐つけ、1102でジョブ履歴を参照し、実行頻度の高いジョブを選択する。そして1103で、1102で選択したジョブに紐つけられたページ(1101で紐つけ)を先行してスワップインする。図12は、従来のスワップイン処理と本発明のスワップイン処理を示したフロー図である。1201〜1202〜1203〜1204〜1205に示すフローが従来の処理であり、1206〜1207〜1208〜1209〜1210に示す処理が本発明の処理である。
従来の処理では、1201で一次記憶に空き領域が発生しても特になにもせず(1202)、二次記憶に退避されたメモリ領域へのアクセスが生じると(1203)、二次記憶に退避したメモリ内容を一次記憶にスワップインし(1204)、当該メモリ領域への実際のアクセスが可能となる(1205)。一方、本発明の処理では、従来のフローでスワップイン処理1204に相当するスワップイン処理1207を、メモリアクセス要求の発生する1208(従来の処理の1203に相当)に先行して実施する。
そうすることで、アクセス要求からアクセス実施までの時間を、従来の1203〜1204〜1205から、本件の1208〜1209〜1210とスワップインに要する時間だけ削減する。なお、メモリ優先度に応じて先行スワップインする処理(1207)は、前記、実施例1〜実施例6で説明した処理に相当する。
以上説明したように、本発明によれば、二次記憶に退避されたメモリページの中から次に要求される可能性の高いメモリページを決定し、一次記憶に空きが出来た際にメモリ要求に先立って復帰させておくことで、メモリ使用時にスワップ機構による制御の遅延を避けることができる。
10,20 オフィス
104 インターネット

Claims (7)

  1. 仮想記憶を用いた情報処理システムであって、
    二次記憶に退避されたメモリページ間の優先度を決定するメモリ優先度決定手段と、
    一次記憶に空きが生じた際に、上記決定された優先度に応じて、メモリページを二次記憶から一次記憶へ復帰させる手段とを備える情報処理システム。
  2. スワップアウト時にメモリページ毎にスワップアウト回数をカウントするスワップアウトカウント手段を備え、
    前記メモリ優先度決定手段が、スワップアウト回数の少ないメモリページのメモリ優先度を高く決定することを特徴とする請求項1に記載の情報処理システム。
  3. 次に実行される可能性の高いタスクのエントリポイントを含むメモリページを特定する第一のメモリページ特定手段を備え、
    前記メモリ優先度決定手段が、前記メモリページ特定手段で特定されたメモリページのメモリ優先度を高く決定することを特徴とする請求項1に記載の情報処理システム。
  4. 実行アドレスに後続するアドレスを含むメモリページを特定する第二のメモリページ特定手段を備え、
    前記メモリ優先度決定手段が、前記第二のメモリページ特定手段で特定されたメモリページのメモリ優先度を高く決定することを特徴とする請求項1に記載の情報処理システム。
  5. 外部イベントを検知する手段と、
    スワップイン時に復帰するメモリページと直前に記録された外部イベントとを紐つけて記録する第一の記録手段とを備え、
    前記メモリ優先度決定手段が、前記第一の記録手段により外部イベント発生時に紐つけられたメモリページのメモリ優先度を高く決定することを特徴とする請求項1に記載の情報処理システム。
  6. スワップイン時に復帰するメモリページと直前に選択された機能群とを紐つけて記録する第二の記録手段とを備え、
    前記メモリ優先度決定手段が、前記第二の記録手段により選択された機能群に紐つけられたメモリページのメモリ優先度を高く決定することを特徴とする請求項1に記載の情報処理システム。
  7. 実行されたジョブの履歴を記録するジョブ履歴記録手段と、
    スワップイン時に復帰するメモリページと直前に選択されたジョブとを紐つけて記録する第三の記録手段とを備え、
    前記メモリ優先度決定手段が、前記ジョブ履歴記録手段で記録された履歴から実行頻度が高いジョブを決定し、前記第三の記録手段によりそのジョブと紐つけられたメモリページのメモリ優先度を高く決定することを特徴とする請求項1に記載の情報処理システム。
JP2011018338A 2011-01-31 2011-01-31 情報処理システム Pending JP2012159962A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011018338A JP2012159962A (ja) 2011-01-31 2011-01-31 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011018338A JP2012159962A (ja) 2011-01-31 2011-01-31 情報処理システム

Publications (1)

Publication Number Publication Date
JP2012159962A true JP2012159962A (ja) 2012-08-23

Family

ID=46840458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011018338A Pending JP2012159962A (ja) 2011-01-31 2011-01-31 情報処理システム

Country Status (1)

Country Link
JP (1) JP2012159962A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020101211A1 (ko) * 2018-11-14 2020-05-22 삼성전자주식회사 전자 장치 및 그 제어방법
JP2020154390A (ja) * 2019-03-18 2020-09-24 株式会社日立製作所 管理装置および管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020101211A1 (ko) * 2018-11-14 2020-05-22 삼성전자주식회사 전자 장치 및 그 제어방법
JP2020154390A (ja) * 2019-03-18 2020-09-24 株式会社日立製作所 管理装置および管理方法

Similar Documents

Publication Publication Date Title
US7697861B2 (en) Printing apparatus and image forming apparatus
US8964214B2 (en) Image processing apparatus and distributed printing system
US8584137B2 (en) Image processing system for judging whether a partial job should be processed by an own device or another device
JP2010211696A (ja) メモリスワップ管理方法、装置およびプログラム
US11778110B2 (en) Image processing apparatus displaying a home screen in a fixed button mode in a state where acquisition of a recommended button information is unavailable
US9026576B2 (en) Image processing device, job processing method, and program
US7911639B2 (en) Image forming device
US8797576B2 (en) Image process apparatus
US7355739B2 (en) Image forming device having a memory assignment unit
JP2012159962A (ja) 情報処理システム
US8665460B2 (en) Print system, printing apparatus, printing method and printing program
US10922039B2 (en) Image processing apparatus, information processing method, and storage medium
US20070263252A1 (en) Multiple-port print device
JP2015108857A (ja) システム、その制御方法、情報処理装置、その制御方法及びプログラム
US10620887B2 (en) Image forming apparatus and information processing apparatus configured to print a specified page of a plurality of documents, control method thereof, and non-transitory computer-readable storage medium
US9007654B2 (en) Image forming apparatus
JP4706576B2 (ja) 画像処理装置および表示制御プログラム
JP2007076063A (ja) 画像形成装置及びその制御方法
US11216229B2 (en) Information processing apparatus, non-transitory computer readable medium storing program, and management system
JP5752017B2 (ja) 画像形成装置
US8826151B2 (en) Information processing apparatus and computer-readable medium for virtualizing an image processing apparatus
JP2016086313A (ja) 情報処理システム及びプログラム
US8780391B2 (en) Image processing apparatus and image processing system with processability determining unit
US8214547B2 (en) Image processing device having a plurality of control units
JP2009053829A (ja) 情報処理装置、情報処理プログラム