(57)【特許請求の範囲】
【請求項１】
コンピュータに格納された少なくとも一つのＯＳイメージのサイズを縮小するＯＳイメージ縮小プログラムであって、
前記コンピュータに監視対象のアプリケーションプログラムを所定時間動作させるとともに前記監視対象のアプリケーションプログラムの動作中に実行された関数をモニターして関数の実行履歴を管理する実行履歴管理工程と、
前記実行履歴管理工程にて管理された実行履歴を参照して前記ＯＳイメージに含まれる関数のうち前記監視対象のアプリケーションプログラムの実行時間内において前記実行履歴にある関数を保存関数として管理する保存関数管理工程と、
前記ＯＳイメージに含まれる関数のうち前記保存関数管理工程で管理されない関数を不使用関数として前記ＯＳイメージから削除処理する不使用関数処理工程と、
を前記コンピュータに実行させるものであり、
前記実行履歴管理工程は、
前記ＯＳイメージおよび前記監視対象のアプリケーションプログラムに動作測定のためのプローブを組み込むプローブ挿入工程と、
前記プローブによって得られる情報に基づいて、前記監視対象のアプリケーションプログラムの実行履歴と前記監視対象のアプリケーションプログラムの実行中に実行された関数の実行履歴とを作成する実行履歴作成工程と、
前記実行履歴作成工程にて作成された実行履歴を記憶する実行履歴記憶工程と、を有する
ことを特徴とするＯＳイメージ縮小プログラム。
【請求項２】
請求項１に記載のＯＳイメージ縮小プログラムにおいて、
前記保存関数管理工程は、
前記実行履歴管理工程にて作成された実行履歴に記録された実行関数を保存関数として抽出した保存関数リストを作成する保存関数リスト作成工程と、
前記保存関数リスト作成工程にて作成された前記保存関数リストを記憶する保存関数リスト記憶工程と、を有する
ことを特徴とするＯＳイメージ縮小プログラム。
【請求項３】
請求項１または請求項２に記載のＯＳイメージ縮小プログラムにおいて、
前記不使用関数処理工程は、
前記ＯＳイメージに含まれる関数のうち前記保存関数管理工程にて管理されない関数を不使用関数として抽出した不使用関数リストを作成する不使用関数リスト作成工程と、
前記不使用関数リスト作成工程にて作成された不使用関数リストを記憶する不使用関数リスト記憶工程と、
前記不使用関数リストにある関数を前記ＯＳイメージから削除する不使用関数削除工程と、を有する
ことを特徴とするＯＳイメージ縮小プログラム。
【請求項４】
請求項１から請求項３のいずれか一項に記載のＯＳイメージ縮小プログラムにおいて、
前記不使用関数処理工程は、
前記不使用関数のみが参照するデータが存在する場合には、前記データを前記ＯＳイメージから削除する
ことを特徴とするＯＳイメージ縮小プログラム。
【請求項５】
請求項１から請求項４のいずれか一項に記載のＯＳイメージ縮小プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、OSイメージ縮小プログラムおよびOSイメージ縮小プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
コンピュータ上でアプリケーションソフトを起動して実行するためにはオペレーティングシステム（ＯＳ）が必要となる。ＯＳは、入出力機能やメモリ管理機能など多くのアプリケーションソフトから共通して利用される基本的な機能を提供し、ハードウェアを抽象化したインターフェースをアプリケーションソフトに提供する基本ソフトウェアとして広く用いられているシステムである。そして、ユーザーが使用するハードウェアやアプリケーションに汎用性を持たせるため、複数の機能を盛り込んだフルセットのＯＳファイル（オペレーティングシステムファイル）が構成されている。特に、近年では、コンピュータ機能の発達に応じて拡張性の高いＧＵＩ機能や高度で複雑な管理機能が求められるようになってきている。このようにＯＳに求められる機能が多くなったためＯＳファイルが非常に大きくなってきている。そして、一般にＯＳファイルはコンピュータに内蔵されるメインメモリ（主記憶装置）あるいはハードディスク（補助記憶装置）に保存されて使用されるものであるが、ＯＳサイズが大きくなってきているためコンピュータに求められる容量も非常に大きくなっている。
【０００３】
そこで、コンピュータに常時記憶保存するＯＳファイルの容量を縮小するための構成が提案されている（例えば特許文献１、特許文献２）。
特許文献１には、情報処理システムが記載されている。この情報処理システムは、ＯＳのフルセットを構成する複数のＯＳファイルのうち、一部のＯＳファイルはコンピュータに保存し、その他のＯＳファイルを外部の記録媒体に記録しておく構成を採用する。たとえば、システム環境に影響を受けないＯＳファイル群として、カーネル、デバイスマネージャー（キーボード処理、ディスプレイ処理、マウス処理、ＩＤＥ／ネットワーク処理）、ファイルマネージャー、メモリマネージャー、タスクマネージャーがコンピュータに保存される。その一方、基本的にシステム環境に影響を受けないＯＳファイル群として、ＧＵＩマネージャー（Graphical User Interface）、かな漢字変換マネージャー、プリンタマネージャー、フォントファイル、ライブラリファイル等はコンピュータではなく記録媒体に記録される。
【０００４】
そして、アプリケーション実行時には、そのアプリケーション動作に必要なＯＳファイルをすべてコンピュータに有しているか判断し、必要なファイルがコンピュータ側に保存されていなければ、記録媒体から必要なファイルをコンピュータにロードする。たとえば、プリンタが必要なアプリケーションであればプリンタマネージャーのロードを行う。
このような構成によれば、コンピュータ側では必要最小限のＯＳファイルのみしか保持していないため、コンピュータにおけるＯＳサイズを小さくできる。
【０００５】
また、特許文献２には、プログラム処理高速化方式が記載されている。
このプログラム処理高速化方式では、まず、ソースプログラムに使用回数を計測する測定手段を組み込んで測定手段組み込み済みソースプログラムを生成する。そして、この測定手段組み込み済みソースプログラムをコンパイルして実行プログラムを作成する。実行プログラムに特定のデータを与えて実行させ、プログラム中の個々の分岐命令が実行されたか否か測定して測定値を収集する。実行されなかった分岐命令を削除し、不要な分岐命令が削除されたソースプログラムを得る。このような方式により、特定データに対して最適化されたソースプログラムを得る。
すなわち、汎用的に作られたプログラムを特定のユーザーや使用目的に合うようにカスタマイズして処理の高速化を図ることができ、同時に、不必要な部分（分岐命令）を削除するのでプログラムを縮小することができる。
【０００６】
【特許文献１】特開平１０−１４３３５６号公報（第１４頁、図１１）
【特許文献２】特開平７−４４３９７号公報（第４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の構成ではＯＳサイズを縮小することにほとんど寄与せず、現実的にはコンピュータの容量にかける負荷は従前のものと変わらないという問題がある。
たとえば、特許文献１おいて、ライブラリファイルは記録媒体に記録しておいてアプリケーション実行時に必要があればコンピュータ側にロードするとされている。一アプリケーションがライブラリファイルに含まれる総ての機能もしくは関数を使用することは極稀であるのでライブラリファイルを記録媒体に記録するという構成をとっていると考えられるが、その使用量の多寡に違いはあってもライブラリファイル自体は一般的にすべてのアプリケーションが利用するものである。したがって、アプリケーションの実行時にはほぼ必ずライブラリファイルをコンピュータ側にロードさせる必要がある。その他のＯＳファイルであるＧＵＩマネージャー（Graphical User Interface）、かな漢字変換マネージャー、プリンタマネージャー、フォントファイルにあっても同じ事情が当てはまる。
すると、結局、ファイル単位で読み出しの要否を判断する特許文献１の構成では、不必要な部分も含めて記録媒体からＯＳファイル全体をコンピュータ側に読み込む必要がある。
【０００８】
また、コンピュータに保存しているデバイスマネージャーや、ファイルマネージャーや、メモリマネージャーについてみれば、一のアプリケーションがこれらの総ての機能を必要とするわけではないが、常にコンピュータメモリの大きな部分を占めていることになる。
結局、アプリケーション実行時には不必要な部分も含めてすべてのＯＳファイルをコンピュータに保存する必要があり、現実的にはコンピュータ容量に要求される性能は変わらないことになる。
【０００９】
また、特許文献２の構成はＯＳに適用できないという問題がある。
特許文献２では、特定データをプログラム（例えばＯＳ）に与えてプログラム（例えばＯＳ）中の分岐命令の要不要を判断させるものであるが、特定データの付与では割り込み処理といった判断させにくい部分もＯＳには多数存在している。
その結果、特許文献２の構成をＯＳに採用した場合、本来は必要である部分まで削除してしまう危険性が非常に高い。
さらに、タスクのスケジューリングやメモリ管理機能は特定のデータに依存するものではないので、これらの機能は削除されてしまう可能性が高い。
【００１０】
このような問題のため、ＯＳサイズを適切に縮小してコンピュータ容量にかける負担を小さくする構成が切望されていた。
【００１１】
本発明の目的は、ＯＳサイズを適切に縮小するOSイメージ縮小プログラムおよびOSイメージ縮小プログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【００１２】
本発明のＯＳイメージ縮小プログラムは、コンピュータに格納された少なくとも一つのＯＳイメージのサイズを縮小するＯＳイメージ縮小プログラムであって、
前記コンピュータに監視対象のアプリケーションプログラムを所定時間動作させるとともに前記監視対象のアプリケーションプログラムの動作中に実行された関数をモニターして関数の実行履歴を管理する実行履歴管理工程と、
前記実行履歴管理工程にて管理された実行履歴を参照して前記ＯＳイメージに含まれる関数のうち前記監視対象のアプリケーションプログラムの実行時間内において前記実行履歴にある関数を保存関数として管理する保存関数管理工程と、
前記ＯＳイメージに含まれる関数のうち前記保存関数管理工程で管理されない関数を不使用関数として前記ＯＳイメージから削除処理する不使用関数処理工程と、
を前記コンピュータに実行させるものであり、
前記実行履歴管理工程は、
前記ＯＳイメージおよび前記監視対象のアプリケーションプログラムに動作測定のためのプローブを組み込むプローブ挿入工程と、
前記プローブによって得られる情報に基づいて、前記監視対象のアプリケーションプログラムの実行履歴と前記監視対象のアプリケーションプログラムの実行中に実行された関数の実行履歴とを作成する実行履歴作成工程と、
前記実行履歴作成工程にて作成された実行履歴を記憶する実行履歴記憶工程と、を有する
ことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、OSイメージから不要な部分を関数単位で削除するため、効果的にＯＳイメージを縮小することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の実施の形態を図示するとともに図中の各要素に付した符号を参照して説明する。
図１は、本発明のＯＳイメージ縮小プログラム４００を実行させるコンピュータ１００の構成を示す図である。
コンピュータ１００は、中央演算装置（ＣＰＵ）１１０と、メインメモリ１２０と、ハードディスク１３０と、インターフェース（Ｉ／Ｆ）１４０と、を備える。
コンピュータ１００にはインターフェース１４０を介して入出力手段１５０が接続されている。
入出力手段１５０としては、キーボード、マウス、プリンタ、モニター、モデムなどが例として挙げられる。
【００１５】
ハードディクス１３０には、必要なプログラムが記憶保存されている。
本例では、縮小対象となるＯＳイメージファイル２００と、特定のアプリケーション３００と、本実施形態に係るＯＳイメージ縮小プログラム４００が保存されている。
ここで、ＯＳイメージファイル２００としては例えばＬｉｎｕｘ（登録商標）が例として挙げられ、アプリケーション３００としてはＷＥＢサーバが例として挙げられるが、本発明の趣旨よりＯＳやアプリケーションの種類は特に限定されるものではないことはもちろんである。
【００１６】
次に、本実施形態に係るＯＳイメージ縮小プログラム４００の構成について説明する。
図２は、ＯＳイメージ縮小プログラム４００の構成を示す図である。
ＯＳイメージ縮小プログラム４００は、プログラムの動作中に実行された関数をモニターして実行履歴を管理する実行履歴管理部４１０と、実行履歴管理部４１０にて管理された実行履歴を参照してＯＳイメージの関数のうち実行された関数を保存関数として管理する保存関数管理部４２０と、ＯＳイメージの関数のうち保存関数管理部４２０に管理されない関数を不使用関数として削除処理する不使用関数処理部４３０と、を備える。
【００１７】
実行履歴管理部４１０は、ＯＳイメージおよびアプリケーション３００に動作測定のためのプローブ４１２を組み込むプローブ挿入部４１１と、プローブ４１２によって得られる情報から実行履歴を作成する実行履歴作成部４１３と、作成された実行履歴を記憶する実行履歴記憶部４１４と、を備える。
【００１８】
プローブ４１２は、ＯＳカーネル２１０内の任意の命令の実行に割り込んで命令の実行情報を取得する探査機能を有する。
例えばＫｐｒｏｂｅ（登録商標）が例として挙げられる。
プローブ挿入部４１１は、このプローブ４１２をＯＳイメージおよびアプリケーション３００に組み込む機能を有する。
【００１９】
実行履歴作成部４１３は、プローブ４１２にて取得される情報に基づいてアプリケーション３００および各関数の実行履歴を作成する。
アプリケーション３００の実行履歴は、図３に示されるように、動作しているアプリケーション名と、その実行開始時間と、実行終了時間が記録されたテーブル４１５として作成される。
関数実行履歴４１６は、図４に示されるように、実行された関数の情報を表すテーブルとして作成される。
関数実行履歴４１６のテーブルには、スレッド名、関数群、実行要求者、実行開始時刻、データアドレスが記録される。
このように作成されたアプリケーション実行履歴テーブル４１５および関数実行履歴テーブル４１６は実行履歴記憶部４１４に記憶される。
【００２０】
保存関数管理部４２０は、関数実行履歴テーブル４１６に記録された実行関数を保存関数として抽出した保存関数リストを作成する保存関数リスト作成部４２１と、作成された保存関数リストを記憶する保存関数リスト記憶部４２２と、を備える。
【００２１】
保存関数リスト作成部４２１は、アプリケーション３００の動作に関連して実行されたＯＳ関数群を関数実行履歴テーブル４１６からピックアップして保存関数リストとし、このように作成した保存関数リストを保存関数リスト記憶部４２２に記憶させる。
【００２２】
不使用関数処理部４３０は、ＯＳイメージの関数のうち保存関数リストにエントリされていない関数を不使用関数として抽出した不使用関数リスト４３３を作成する不使用関数リスト作成部４３１と、作成された不使用関数リスト４３３を記憶する不使用関数リスト記憶部４３２と、不使用関数リスト４３３にある関数をＯＳイメージファイル２００から削除する不使用関数削除部４３４と、を備える。
【００２３】
不使用関数リスト作成部４３１は、保存関数リストとＯＳイメージファイル２００とを参照して、ＯＳイメージファイル中の関数で保存関数リストに挙がっていない関数を抽出したリストを作成する。
このように抽出した関数とその対応アドレスをテーブルにしてリスト化する。
図５は、不使用関数リスト４３３の構成例を示す図であり、不使用関数リスト４３３には、関数名、開始アドレス、終了アドレスが記録される。
不使用関数削除部４３４は、不使用関数リスト４３３にある不使用関数のアドレスを取得し、対応する関数をＯＳイメージファイル２００から削除する。さらに、削除された関数のみが参照するデータ（変数）が存在する場合にはそのデータ（変数）を削除する。そして、削除した関数のサイズ分だけ残った関数が参照するアドレスから値を引く。
これにより、不使用の余計な関数が削除されてサイズが縮小されたＯＳイメージファイル２００が得られる。
【００２４】
次に、ＯＳイメージ縮小プログラム４００の動作について説明する。
図６は、ＯＳイメージ縮小プログラム４００の動作手順を示すフローチャートである。
ＯＳイメージ縮小プログラム４００の実行にあたっては、まずＳＴ１００において、ＯＳイメージ縮小プログラム４００を実行するために必要なファイルがハードディスク１３０からメインメモリ１２０にロードされる。
そして、ＳＴ２１０において、プローブ挿入部４１１によりアプリケーション３００およびＯＳカーネル２１０にプローブ４１２が挿入される。
【００２５】
図７は、ハードディスク１３０中の必要ファイルがメインメモリ１２０にロードされた状態を示す図である。
アプリケーション３００（例えばＷＥＢサーバ）およびＯＳカーネル２１０がメインメモリ１２０にロードされ、さらに、アプリケーション３００およびＯＳカーネル２１０にはプローブ挿入部４１１によりプローブ４１２が組み込まれている（なお、図７中では説明のためにプローブ４１２を明示的に示している）。
そして、実行履歴作成部４１３、保存関数リスト作成部４２１、不使用関数リスト作成部４３１および不使用関数削除部４３４がメインメモリ１２０にロードされる。
【００２６】
このように必要ファイルのロードが完了したところで、ＳＴ２２０のアプリケーション実行工程によりアプリケーション３００が所定時間実行される。
アプリケーション３００の実行中にアプリケーション３００および関数の実行履歴が作成される（実行履歴作成工程、ＳＴ２３０）。
これにより、図３および図４に示されるアプリケーション３００の実行履歴と関数の実行履歴が作成される。
このように作成された実行履歴は実行履歴記憶工程（ＳＴ２４０）により、実行履歴記憶部４１４に記憶される。
【００２７】
ここに、ＳＴ２１０からＳＴ２４０により実行履歴管理工程が構成されている。
【００２８】
実行履歴が作成されたところで、実行履歴を参照して保存関数のリストが作成される（保存関数リスト作成工程、ＳＴ３１０）。
保存関数リストは、関数実行履歴４１６に記録されている関数とその対応するアドレスを記録して保存関数リストとする。
ここで、図８に、保存関数リスト作成工程（ＳＴ３１０）の手順の一例を示す。
【００２９】
保存関数リストの作成にあたって、まず、関数実行履歴４１６からエントリを取得する（ＳＴ５１０）。次に当該エントリの実行要求者が監視対象のアプリケーション３００と一致するかを確認する（ＳＴ５１１）。一致すれば（ＳＴ５１２：ＹＥＳ）、当該エントリの実行関数を保存関数リストに追加し（ＳＴ５１３）、さらに、当該エントリのデータアドレスを記録する（ＳＴ５１４）。一致しなければ（ＳＴ５１２：ＮＯ）、次に、当該エントリの実行開始時刻が監視対象アプリケーション３００の実行時間内かどうかを確認する（ＳＴ５１５）。
この確認方法としては、監視対象アプリケーション３００の実行開始時刻以上、実行終了時刻以内に当該エントリの実行開始時刻が含まれているかを確認する。
実行時間内であれば（ＳＴ５１６：ＹＥＳ）、当該エントリの実行関数を保存関数リストに追加し（ＳＴ５１３）、当該エントリのデータアドレスを記録しておく（ＳＴ５１４）。
実行時間内でなければ（ＳＴ５１６：ＮＯ）、ＳＴ５１４にてすでに記録されているデータアドレスと一致するかどうかを確認する（ＳＴ５１７）。
一致すれば（ＳＴ５１８：ＹＥＳ）、当該エントリの実行関数を保存関数リストに追加し（ＳＴ５１３）、当該エントリのデータアドレスを一時的に記録しておく（ＳＴ５１４）。
一致しなければ（ＳＴ５１８：ＮＯ）、関数実行履歴４１６にエントリが残っているか確認する（ＳＴ５１９）。
残っていれば（ＳＴ５２０：ＹＥＳ）、ＳＴ５１０から処理を繰り返す。残っていなければ（ＳＴ５２０：ＮＯ）、保存関数リスト作成工程を終了する。
【００３０】
作成された保存関数リストは、保存関数リスト記憶部４２２に記憶される（保存関数リスト記憶工程、ＳＴ３２０）。
【００３１】
次に、ＳＴ４１０において不使用関数リスト作成工程が行われ、不使用関数リスト作成部４３１にて不使用関数リスト４３３が作成される。
これは、保存関数リストとＯＳイメージファイル２００とが参照されて、ＯＳイメージファイル中の関数で保存関数リストに挙がっていない関数を抽出したリストが不使用関数リスト４３３として作成される。
このとき、不使用関数リスト作成部４３１は、ＯＳイメージファイル２００からＯＳ関数群に含まれる総ての関数の関数名、当該関数の開始アドレスおよび終了アドレスを取得し、一時保存する。
そして、保存関数リストを参照して、保存関数リストに挙がっている関数を前記一時保存ファイルから削除することにより、不使用関数リスト４３３を作成する。
【００３２】
作成された不使用関数リスト４３３は、不使用関数リスト記憶部４３２に記憶される（不使用関数リスト記憶工程、ＳＴ４２０）。
【００３３】
不使用関数リスト４３３が作成された後、ＳＴ４３０において、不使用関数削除工程（ＳＴ４３０）が行われ、不使用関数削除部４３４によりＯＳイメージファイル２００から不使用関数が削除される。
図９に、不使用関数削除工程（ＳＴ４３０）の手順を示す。
不使用関数を削除するにあたって、まず、不使用関数リスト４３３にエントリされている削除対象となる不使用関数のアドレスを取得する（ＳＴ６１０）。
このとき、不使用関数削除部４３４は、不使用関数リスト４３３にエントリされている関数のうち、開始アドレスの大きいものから順に削除対象として取得する。
そして、当該不使用関数をＯＳイメージファイル２００から削除する（ＳＴ６１１）。
次に、この削除した不使用関数のみが参照するデータを削除する（ＳＴ６１２）。
すなわち、この不使用関数しかアクセスしない変数が存在すればその変数を削除する。
次に、ＯＳファイルに残っている関数が利用している参照アドレスから、先ほど削除した不使用関数のサイズ分だけ値を引く（ＳＴ６１３）。
そして、不使用関数リスト４３３にエントリされた不使用関数が総てＯＳイメージファイル２００から削除されるまでＳＴ６１０からＳＴ６１３を繰り返す（ＳＴ６１４）。
【００３４】
以上により、ＯＳイメージから不使用の関数を削除し、ＯＳイメージの適切な縮小が完了する。
【００３５】
このような本実施形態によれば、次の効果を奏することができる。
（１）実行履歴管理工程（ＳＴ２１０−ＳＴ２４０）は、アプリケーション３００の動作中に実行されたＯＳを関数単位でモニターして記録し、不使用関数処理工程（ＳＴ４１０−ＳＴ４３０）における不使用関数の削除にあたっても関数単位で不使用関数をＯＳイメージから削除する。
これにより、ＯＳイメージのうち不使用の部分を削除して効果的にＯＳイメージのサイズを縮小することができる。
従来は、ＯＳのファイルごとに使用頻度や重要性を区別し、使用頻度や重要性の低いファイルは外部メディアに保存させることでコンピュータに保持するＯＳサイズを縮小させるとしていたが、使用量の多寡の差はあってもファイル単位でみれば一アプリケーション３００の動作中に総てのファイルが使用されるので、現実的にはすべてのＯＳファイルをコンピュータにロードすることになり、実質的にコンピュータ容量に与える負荷に対してはほとんど効果を奏していなかった。
この点、本実施形態では、関数単位で要不要を判断し、不使用の関数は削除するので、実効性をもってＯＳイメージのサイズを縮小することができる。
【００３６】
（２）実行履歴管理工程（ＳＴ２１０−ＳＴ２４０）は、縮小対象としているＯＳだけでなくアプリケーション３００にもプローブ４１２を組み込み、アプリケーション動作中に使用された関数については関数実行履歴のテーブル４１６にエントリすることとしている。
これにより、アプリケーション動作に必要な関数については確実に保存し、不用意に削除するといった不都合を回避することができる。
従来は、縮小対象のプログラムにのみプローブを組み込んだうえで特定のデータを走らせてプログラム中の実行履歴を取得していたが、このように特定データを与えたときの実行履歴を見るだけでは広汎な処理を行うＯＳの真に必要な部分を正確に判断することはできない。
この点、本実施形態では、アプリケーション３００の動作とＯＳ関数群の動作とを関連させるので、必要な関数を正確に判断して確実に保存関数として保存させることができる。
【００３７】
（３）不使用関数の削除にあたっては、不使用関数リスト４３３のアドレスを参照してハードディスク上のＯＳイメージから不使用関数を削除するので、ソースプログラム（ソースコード）に戻ってプログラムを編集しなくてもハードディスク上のバイナリファイルを自動的に縮小することができる。また、不使用関数のうちアドレスの大きいものから削除するとしているので参照アドレスの書き換え動作をできるかぎり少なくすることができる。
【産業上の利用可能性】
【００３８】
本発明は、ＯＳのサイズ縮小化に利用できる。そして、たとえば、特定のアプリケーションの実行に最適化されたコンピュータシステムのＯＳや、搭載されている物理メモリが限られている組み込みシステムに特に貢献できる。
【図面の簡単な説明】
【００３９】
【図１】ＯＳイメージ縮小プログラムを実行させるコンピュータの構成を示す図。
【図２】ＯＳイメージ縮小プログラムの構成を示す図。
【図３】アプリケーション実行履歴のテーブルを示す図。
【図４】関数実行履歴のテーブルを示す図。
【図５】不使用関数リストの構成例を示す図。
【図６】ＯＳイメージ縮小プログラムの動作手順を示すフローチャート。
【図７】必要ファイルがメインメモリにロードされた状態を示す図。
【図８】保存関数リスト作成工程の手順の一例を示す図。
【図９】不使用関数削除工程の手順を示す図。
【符号の説明】
【００４０】
１００…コンピュータ、１１０…中央演算装置（ＣＰＵ）、１２０…メインメモリ、１３０    ハードディスク、１４０…インターフェース、１５０…入出力手段、２００…ＯＳイメージファイル、２１０…ＯＳカーネル、３００…アプリケーション、３００…アプリケーション、４００…イメージ縮小プログラム、４１０…実行履歴管理部、４１１…プローブ挿入部、４１２…プローブ、４１３…実行履歴作成部、４１４…実行履歴記憶部、４１５…アプリケーション実行履歴、４１６…関数実行履歴、４２０…保存関数管理部、４２１…保存関数リスト作成部、４２２…保存関数リスト記憶部、４３０…不使用関数処理部、４３１…不使用関数リスト作成部、４３２…不使用関数リスト記憶部、４３３…不使用関数リスト、４３４…不使用関数削除部。
【図１】
0005574394.tif 000002
【図２】
0005574394.tif 000003
【図３】
0005574394.tif 000004
【図４】
0005574394.tif 000005
【図５】
0005574394.tif 000006
【図６】
0005574394.tif 000007
【図７】
0005574394.tif 000008
【図８】
0005574394.tif 000009
【図９】
0005574394.tif 000010