JP2009199214A - Osイメージ縮小方法、osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体 - Google Patents

Osイメージ縮小方法、osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2009199214A
JP2009199214A JP2008038545A JP2008038545A JP2009199214A JP 2009199214 A JP2009199214 A JP 2009199214A JP 2008038545 A JP2008038545 A JP 2008038545A JP 2008038545 A JP2008038545 A JP 2008038545A JP 2009199214 A JP2009199214 A JP 2009199214A
Authority
JP
Japan
Prior art keywords
function
image
execution history
unused
function list
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.)
Granted
Application number
JP2008038545A
Other languages
English (en)
Other versions
JP5574394B2 (ja
Inventor
Akihito Kohiga
亮仁 小比賀
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008038545A priority Critical patent/JP5574394B2/ja
Priority to US12/388,041 priority patent/US8443178B2/en
Publication of JP2009199214A publication Critical patent/JP2009199214A/ja
Application granted granted Critical
Publication of JP5574394B2 publication Critical patent/JP5574394B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】OSサイズを適切に縮小するOSイメージ縮小方法を提供する。
【解決手段】
コンピュータに所定のアプリケーションプログラムを所定時間動作させるとともに前記アプリケーションプログラムの動作中に実行された関数をモニターして関数の実行履歴を管理する実行履歴管理工程と、実行履歴管理工程にて管理された実行履歴を参照してOSイメージに含まれる関数のうち前記実行履歴にある関数を保存関数として管理する保存関数管理工程と、OSイメージに含まれる関数のうち保存関数管理工程で管理されない関数を不使用関数としてOSイメージから削除処理する不使用関数処理工程と、を備える。関数単位で処理を行うことにより適切にOSを縮小することができる。
【選択図】 図6

Description

本発明は、OSイメージ縮小方法、OSイメージ縮小プログラムおよびOSイメージ縮小プログラムを記録した記録媒体に関する。
コンピュータ上でアプリケーションソフトを起動して実行するためにはオペレーティングシステム(OS)が必要となる。OSは、入出力機能やメモリ管理機能など多くのアプリケーションソフトから共通して利用される基本的な機能を提供し、ハードウェアを抽象化したインターフェースをアプリケーションソフトに提供する基本ソフトウェアとして広く用いられているシステムである。そして、ユーザーが使用するハードウェアやアプリケーションに汎用性を持たせるため、複数の機能を盛り込んだフルセットのOSファイル(オペレーティングシステムファイル)が構成されている。特に、近年では、コンピュータ機能の発達に応じて拡張性の高いGUI機能や高度で複雑な管理機能が求められるようになってきている。このようにOSに求められる機能が多くなったためOSファイルが非常に大きくなってきている。そして、一般にOSファイルはコンピュータに内蔵されるメインメモリ(主記憶装置)あるいはハードディスク(補助記憶装置)に保存されて使用されるものであるが、OSサイズが大きくなってきているためコンピュータに求められる容量も非常に大きくなっている。
そこで、コンピュータに常時記憶保存するOSファイルの容量を縮小するための構成が提案されている(例えば特許文献1、特許文献2)。
特許文献1には、情報処理システムが記載されている。この情報処理システムは、OSのフルセットを構成する複数のOSファイルのうち、一部のOSファイルはコンピュータに保存し、その他のOSファイルを外部の記録媒体に記録しておく構成を採用する。たとえば、システム環境に影響を受けないOSファイル群として、カーネル、デバイスマネージャー(キーボード処理、ディスプレイ処理、マウス処理、IDE/ネットワーク処理)、ファイルマネージャー、メモリマネージャー、タスクマネージャーがコンピュータに保存される。その一方、基本的にシステム環境に影響を受けないOSファイル群として、GUIマネージャー(Graphical User Interface)、かな漢字変換マネージャー、プリンタマネージャー、フォントファイル、ライブラリファイル等はコンピュータではなく記録媒体に記録される。
そして、アプリケーション実行時には、そのアプリケーション動作に必要なOSファイルをすべてコンピュータに有しているか判断し、必要なファイルがコンピュータ側に保存されていなければ、記録媒体から必要なファイルをコンピュータにロードする。たとえば、プリンタが必要なアプリケーションであればプリンタマネージャーのロードを行う。
このような構成によれば、コンピュータ側では必要最小限のOSファイルのみしか保持していないため、コンピュータにおけるOSサイズを小さくできる。
また、特許文献2には、プログラム処理高速化方式が記載されている。
このプログラム処理高速化方式では、まず、ソースプログラムに使用回数を計測する測定手段を組み込んで測定手段組み込み済みソースプログラムを生成する。そして、この測定手段組み込み済みソースプログラムをコンパイルして実行プログラムを作成する。実行プログラムに特定のデータを与えて実行させ、プログラム中の個々の分岐命令が実行されたか否か測定して測定値を収集する。実行されなかった分岐命令を削除し、不要な分岐命令が削除されたソースプログラムを得る。このような方式により、特定データに対して最適化されたソースプログラムを得る。
すなわち、汎用的に作られたプログラムを特定のユーザーや使用目的に合うようにカスタマイズして処理の高速化を図ることができ、同時に、不必要な部分(分岐命令)を削除するのでプログラムを縮小することができる。
特開平10−143356号公報(第14頁、図11) 特開平7−44397号公報(第4頁、図1)
しかしながら、特許文献1の構成ではOSサイズを縮小することにほとんど寄与せず、現実的にはコンピュータの容量にかける負荷は従前のものと変わらないという問題がある。
たとえば、特許文献1おいて、ライブラリファイルは記録媒体に記録しておいてアプリケーション実行時に必要があればコンピュータ側にロードするとされている。一アプリケーションがライブラリファイルに含まれる総ての機能もしくは関数を使用することは極稀であるのでライブラリファイルを記録媒体に記録するという構成をとっていると考えられるが、その使用量の多寡に違いはあってもライブラリファイル自体は一般的にすべてのアプリケーションが利用するものである。したがって、アプリケーションの実行時にはほぼ必ずライブラリファイルをコンピュータ側にロードさせる必要がある。その他のOSファイルであるGUIマネージャー(Graphical User Interface)、かな漢字変換マネージャー、プリンタマネージャー、フォントファイルにあっても同じ事情が当てはまる。
すると、結局、ファイル単位で読み出しの要否を判断する特許文献1の構成では、不必要な部分も含めて記録媒体からOSファイル全体をコンピュータ側に読み込む必要がある。
また、コンピュータに保存しているデバイスマネージャーや、ファイルマネージャーや、メモリマネージャーについてみれば、一のアプリケーションがこれらの総ての機能を必要とするわけではないが、常にコンピュータメモリの大きな部分を占めていることになる。
結局、アプリケーション実行時には不必要な部分も含めてすべてのOSファイルをコンピュータに保存する必要があり、現実的にはコンピュータ容量に要求される性能は変わらないことになる。
また、特許文献2の構成はOSに適用できないという問題がある。
特許文献2では、特定データをプログラム(例えばOS)に与えてプログラム(例えばOS)中の分岐命令の要不要を判断させるものであるが、特定データの付与では割り込み処理といった判断させにくい部分もOSには多数存在している。
その結果、特許文献2の構成をOSに採用した場合、本来は必要である部分まで削除してしまう危険性が非常に高い。
さらに、タスクのスケジューリングやメモリ管理機能は特定のデータに依存するものではないので、これらの機能は削除されてしまう可能性が高い。
このような問題のため、OSサイズを適切に縮小してコンピュータ容量にかける負担を小さくする構成が切望されていた。
本発明の目的は、OSサイズを適切に縮小するOSイメージ縮小方法、OSイメージ縮小プログラムおよびOSイメージ縮小プログラムを記録した記録媒体を提供することにある。
本発明のOSイメージ縮小方法は、コンピュータに格納された少なくとも一つのOSイメージのサイズを縮小するOSイメージ縮小方法であって、前記コンピュータに所定のアプリケーションプログラムを所定時間動作させるとともに前記アプリケーションプログラムの動作中に実行された関数をモニターして関数の実行履歴を管理する実行履歴管理工程と、前記実行履歴管理工程にて管理された実行履歴を参照して前記OSイメージに含まれる関数のうち前記実行履歴にある関数を保存関数として管理する保存関数管理工程と、前記OSイメージに含まれる関数のうち前記保存関数管理工程で管理されない関数を不使用関数として前記OSイメージから削除処理する不使用関数処理工程と、を備えることを特徴とする。
本発明によれば、OSイメージから不要な部分を関数単位で削除するため、効果的にOSイメージを縮小することができる。
本発明の実施の形態を図示するとともに図中の各要素に付した符号を参照して説明する。
図1は、本発明のOSイメージ縮小プログラム400を実行させるコンピュータ100の構成を示す図である。
コンピュータ100は、中央演算装置(CPU)110と、メインメモリ120と、ハードディスク130と、インターフェース(I/F)140と、を備える。
コンピュータ100にはインターフェース140を介して入出力手段150が接続されている。
入出力手段150としては、キーボード、マウス、プリンタ、モニター、モデムなどが例として挙げられる。
ハードディクス130には、必要なプログラムが記憶保存されている。
本例では、縮小対象となるOSイメージファイル200と、特定のアプリケーション300と、本実施形態に係るOSイメージ縮小プログラム400が保存されている。
ここで、OSイメージファイル200としては例えばLinux(登録商標)が例として挙げられ、アプリケーション300としてはWEBサーバが例として挙げられるが、本発明の趣旨よりOSやアプリケーションの種類は特に限定されるものではないことはもちろんである。
次に、本実施形態に係るOSイメージ縮小プログラム400の構成について説明する。
図2は、OSイメージ縮小プログラム400の構成を示す図である。
OSイメージ縮小プログラム400は、プログラムの動作中に実行された関数をモニターして実行履歴を管理する実行履歴管理部410と、実行履歴管理部410にて管理された実行履歴を参照してOSイメージの関数のうち実行された関数を保存関数として管理する保存関数管理部420と、OSイメージの関数のうち保存関数管理部420に管理されない関数を不使用関数として削除処理する不使用関数処理部430と、を備える。
実行履歴管理部410は、OSイメージおよびアプリケーション300に動作測定のためのプローブ412を組み込むプローブ挿入部411と、プローブ412によって得られる情報から実行履歴を作成する実行履歴作成部413と、作成された実行履歴を記憶する実行履歴記憶部414と、を備える。
プローブ412は、OSカーネル210内の任意の命令の実行に割り込んで命令の実行情報を取得する探査機能を有する。
例えばKprobe(登録商標)が例として挙げられる。
プローブ挿入部411は、このプローブ412をOSイメージおよびアプリケーション300に組み込む機能を有する。
実行履歴作成部413は、プローブ412にて取得される情報に基づいてアプリケーション300および各関数の実行履歴を作成する。
アプリケーション300の実行履歴は、図3に示されるように、動作しているアプリケーション名と、その実行開始時間と、実行終了時間が記録されたテーブル415として作成される。
関数実行履歴416は、図4に示されるように、実行された関数の情報を表すテーブルとして作成される。
関数実行履歴416のテーブルには、スレッド名、関数群、実行要求者、実行開始時刻、データアドレスが記録される。
このように作成されたアプリケーション実行履歴テーブル415および関数実行履歴テーブル416は実行履歴記憶部414に記憶される。
保存関数管理部420は、関数実行履歴テーブル416に記録された実行関数を保存関数として抽出した保存関数リストを作成する保存関数リスト作成部421と、作成された保存関数リストを記憶する保存関数リスト記憶部422と、を備える。
保存関数リスト作成部421は、アプリケーション300の動作に関連して実行されたOS関数群を関数実行履歴テーブル416からピックアップして保存関数リストとし、このように作成した保存関数リストを保存関数リスト記憶部422に記憶させる。
不使用関数処理部430は、OSイメージの関数のうち保存関数リストにエントリされていない関数を不使用関数として抽出した不使用関数リスト433を作成する不使用関数リスト作成部431と、作成された不使用関数リスト433を記憶する不使用関数リスト記憶部432と、不使用関数リスト433にある関数をOSイメージファイル200から削除する不使用関数削除部434と、を備える。
不使用関数リスト作成部431は、保存関数リストとOSイメージファイル200とを参照して、OSイメージファイル中の関数で保存関数リストに挙がっていない関数を抽出したリストを作成する。
このように抽出した関数とその対応アドレスをテーブルにしてリスト化する。
図5は、不使用関数リスト433の構成例を示す図であり、不使用関数リスト433には、関数名、開始アドレス、終了アドレスが記録される。
不使用関数削除部434は、不使用関数リスト433にある不使用関数のアドレスを取得し、対応する関数をOSイメージファイル200から削除する。さらに、削除された関数のみが参照するデータ(変数)が存在する場合にはそのデータ(変数)を削除する。そして、削除した関数のサイズ分だけ残った関数が参照するアドレスから値を引く。
これにより、不使用の余計な関数が削除されてサイズが縮小されたOSイメージファイル200が得られる。
次に、OSイメージ縮小プログラム400の動作について説明する。
図6は、OSイメージ縮小プログラム400の動作手順を示すフローチャートである。
OSイメージ縮小プログラム400の実行にあたっては、まずST100において、OSイメージ縮小プログラム400を実行するために必要なファイルがハードディスク130からメインメモリ120にロードされる。
そして、ST210において、プローブ挿入部411によりアプリケーション300およびOSカーネル210にプローブ412が挿入される。
図7は、ハードディスク130中の必要ファイルがメインメモリ120にロードされた状態を示す図である。
アプリケーション300(例えばWEBサーバ)およびOSカーネル210がメインメモリ120にロードされ、さらに、アプリケーション300およびOSカーネル210にはプローブ挿入部411によりプローブ412が組み込まれている(なお、図7中では説明のためにプローブ412を明示的に示している)。
そして、実行履歴作成部413、保存関数リスト作成部421、不使用関数リスト作成部431および不使用関数削除部434がメインメモリ120にロードされる。
このように必要ファイルのロードが完了したところで、ST220のアプリケーション実行工程によりアプリケーション300が所定時間実行される。
アプリケーション300の実行中にアプリケーション300および関数の実行履歴が作成される(実行履歴作成工程、ST230)。
これにより、図3および図4に示されるアプリケーション300の実行履歴と関数の実行履歴が作成される。
このように作成された実行履歴は実行履歴記憶工程(ST240)により、実行履歴記憶部414に記憶される。
ここに、ST210からST240により実行履歴管理工程が構成されている。
実行履歴が作成されたところで、実行履歴を参照して保存関数のリストが作成される(保存関数リスト作成工程、ST310)。
保存関数リストは、関数実行履歴416に記録されている関数とその対応するアドレスを記録して保存関数リストとする。
ここで、図8に、保存関数リスト作成工程(ST310)の手順の一例を示す。
保存関数リストの作成にあたって、まず、関数実行履歴416からエントリを取得する(ST510)。次に当該エントリの実行要求者が監視対象のアプリケーション300と一致するかを確認する(ST511)。一致すれば(ST511:YES)、当該エントリの実行関数を保存関数リストに追加し(ST513)、さらに、当該エントリのデータアドレスを記録する(ST514)。一致しなければ(ST512:NO)、次に、当該エントリの実行開始時刻が監視対象アプリケーション300の実行時間内かどうかを確認する(ST515)。
この確認方法としては、監視対象アプリケーション300の実行開始時刻以上、実行終了時刻以内に当該エントリの実行開始時刻が含まれているかを確認する。
実行時間内でなければ(ST516:YES)、当該エントリの実行関数を保存関数リストに追加し(ST513)、当該エントリのデータアドレスを記録しておく(ST514)。
一致しなければ(ST516:NO)、ST514にてすでに記録されているデータアドレスと一致するかどうかを確認する(ST517)。
一致すれば(ST518:YES)、当該エントリの実行関数を保存関数リストに追加し(ST513)、当該エントリのデータアドレスを一時的に記録しておく(ST514)。
一致しなければ(ST518:NO)、関数実行履歴416にエントリが残っているか確認する(ST519)。
残っていれば(ST520:YES)、ST510から処理を繰り返す。
残っていなければ(ST520:NO)、保存関数リスト作成工程を終了する。
作成された保存関数リストは、保存関数リスト記憶部422に記憶される(保存関数リスト記憶工程、ST320)。
次に、ST410において不使用関数リスト作成工程が行われ、不使用関数リスト作成部431にて不使用関数リスト433が作成される。
これは、保存関数リストとOSイメージファイル200とが参照されて、OSイメージファイル中の関数で保存関数リストに挙がっていない関数を抽出したリストが不使用関数リスト433として作成される。
このとき、不使用関数リスト作成部431は、OSイメージファイル200からOS関数群に含まれる総ての関数の関数名、当該関数の開始アドレスおよび終了アドレスを取得し、一時保存する。
そして、保存関数リストを参照して、保存関数リストに挙がっている関数を前記一時保存ファイルから削除することにより、不使用関数リスト433を作成する。
作成された不使用関数リスト433は、不使用関数リスト記憶部432に記憶される(不使用関数リスト記憶工程、ST420)。
不使用関数リスト433が作成された後、ST430において、不使用関数削除工程(ST430)が行われ、不使用関数削除部434によりOSイメージファイル200から不使用関数が削除される。
図9に、不使用関数削除工程(ST430)の手順を示す。
不使用関数を削除するにあたって、まず、不使用関数リスト433にエントリされている削除対象となる不使用関数のアドレスを取得する(ST610)。
このとき、不使用関数削除部434は、不使用関数リスト433にエントリされている関数のうち、開始アドレスの大きいものから順に削除対象として取得する。
そして、当該不使用関数をOSイメージファイル200から削除する(ST611)。
次に、この削除した不使用関数のみが参照するデータを削除する(ST612)。
すなわち、この不使用関数しかアクセスしない変数が存在すればその変数を削除する。
次に、OSファイルに残っている関数が利用している参照アドレスから、先ほど削除した不使用関数のサイズ分だけ値を引く(ST613)。
そして、不使用関数リスト433にエントリされた不使用関数が総てOSイメージファイル200から削除されるまでST610からST613を繰り返す(ST614)。
以上により、OSイメージから不使用の関数を削除し、OSイメージの適切な縮小が完了する。
このような本実施形態によれば、次の効果を奏することができる。
(1)実行履歴管理工程(ST210−ST240)は、アプリケーション300の動作中に実行されたOSを関数単位でモニターして記録し、不使用関数処理工程(ST410−ST430)における不使用関数の削除にあたっても関数単位で不使用関数をOSイメージから削除する。
これにより、OSイメージのうち不使用の部分を削除して効果的にOSイメージのサイズを縮小することができる。
従来は、OSのファイルごとに使用頻度や重要性を区別し、使用頻度や重要性の低いファイルは外部メディアに保存させることでコンピュータに保持するOSサイズを縮小させるとしていたが、使用量の多寡の差はあってもファイル単位でみれば一アプリケーション300の動作中に総てのファイルが使用されるので、現実的にはすべてのOSファイルをコンピュータにロードすることになり、実質的にコンピュータ容量に与える負荷に対してはほとんど効果を奏していなかった。
この点、本実施形態では、関数単位で要不要を判断し、不使用の関数は削除するので、実効性をもってOSイメージのサイズを縮小することができる。
(2)実行履歴管理工程(ST210−ST240)は、縮小対象としているOSだけでなくアプリケーション300にもプローブ412を組み込み、アプリケーション動作中に使用された関数については関数実行履歴のテーブル416にエントリすることとしている。
これにより、アプリケーション動作に必要な関数については確実に保存し、不用意に削除するといった不都合を回避することができる。
従来は、縮小対象のプログラムにのみプローブを組み込んだうえで特定のデータを走らせてプログラム中の実行履歴を取得していたが、このように特定データを与えたときの実行履歴を見るだけでは広汎な処理を行うOSの真に必要な部分を正確に判断することはできない。
この点、本実施形態では、アプリケーション300の動作とOS関数群の動作とを関連させるので、必要な関数を正確に判断して確実に保存関数として保存させることができる。
(3)不使用関数の削除にあたっては、不使用関数リスト433のアドレスを参照してハードディスク上のOSイメージから不使用関数を削除するので、ソースプログラム(ソースコード)に戻ってプログラムを編集しなくてもハードディスク上のバイナリファイルを自動的に縮小することができる。また、不使用関数のうちアドレスの大きいものから削除するとしているので参照アドレスの書き換え動作をできるかぎり少なくすることができる。
本発明は、OSのサイズ縮小化に利用できる。そして、たとえば、特定のアプリケーションの実行に最適化されたコンピュータシステムのOSや、搭載されている物理メモリが限られている組み込みシステムに特に貢献できる。
OSイメージ縮小プログラムを実行させるコンピュータの構成を示す図。 OSイメージ縮小プログラムの構成を示す図。 アプリケーション実行履歴のテーブルを示す図。 関数実行履歴のテーブルを示す図。 不使用関数リストの構成例を示す図。 OSイメージ縮小プログラムの動作手順を示すフローチャート。 必要ファイルがメインメモリにロードされた状態を示す図。 保存関数リスト作成工程の手順の一例を示す図。 不使用関数削除工程の手順を示す図。
符号の説明
100…コンピュータ、110…中央演算装置(CPU)、120…メインメモリ、130 ハードディスク、140…インターフェース、150…入出力手段、200…OSイメージファイル、210…OSカーネル、300…アプリケーション、300…アプリケーション、400…イメージ縮小プログラム、410…実行履歴管理部、411…プローブ挿入部、412…プローブ、413…実行履歴作成部、414…実行履歴記憶部、415…アプリケーション実行履歴、416…関数実行履歴、420…保存関数管理部、421…保存関数リスト作成部、422…保存関数リスト記憶部、430…不使用関数処理部、431…不使用関数リスト作成部、432…不使用関数リスト記憶部、433…不使用関数リスト、434…不使用関数削除部。

Claims (7)

  1. コンピュータに格納された少なくとも一つのOSイメージのサイズを縮小するOSイメージ縮小方法であって、
    前記コンピュータに所定のアプリケーションプログラムを所定時間動作させるとともに前記アプリケーションプログラムの動作中に実行された関数をモニターして関数の実行履歴を管理する実行履歴管理工程と、
    前記実行履歴管理工程にて管理された実行履歴を参照して前記OSイメージに含まれる関数のうち前記実行履歴にある関数を保存関数として管理する保存関数管理工程と、
    前記OSイメージに含まれる関数のうち前記保存関数管理工程で管理されない関数を不使用関数として前記OSイメージから削除処理する不使用関数処理工程と、を備える
    ことを特徴とするOSイメージ縮小方法。
  2. 請求項1に記載のOSイメージ縮小方法において、
    前記実行履歴管理工程は、
    前記OSイメージおよび前記所定のアプリケーションプログラムに動作測定のためのプローブを組み込むプローブ挿入工程と、
    前記プローブによって得られる情報から実行履歴を作成する実行履歴作成工程と、
    前記実行履歴作成工程にて作成された実行履歴を記憶する実行履歴記憶工程と、を備える
    ことを特徴とするOSイメージ縮小方法。
  3. 請求項1または請求項2に記載のOSイメージ縮小方法において、
    前記保存関数管理工程は、
    前記実行履歴管理工程にて作成された実行履歴に記録された実行関数を保存関数として抽出した保存関数リストを作成する保存関数リスト作成工程と、
    前記保存関数リスト作成工程にて作成された前記保存関数リストを記憶する保存関数リスト記憶工程と、を備える
    ことを特徴とするOSイメージ縮小方法。
  4. 請求項1から請求項3のいずれかに記載のOSイメージ縮小方法において、
    前記不使用関数処理工程は、
    前記OSイメージに含まれる関数のうち前記保存関数管理工程にて管理されない関数を不使用関数として抽出した不使用関数リストを作成する不使用関数リスト作成工程と、
    前記不使用関数リスト作成工程にて作成された不使用関数リストを記憶する不使用関数リスト記憶工程と、
    前記不使用関数リストにある関数を前記OSイメージから削除する不使用関数削除工程と、を備える
    ことを特徴とするOSイメージ縮小方法。
  5. 請求項1から請求項4のいずれかに記載のOSイメージ縮小方法において、
    前記不使用関数処理工程は、
    前記不使用関数のみが参照するデータが存在する場合には、前記データを前記OSイメージから削除する
    ことを特徴とするOSイメージ縮小方法。
  6. 少なくとも一つのOSイメージを有するコンピュータに請求項1から請求項5のいずれかに記載のOSイメージ縮小方法の各工程を実行させる
    ことを特徴とするOSイメージ縮小プログラム。
  7. 請求項6に記載のOSイメージ縮小プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008038545A 2008-02-20 2008-02-20 Osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体 Expired - Fee Related JP5574394B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008038545A JP5574394B2 (ja) 2008-02-20 2008-02-20 Osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体
US12/388,041 US8443178B2 (en) 2008-02-20 2009-02-18 Operating system image shrinking apparatus and method and computer readable tangible medium storing a program for operating system image shrinking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008038545A JP5574394B2 (ja) 2008-02-20 2008-02-20 Osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2009199214A true JP2009199214A (ja) 2009-09-03
JP5574394B2 JP5574394B2 (ja) 2014-08-20

Family

ID=40956228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008038545A Expired - Fee Related JP5574394B2 (ja) 2008-02-20 2008-02-20 Osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US8443178B2 (ja)
JP (1) JP5574394B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018525697A (ja) * 2016-02-09 2018-09-06 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft プログラム命令を安全に実行する方法及び実行環境

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5347590B2 (ja) * 2009-03-10 2013-11-20 株式会社リコー 画像形成装置、データ管理方法、及びプログラム
KR20120036209A (ko) * 2010-10-07 2012-04-17 삼성전자주식회사 컴퓨팅 시스템에서 부트 이미지의 크기를 최적화하는 부팅이미지 생성방법
KR101867960B1 (ko) * 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
US9703950B2 (en) 2012-03-30 2017-07-11 Irdeto B.V. Method and system for preventing and detecting security threats
US9244736B2 (en) * 2013-01-28 2016-01-26 Hewlett Packard Enterprise Development Lp Thinning operating systems
US9740505B2 (en) 2014-07-15 2017-08-22 The Mathworks, Inc. Accurate static dependency analysis via execution-context type prediction
US9799049B2 (en) * 2014-12-15 2017-10-24 Nuance Communications, Inc. Enhancing a message by providing supplemental content in the message
US20160170971A1 (en) * 2014-12-15 2016-06-16 Nuance Communications, Inc. Optimizing a language model based on a topic of correspondence messages
US11250217B1 (en) 2015-07-14 2022-02-15 Soundhound, Inc. Conditional responses to application commands in a client-server system
US12093686B2 (en) * 2022-09-26 2024-09-17 Sap Se Code maintenance system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314699A (ja) * 1995-05-15 1996-11-29 Hitachi Ltd オペレーティングシステムの生成方法、生成装置および計算機システム
WO2007037846A1 (en) * 2005-09-22 2007-04-05 Advanced Micro Devices, Inc. Boot performance optimization for hard drive for personal internet communicator

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481708A (en) * 1992-06-05 1996-01-02 Borland International, Inc. System and methods for optimizing object-oriented compilations
US6119186A (en) * 1997-05-30 2000-09-12 Texas Instruments Incorporated Computer system with environmental manager for detecting and responding to changing environmental conditions
US7509485B2 (en) * 2002-09-04 2009-03-24 Chou Hui-Ling Method for loading a program module in an operating system
JP4768984B2 (ja) * 2004-12-06 2011-09-07 パナソニック株式会社 コンパイル方法、コンパイルプログラムおよびコンパイル装置
GB0607068D0 (en) * 2006-04-07 2006-05-17 Symbian Software Ltd Improvement relating to method of embedding software in computing devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314699A (ja) * 1995-05-15 1996-11-29 Hitachi Ltd オペレーティングシステムの生成方法、生成装置および計算機システム
WO2007037846A1 (en) * 2005-09-22 2007-04-05 Advanced Micro Devices, Inc. Boot performance optimization for hard drive for personal internet communicator

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018525697A (ja) * 2016-02-09 2018-09-06 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft プログラム命令を安全に実行する方法及び実行環境
US10489564B2 (en) 2016-02-09 2019-11-26 Siemens Aktiengesellschaft Method and execution environment for the secure execution of program instructions

Also Published As

Publication number Publication date
JP5574394B2 (ja) 2014-08-20
US20090210688A1 (en) 2009-08-20
US8443178B2 (en) 2013-05-14

Similar Documents

Publication Publication Date Title
JP5574394B2 (ja) Osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体
KR102084816B1 (ko) Bpram을 사용한 소프트웨어 애플리케이션들의 레이아웃 및 실행
US8453121B2 (en) Managing the tracing of the execution of a computer program
US8805885B2 (en) Method, system and program product for interning invariant data objects in dynamic space constrained systems
US20130086598A1 (en) Generating compiled code that indicates register liveness
US7779402B2 (en) System and method for fine grain method update of an application to provide continuous availability
CN104252402A (zh) 一种程序调试方法及装置
JP5281452B2 (ja) メモリ管理方法、コンピュータ、及び、メモリ管理プログラム
JP2011141701A (ja) データ編集方法、データ編集プログラムおよびデータ編集装置
JP4144885B2 (ja) アプリケーション・オブジェクトの再利用方法
WO2011104897A1 (ja) メモリ管理方法、計算機システム及びメモリ管理プログラム
CN109213526B (zh) 用于确定处理器操作的方法及装置
CN112000386A (zh) 一种应用的实现方法和装置
US20180052680A1 (en) Implementing locale management on paas: live locale object update
CN113688000A (zh) 磁盘使用信息的展示方法、装置、存储介质及计算机设备
JP5531670B2 (ja) データ処理装置、および、プログラム
JP2009140142A (ja) ジャーナルファイルシステム及びその修復方法
JP6688433B2 (ja) 計算機システム
JP2014215894A (ja) 端末装置、情報処理方法及び情報処理プログラム
JP2001331368A (ja) メモリ解放漏れ判定方法
US20230333987A1 (en) Computer-readable recording medium, information processing method, and information processing device
Kokosa et al. Programmatical APIs
WO2011104889A1 (ja) 計算機システム、メモリ管理方法及びメモリ管理プログラム
JP7067781B2 (ja) 動的リンク管理装置、動的リンク管理方法、及びプログラム
CN109101192B (zh) 数据存储方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140626

R150 Certificate of patent or registration of utility model

Ref document number: 5574394

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees