(57)【要約】【課題】プログラムを効率良くロードすることができるようにする。【解決手段】ストレージデバイス３０からメモリ１１３上にロードされるプログラムを実行する情報処理装置において、プログラム３０が起動されてから個々のページがＣＰＵ１１１により参照されるまでの個々の時間が複数に区分された時間帯のうちのいずれに該当するかを前記個々のページのアドレスと前記時間帯との対応付けで示す管理情報を作成し、プログラム３０が起動された後に、前記管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括してストレージデバイス３０からメモリ１１３上にロードされるよう制御する。【選択図】      図３
2007293604.tif 000002
【特許請求の範囲】
【請求項１】
所定の記録媒体からメモリ上にロードされるプログラムを実行する情報処理装置であって、
前記プログラムが起動されてから個々のページがプロセッサにより参照されるまでの個々の時間が複数に区分された時間帯のうちのいずれに該当するかを前記個々のページのアドレスと前記時間帯との対応付けで示す管理情報を作成する情報作成手段と、
前記プログラムが起動された後に、前記管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括して前記記録媒体から前記メモリ上にロードされるよう制御するロード制御手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記情報作成手段は、前記プログラムが起動された後に、前記メモリ上でページフォルトが発生したページのアドレスを前記管理情報の中の該当する時間帯に対応付けて登録することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報作成手段は、更に、前記プログラムが起動されてから一定時間経過しても前記メモリ上でページフォルトが発生しなかった個々のページのアドレスを前記管理情報の中の所定の時間帯に対応付けて登録することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記ロード制御手段は、前記プログラムが起動された後に、前記管理情報の中において前記プログラムの起動時点に最も近い時間帯に対応付けられている個々のアドレスのページが一括して前記記録媒体から前記メモリ上にロードされるよう制御することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記ロード制御手段は、更に、前記メモリ上でページフォルトが発生したページのアドレスが前記管理情報の中においてどの時間帯に対応付けられているかを判定し、判定した時間帯に対応付けられている個々のアドレスのページが一括して前記記録媒体から前記メモリ上にロードされるよう制御することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記ロード制御手段は、更に、前記プログラムが起動されてから一定時間経過したときに、前記管理情報の中において所定の時間帯に対応付けられている個々のアドレスのページが一括して前記記録媒体から前記メモリ上にロードされるよう制御することを特徴とする請求項４記載の情報処理装置。
【請求項７】
前記記録媒体に対する前記プログラムの書込み／読出しに際し、前記管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括して圧縮／伸長されるように制御する圧縮伸長制御手段を更に具備することを特徴とする請求項１乃至６のいずれかに記載の情報処理装置。
【請求項８】
所定の記録媒体からメモリ上にロードされるプログラムを実行する情報処理装置に適用されるプログラムロード方法であって、
前記プログラムが起動されてから個々のページがプロセッサにより参照されるまでの個々の時間が複数に区分された時間帯のうちのいずれに該当するかを前記個々のページのアドレスと前記時間帯との対応付けで示す管理情報を作成し、
前記プログラムが起動された後に、前記管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括して前記記録媒体から前記メモリ上にロードされるよう制御する
ことを特徴とするプログラムロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータなどの情報処理装置および同装置に適用されるプログラムロード方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの情報処理装置においては、起動の際にハードディスクなどのストレージデバイスからプログラムが読み出されてメモリ上へロードされる。一般に、ＯＳが提供するファイルシステムにおいては、ページ単位（もしくはアドレスが連続した固定長の単位）でロード処理を行う。
【０００３】
なお、ページ単位での処理の効率化を図った技術には種々なものがある。例えば、特許文献１には、ページフォルトが発生した時に、使用するページの順番の規則的なパターンを基に、ページアウトすべき使用中のページを決定することにより、ページングの効率化を図ることが開示されている。
【特許文献１】特開平９−２４４９５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、プログラムを実行する際にすべてのページをロードするシステムの場合、ある一定の処理ができるようになるまでにかなりの時間がかかっていた。特に、オペレーティングシステムがページ単位でロードを行うシステムの場合、実行時のページフォルトの発生頻度が高く、ページフォルトによるオーバーヘッドが大きくなっていた。また、圧縮／伸長に関しても効率が低下し、ストレージデバイス内に含まれるプログラムのサイズも大きくなってしまっていた。
【０００５】
本発明は上記実情に鑑みてなされたものであり、プログラムを効率良くロードすることが可能な情報処理装置およびプログラムロード方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、所定の記録媒体からメモリ上にロードされるプログラムを実行する情報処理装置であって、前記プログラムが起動されてから個々のページがプロセッサにより参照されるまでの個々の時間が複数に区分された時間帯のうちのいずれに該当するかを前記個々のページのアドレスと前記時間帯との対応付けで示す管理情報を作成する情報作成手段と、前記プログラムが起動された後に、前記管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括して前記記録媒体から前記メモリ上にロードされるよう制御するロード制御手段とを具備することを特徴とする。
【０００７】
本発明に係るプログラムロード方法は、所定の記録媒体からメモリ上にロードされるプログラムを実行する情報処理装置に適用されるプログラムロード方法であって、前記プログラムが起動されてから個々のページがプロセッサにより参照されるまでの個々の時間が複数に区分された時間帯のうちのいずれに該当するかを前記個々のページのアドレスと前記時間帯との対応付けで示す管理情報を作成し、前記プログラムが起動された後に、前記管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括して前記記録媒体から前記メモリ上にロードされるよう制御することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、プログラムを効率良くロードすることが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明の実施形態について説明する。
【００１０】
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、ノートブック型パーソナルコンピュータ１０として実現されている。
【００１１】
図１はノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における正面図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＴＦＴ−ＬＣＤ（Thin Film Transistor Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面はディスプレイユニット１２のほぼ中央に位置されている。
【００１２】
ディスプレイユニット１２は、コンピュータ本体１１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、本コンピュータ１０を電源オン／オフするための電源ボタン１４、入力操作パネル１５、タッチパッド１６などが配置されている。
【００１３】
入力操作パネル１５は、押されたボタンに対応するイベントを入力する入力装置であり、複数の機能をそれぞれ起動するための複数のボタンを備えている。これらボタン群には、ＴＶ起動ボタン１５Ａ、ＤＶＤ／ＣＤ起動ボタン１５Ｂも含まれている。ＴＶ起動ボタン１５Ａは、ＴＶ放送番組データの再生、視聴及び記録を行うためのＴＶ機能を起動するためのボタンである。ＤＶＤ／ＣＤ起動ボタン１５Ｂは、ＤＶＤまたはＣＤに記録されたビデオコンテンツを再生するためのボタンである。
【００１４】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１５】
本コンピュータ１０は、図２に示されているように、ＣＰＵ１１１、ノースブリッジ１１２、主メモリ１１３、グラフィクスコントローラ１１４、サウスブリッジ１１９、ＢＩＯＳ−ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１２１、光ディスクドライブ（ＯＤＤ）１２２、ＴＶチューナ１２３、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４、ネットワークコントローラ１２５、バッテリ１２６、ＡＣアダプタ１２７、電源コントローラ（ＰＳＣ）１２８等を備えている。
【００１６】
ＣＰＵ１１１は本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ハードディスクドライブ（ＨＤＤ）１２１から主メモリ１１３にロードされるＯＳ（Operating System）２００やこのＯＳにより管理されるファイルシステム２０１、ドライバ２０２などの各種ソフトウェアを実行する。ファイルシステム２０１は、ＨＤＤ１２１上の各種ファイルの管理やアクセス制御を行うものである。ドライバ２０２は、ＨＤＤ１２１などに対する読み書きを制御するものである。
【００１７】
また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１２０に格納されたシステムＢＩＯＳ（Basic Input Output System）も実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００１８】
ノースブリッジ１１２はＣＰＵ１１１のローカルバスとサウスブリッジ１１９との間を接続するブリッジデバイスである。ノースブリッジ１１２には、主メモリ１１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能も有している。
【００１９】
グラフィクスコントローラ１１４は本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。このグラフィクスコントローラ１１４はビデオメモリ（ＶＲＡＭ）１１４Ａに書き込まれた映像データをＬＣＤ１７に表示する。
【００２０】
サウスブリッジ１１９は、ＬＰＣ（Low Pin Count）バス上の各デバイス、およびＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスを制御する。また、サウスブリッジ１１９は、ＨＤＤ１２１、ＯＤＤ１２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１１９は、ＴＶチューナ１２３を制御する機能、およびＢＩＯＳ−ＲＯＭ１２０をアクセス制御するための機能も有している。
【００２１】
ＨＤＤ１２１は、各種ソフトウェア及びデータを格納する記憶装置である。光ディスクドライブ（ＯＤＤ）１２３は、ビデオコンテンツが格納されたＤＶＤ、ＣＤなどの記憶メディアを駆動するためのドライブユニットである。ＴＶチューナ１２３は、ＴＶ放送番組のような放送番組データを外部から受信するための受信装置である。
【００２２】
ネットワークコントローラ１２５は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００２３】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２４は、電力管理を行うためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびタッチパッド１６を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。
【００２４】
電源コントローラ（ＰＳＣ）１２８は、エンベデッドコントローラ（ＥＣ）からの指示に応じ、バッテリ１２６の電源、またはＡＣアダプタ１２７を介して外部から供給される外部電源に基づいて本コンピュータ１０の各コンポーネントに必要な電源を生成して供給する装置である。
【００２５】
図３は、ＣＰＵによるプログラムのロードおよび参照について説明するための図である。
【００２６】
ＣＰＵ１１は、あるプログラム４０を参照して実行する際には、そのプログラム４０をストレージデバイス３０内の記録媒体上からメモリ１１３上へロードする。ストレージデバイス３０は、例えば前述のＨＤＤ１２１に相当する。また、システムによっては、ストレージデバイス３０に記録されたプログラム３０は圧縮処理されている場合がある。この場合、ＣＰＵ１１は、ロードの際に、プログラム３０の伸長処理を行う必要がある。
【００２７】
図４は、図２中に示されるＯＳに管理される制御プログラムの機能構成を示すブロック図である。
【００２８】
前述のＯＳ２００には制御プログラム３０１が備えられる。この制御プログラム３０１は、ＨＤＤ１２１などに記録されるプログラムのロード処理の効率化を実現するための制御を行うものであり、管理情報作成部４１、ロード制御部４２、圧縮伸長制御部４３などの各種機能を備えている。
【００２９】
管理情報作成部４１は、プログラム４０が起動されてから個々のページがＣＰＵ１１１により参照されるまでの個々の時間が複数に区分された時間帯のうちのいずれに該当するかを前記個々のページのアドレスと前記時間帯との対応付けで示す管理情報（セグメントテーブル）を作成するものである。例えば、管理情報作成部４１は、プログラム４０が起動された後に、メモリ１１３上でページフォルトが発生したページのアドレスを管理情報の中の該当する時間帯に対応付けて登録する。また、管理情報作成部４１は、更に、プログラム４０が起動されてから一定時間経過してもメモリ４０上でページフォルトが発生しなかった個々のページのアドレスを管理情報の中の所定の時間帯に対応付けて登録する。なお、作成された管理情報は、プログラム４０と共にストレージデバイス３０内に記憶される。
【００３０】
ロード制御部４２は、プログラム４０が起動された後に、管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括してストレージデバイス３０からメモリ１１３上にロードされるよう制御するものである。例えば、ロード制御部４２は、プログラム４０が起動された後に、管理情報の中においてプログラム４０の起動時点に最も近い時間帯に対応付けられている個々のアドレスのページが一括してストレージデバイス３０からメモリ１１３上にロードされるよう制御する。更に、ロード制御部４２は、メモリ１１３上でページフォルトが発生したページのアドレスが管理情報の中においてどの時間帯に対応付けられているかを判定し、判定した時間帯に対応付けられている個々のアドレスのページが一括してストレージデバイス３０からメモリ１１３上にロードされるよう制御する。また、ロード制御部４２は、プログラム４０が起動されてから一定時間経過したときに、管理情報の中において所定の時間帯に対応付けられている個々のアドレスのページが一括してストレージデバイス３０からメモリ１１３上にロードされるよう制御することもできる。
【００３１】
圧縮伸長制御部４３は、ストレージデバイス３０に対するプログラム４０の書込み／読出しに際し、管理情報の中において１つの時間帯に対応付けられている個々のアドレスのページが一括して圧縮／伸長されるように制御するものである。
【００３２】
図５は、セグメントテーブル４１１を作成する手法を説明するための図である。
【００３３】
効率的なロードを実現するためには、あらかじめ、アドレス管理情報としてのセグメントテーブル４１１を作成しておく必要がある。セグメントテーブル４１１上では、ＣＰＵ１１１によりメモリ１１３上で参照される個々のページのアドレスが、プログラム４０の起動時からの経過時間に応じて、複数に区分された個々の時間帯のいずれかに登録されるようにする。
【００３４】
複数の時間帯は、例えば、プログラム４０の起動時からの経過時間Ｔ１，Ｔ２，Ｔ３を境目として形成される。なお、これらＴ１，Ｔ２，Ｔ３は、Ｔ１＜Ｔ２＜Ｔ３という関係を満たすものとする。この場合、経過時間Ｔ１〜Ｔ２の時間帯を「Ｔ１セグメント」、経過時間Ｔ２〜Ｔ３の時間帯を「Ｔ２セグメント」、経過時間Ｔ３を越える時間帯を「Ｔ３セグメント」とする。
【００３５】
一般に、ＯＳは、プログラムのすべてを実行時にメモリ１１３上にロードするのではなく、ページ単位でページフォルトを検出して該当するページのロードを行う。ページフォルトは、ロードされていないアドレスにＣＰＵ１１１がアクセスすることによって発生する。そこで、本実施形態では、ページフォルトが発生する毎にその時間を取得し、取得した時間の対応するセグメントテーブル４１１上の該当するセグメントを判定し、ページフォルトの発生したアドレスをそのセグメントに対応付けてセグメントテーブル４１１上に登録する。
【００３６】
図５の例では、プログラム４０が起動された後、経過時間Ｔ１〜Ｔ２の間に、ＣＰＵ１１１が例えばアドレス１５，１１，７，３，２の各ページをこの順でアクセスする。制御プログラム３０１は、ページフォルトが発生する毎に該当するアドレスをセグメントテーブル４１１上で「Ｔ１セグメント」に対応付けて登録する。更に、経過時間Ｔ２〜Ｔ３の間に、ＣＰＵ１１１は例えばアドレス１３，５，１４，９，１の各ページをこの順でアクセスする。制御プログラム３０１は、ページフォルトが発生する毎に該当するアドレスをセグメントテーブル４１１上で「Ｔ２セグメント」に対応付けて登録する。そして、制御プログラム３０１は、時間Ｔ３を経過した時点でページフォルトが発生していない残りの全てのアドレス８，６，１２，１０，４がセグメントテーブル４１１上で「Ｔ３セグメント」に対応付けて登録する。
【００３７】
また、このようにして作成されたセグメントテーブルに基づき、プログラム４０をセグメント単位で分割する（本例では、３つに分割する）。プログラム４０をストレージデバイス３０に格納する際には、セグメント単位で分割されたプログラムをそれぞれ圧縮した状態で格納する。ストレージデバイス３０に格納されるプログラムには、セグメントテーブル４１１を付加する。
【００３８】
図６は、セグメントテーブル４１１を用いてロードを行う手法を説明するための図である。
【００３９】
制御プログラム３０１は、プログラム４０が起動された後、最初に、セグメントテーブル４１１上の「Ｔ１セグメント」に対応付けられている全てのアドレスのページを一括してストレージデバイス３０から読出し、一括して伸長を行い、伸長後のページをメモリ１１３上にロードする。次に、例えばアドレス１３に対してページフォルトが発生すると、制御プログラム３０１は、セグメントテーブル４１１上においてアドレス１３が属している「Ｔ２セグメント」に対応付けられている全てのアドレスのページを一括してストレージデバイス３０から読出し、一括して伸長を行い、伸長後のページをメモリ１１３上にロードする。以降、ページフォルトが発生する毎に、同様な動作が行われる。また、時間Ｔ１，Ｔ２，Ｔ３がそれぞれ経過する毎に、該当するセグメントに対応付けられているページを一括してロードする処理を順次行うようにしてもよい。
【００４０】
なお、プログラム４０をストレージデバイス３０から読み出す際には、セグメント単位で分割された状態のプログラムをセグメント単位で読み出し、セグメント単位で伸長する。
【００４１】
次に、図７のフローチャートを参照して、セグメントテーブルを作成する動作について説明する。
【００４２】
ＯＳ２００によりプログラム４０が起動されると（ステップＳ１１）、ＣＰＵ１１１からメモリ１１３へのアクセスが開始される（ステップＳ１２）。制御プログラム３０１は、プログラム４０の起動時からの経過時間を計時するとともに（ステップＳ１３）、ページフォルトの有無を監視する（ステップＳ１４）。プログラム４０の起動時からの経過時間が予め設定した最大時間ＴMAX（例えば「Ｔ３」）を経過していないときに（ステップＳ１３のＮＯ）、ページフォルトが発生した場合（ステップＳ１４のＹＥＳ）、制御プログラム３０１は、プログラム４０の起動時からページフォルト発生時までの経過時間ＣＴを取得する（ステップＳ１５）。
【００４３】
制御プログラム３０１は、取得した時間ＣＴと、予め用意しておいたインデックスＴＮ（Ｔ１，Ｔ２，Ｔ３，…）とを比較することにより、セグメントテーブル４１１上の該当するセグメントを判定し、ページフォルトが発生したページのアドレスを、セグメントテーブル４１１上の該当するセグメントに対応付けて登録し（ステップＳ１６）、ステップＳ１２からの処理を繰り返す。このような処理により、セグメントテーブル４１１上の「セグメントＴ１」、「セグメントＴ２」に対応する登録処理が順次行われる。
【００４４】
また、制御プログラム３０１は、プログラム４０の起動時からの経過時間が予め設定した最大時間ＴMAX（例えば「Ｔ３」）を経過したときには（ステップＳ１３のＹＥＳ）、ページフォルトが発生したかった全てのページアドレスを、セグメントテーブル４１１上で「Ｔ３セグメント」に対応付けて登録処理を終了する。
【００４５】
また、このようにして作成されたセグメントテーブル４１１に基づき、プログラム４０をセグメント単位で分割し、それぞれを圧縮処理し、ストレージデバイス３０に格納する。ストレージデバイス３０に格納されるプログラムには、セグメントテーブル４１１を付加する。
【００４６】
これにより、ページフォルトに起因する負荷を抑え、ＣＰＵ１１１がある一定の処理ができるようになるまでの時間を短縮することができる。また、セグメント単位に圧縮することで、ストレージデバイス３０内に含まれるプログラムのサイズを小さくすることができる。
【００４７】
次に、図８のフローチャートを参照して、セグメントテーブルに基づいてロードを行う動作の第１の例について説明する。
【００４８】
ＯＳ２００によりプログラム４０が起動されると（ステップＳ２１）、制御プログラム３０１は、ストレージデバイス３０からセグメントテーブル４１１を読み出し、このセグメントテーブル４１１に基づくロード処理を開始する。
【００４９】
まず、制御プログラム３０１は、セグメントテーブル４１１上の「セグメントＴ１」に対応付けられている全てのアドレスのページをメモリ１１３上にロードする（ステップＳ２２）。
【００５０】
ＣＰＵ１１１からメモリ１１３へのアクセスが開始され（ステップＳ２３）、ページフォルトが発生すると、制御プログラム３０１は、ページフォルトが発生したアドレスがロードされていないセグメントに対応付けられたものか否かを判定する（ステップＳ２４）。該当する場合には、セグメントテーブル４１１上においてそのアドレスが属しているセグメントに対応付けられている全てのアドレスのページを一括してストレージデバイス３０から読出し、一括して伸長を行い、伸長後のページをメモリ１１３上にロードし（ステップＳ２５）、ステップＳ２３からの処理を繰り返す。
【００５１】
このようにページフォールが発生したときに、該当するセグメントに対応付けられた全てのアドレスのページを一括して伸長・ロードすることにより、ロード処理の高速化・効率化が図れる。
【００５２】
次に、図９のフローチャートを参照して、セグメントテーブルに基づいてロードを行う動作の第２の例について説明する。
【００５３】
ＯＳ２００によりプログラム４０が起動されると（ステップＳ３１）、制御プログラム３０１は、ストレージデバイス３０からセグメントテーブル４１１を読み出し、このセグメントテーブル４１１に基づくロード処理を開始する。
【００５４】
まず、制御プログラム３０１は、セグメントテーブル４１１上の「セグメントＴ１」に対応付けられている全てのアドレスのページをメモリ１１３上にロードする（ステップＳ３２）。
【００５５】
制御プログラム３０１は、プログラム４０の起動時からページフォルト発生時までの経過時間ＣＴを取得し（ステップＳ３３）、インデックスに示される時間ＴＮを経過したか否かを判定する（ステップＳ３４）。経過した場合には、対応するセグメントに対応付けられている全てのアドレスのページを一括してストレージデバイス３０から読出し、一括して伸長を行い、伸長後のページをメモリ１１３上にロードする（ステップＳ３７）。
【００５６】
一方、時間ＴＮを経過していないときに、ＣＰＵ１１１からメモリ１１３へのアクセスが開あり（ステップＳ３５）、ページフォルトが発生すると、制御プログラム３０１は、ページフォルトが発生したアドレスがロードされていないセグメントに対応付けられたものか否かを判定する（ステップＳ３６）。該当する場合には、セグメントテーブル４１１上においてそのアドレスが属しているセグメントに対応付けられている全てのアドレスのページを一括してストレージデバイス３０から読出し、一括して伸長を行い、伸長後のページをメモリ１１３上にロードし（ステップＳ３７）、ステップＳ３からの処理を繰り返す。
【００５７】
このようにページフォールが発生したときだけでなく、インデックスに示される時間ＴＮが経過したときにも、該当するセグメントに対応付けられた全てのアドレスのページを一括して伸長・ロードするようにしてもよい。この場合も、ロード処理の高速化・効率化が図れる。
【００５８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態に係る情報処理装置の外観を示す斜視図。
【図２】同情報処理装置のシステム構成を示す図。
【図３】ＣＰＵによるプログラムのロードおよび参照について説明するための図。
【図４】図２中に示されるＯＳに管理される制御プログラムの機能構成を示すブロック図。
【図５】セグメントテーブルを作成する手法を説明するための図。
【図６】セグメントテーブルを用いてロードを行う手法を説明するための図。
【図７】セグメントテーブルを作成する動作を示すフローチャート。
【図８】セグメントテーブルに基づいてロードを行う動作の第１の例を示すフローチャート。
【図９】セグメントテーブルに基づいてロードを行う動作の第２の例を示すフローチャート。
【符号の説明】
【００６０】
３０…ストレージデバイス、４０…プログラム、４１…管理情報作成部、４２…ロード制御部、４３…圧縮伸長制御部、１１１…ＣＰＵ、１１３…メモリ、３０１…制御プログラム、４１１…セグメントテーブル。
【図１】
2007293604.tif 000003
【図２】
2007293604.tif 000004
【図３】
2007293604.tif 000005
【図４】
2007293604.tif 000006
【図５】
2007293604.tif 000007
【図６】
2007293604.tif 000008
【図７】
2007293604.tif 000009
【図８】
2007293604.tif 000010
【図９】
2007293604.tif 000011