(57)【要約】      （修正有）【課題】情報処理装置の起動性能を向上する。【解決手段】情報処理装置は、プログラム又はデータである実行データのうち当該情報処理装置の起動後の所定期間内にアクセスされた実行データを特定する情報であるアクセス履歴を補助記憶装置に記憶し、起動時に、アクセス履歴から特定される実行データを補助記憶装置から主記憶装置にロードし、主記憶装置にロードされた実行データを順次起動する。アクセス履歴は、実行データがアクセスされた日時を示す情報を含み、情報処理装置は、アクセス履歴で特定される実行データのうち、アクセス日時の早い実行データを優先して補助記憶装置から主記憶装置にロードする。情報処理装置は、アクセス履歴で特定される実行データのロードが完了した後、アクセス履歴で特定されていない実行データの補助記憶装置から主記憶装置へのロードを開始する。【選択図】図１１
2019139612.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ、主記憶装置、及び補助記憶装置を備えて構成される情報処理装置であって、
前記補助記憶装置は、当該情報処理装置の機能を実現するためのプログラム又はデータである実行データを複数記憶し、
前記実行データのうち当該情報処理装置の起動後の所定期間内にアクセスされた前記実行データを特定する情報であるアクセス履歴を前記補助記憶装置に記憶する、アクセス履歴記憶部、
当該情報処理装置の起動時に、前記アクセス履歴から特定される前記実行データを前記補助記憶装置から前記主記憶装置にロードする、ロード制御部、及び、
前記主記憶装置にロードされた前記実行データを順次起動する、実行データ開始部、
を備える、情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記アクセス履歴は、前記実行データがアクセスされた日時を示す情報を含み、
前記ロード制御部は、前記アクセス履歴で特定される前記実行データのうち、アクセス日時の早い前記実行データを優先して前記補助記憶装置から前記主記憶装置にロードする、
情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記ロード制御部は、前記アクセス履歴で特定される前記実行データの前記補助記憶装置から前記主記憶装置へのロードが完了した後、前記アクセス履歴で特定されていない前記実行データの、前記補助記憶装置から前記主記憶装置へのロードを開始する、
情報処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理装置であって、
オペレーティングシステムが機能し、
前記所定期間は、前記オペレーティングシステムの起動から終了までの期間である、
情報処理装置。
【請求項５】
請求項１乃至３のいずれか一項に記載の情報処理装置であって、
前記実行データは、実行モジュール、前記実行モジュールとともに用いられるライブラリ、及び、前記実行モジュール又は前記ライブラリとともに用いられるデータ、のうちの少なくともいずれかを含む、
情報処理装置。
【請求項６】
請求項１乃至３のいずれか一項に記載の情報処理装置であって、
オペレーティングシステム及びファイルシステムが機能し、
前記実行データは前記補助記憶装置にファイルとして記憶されており、
前記ロード制御部が、前記アクセス履歴で特定される前記実行データの前記補助記憶装置から前記主記憶装置へのロードが完了した状態におけるルートファイルシステムのイメージデータを生成して前記補助記憶装置に記憶する、イメージデータ生成部を更に備え、
前記ロード制御部は、当該情報処理装置の起動に際し、前記補助記憶装置から前記イメージデータを読み出して前記主記憶装置に展開する、
情報処理装置。
【請求項７】
プロセッサ、主記憶装置、及び補助記憶装置を備えて構成される情報処理装置の制御方法であって、
前記情報処理装置が、
前記情報処理装置の機能を実現するためのプログラム又はデータである実行データのうち前記情報処理装置の起動後の所定期間内にアクセスされた実行データを特定する情報であるアクセス履歴を前記補助記憶装置に記憶するステップ、
前記情報処理装置の起動時に、前記アクセス履歴から特定される前記実行データを前記補助記憶装置から前記主記憶装置にロードするステップ、
前記主記憶装置にロードされた前記実行データを順次起動するステップ、
を実行する、情報処理装置の制御方法。
【請求項８】
請求項７に記載の情報処理装置の制御方法であって、
前記アクセス履歴は、前記実行データがアクセスされた日時を示す情報を含み、
前記情報処理装置が、前記アクセス履歴で特定される前記実行データのうち、アクセス日時の早い前記実行データを優先して前記補助記憶装置から前記主記憶装置にロードするステップ、
を更に実行する、情報処理装置の制御方法。
【請求項９】
請求項７に記載の情報処理装置の制御方法であって、
前記情報処理装置が、前記アクセス履歴で特定される前記実行データの前記補助記憶装置から前記主記憶装置へのロードが完了した後、前記アクセス履歴で特定されていない前記実行データの、前記補助記憶装置から前記主記憶装置へのロードを開始するステップ、
を更に実行する、情報処理装置の制御方法。
【請求項１０】
請求項７に記載の情報処理装置の制御方法であって、
前記情報処理装置は、オペレーティングシステム及びファイルシステムの機能を備え、
前記実行データは、前記補助記憶装置にファイルとして記憶されており、
前記情報処理装置が、
前記アクセス履歴で特定される前記実行データの前記補助記憶装置から前記主記憶装置へのロードが完了した状態におけるルートファイルシステムのイメージデータを生成して前記補助記憶装置に記憶するステップ、及び、
前記情報処理装置の起動に際し、前記補助記憶装置から前記イメージデータを読み出して前記主記憶装置に展開するステップ、
を更に実行する、情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理装置の制御方法に関する。
【背景技術】
【０００２】
特許文献１には、「主記憶装置上の実行時メモリイメージを、ＯＳや各ＡＰ、あるいはＡＰ群単位に分割して補助記憶装置に格納しておき、起動する際には、分割された各実行時メモリイメージを並行して主記憶装置上に転送するよう構成する。また、メモリイメージを用いた起動処理と、メモリイメージを用いない起動処理とを各プログラムに応じて選択可能とするよう構成する。さらに、メモリイメージを主記憶装置へ転送することによる起動処理と、主記憶装置への転送を行うことなく補助記憶装置上で実行することによる起動処理とを各プログラムに応じて選択可能とするよう構成する。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０６５７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
組み込みシステムに用いられるマイコンボードや、制御系システムに用いられる操作端末やサーバ装置等の情報処理装置には、高い起動性能や応答性能が求められるとともに、振動や衝撃に対する高い信頼性が求められる。そこでこうした情報処理装置においては、起動時に、補助記憶装置（ＳＳＤ（Solid State Drive）、ハードディスク等）に記憶さ
れているルートファイルシステムの全体を主記憶装置（ＲＡＭ（Random Access Memory）等）にロードして、ロードされた主記憶装置のルートファイルシステムをベースとして情報処理装置（オペレーティングシステム）を高速かつ安全に動作させるようにしていることがある。
【０００５】
しかし情報処理装置の中には起動性能に対する要請の厳しいものがあり、こうした情報処理装置については起動時に行われる補助記憶装置から主記憶装置へのルートファイルシステムのロードに要する時間を如何に短縮するかが課題となる。またこうした情報処理装置については、起動性能の向上に際して個々の情報処理装置の特性を考慮する必要もある。
【０００６】
特許文献１では、ＯＳや各ＡＰ、あるいはＡＰ群単位に分割して補助記憶装置に格納された主記憶装置上の実行時メモリイメージを並行して主記憶装置上に転送するようにしている。しかし同構成によって起動性能についての所期の効果を得るためには、ＲＡＭ、ＲＯＭ（Read Only Memory）、ＤＭＡ（Dynamic Memory Access）等の素子間を結ぶ通信線
（バス）が並列構成になっていること等が前提となる。
【０００７】
本発明はこうした背景に鑑みてなされたもので、起動性能に優れた情報処理装置、及び情報処理装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明のうちの一つは、プロセッサ、主記憶装置、及び補助記憶装置を備えて構成される情報処理装置であって、前記補助記憶装置は、当該情報処理装置の機能を実現するためのプログラム又はデータである実行データを複数記憶し、前記実行データのうち当該情報処理装置の起動後の所定期間内にアクセスされた前記実行デー
タを特定する情報であるアクセス履歴を前記補助記憶装置に記憶する、アクセス履歴記憶部、当該情報処理装置の起動時に、前記アクセス履歴から特定される前記実行データを前記補助記憶装置から前記主記憶装置にロードする、ロード制御部、及び、前記主記憶装置にロードされた前記実行データを順次起動する、実行データ開始部、を備える。
【０００９】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１０】
本発明によれば、情報処理装置の起動性能を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態の情報処理装置のハードウェア構成を示す図である。
【図２】主記憶装置ベース動作方式を説明する図である。
【図３】ルートファイルシステムの一例（ディレクトリツリー）である。
【図４】情報処理装置の動作（アクセス履歴参照方式）を説明するフローチャートである。
【図５】情報処理装置の動作（アクセス履歴参照方式）を説明するフローチャートである。
【図６】ログ情報の一例である。
【図７】アクセス履歴の一例である。
【図８】アクセス無しリストの一例である。
【図９】「初期設定モード」の動作を説明する図である。
【図１０】「初期設定モード」の動作を主記憶装置ベース動作方式で実現した場合を説明する図である。
【図１１】第１実施形態の「通常モード」の動作を説明する図である。
【図１２】第２実施形態の「通常モード」の動作を説明するフローチャートである。
【図１３】第２実施形態の「通常モード」の動作を説明する図である。
【発明を実施するための形態】
【００１２】
以下、実施形態について図面を参照しつつ説明する。尚、以下の説明において、同一又は類似する部分に共通の符号を付して重複した説明を省略することがある。
【００１３】
［第１実施形態］
図１は第１実施形態として示す情報処理装置１０のハードウェア構成である。情報処理装置１０には、例えば、組み込みシステムに用いられるマイコンボード、制御系システムに用いられる操作端末やサーバ装置等である。情報処理装置１０は、オペレーティングシステム及びファイルシステムの機能を有し、これらをベースとして情報処理装置１０では様々なアプリケーションソフトウェアが動作する。本実施形態では、オペレーティングシステムがＬＩＮＵＸ（登録商標）である場合を例として説明するが、オペレーティングシステムやファイルシステムの種類は必ずしも限定されない。ファイルシステムは、例えば、ｅｘｔ２、ｅｘｔ３、ｅｘｔ４、ｖｆａｔ、ｆａｔ１６、ｃｒａｍｆｓ、ｍｉｎｉｘ、ｘｆｓ、ｂｔｒｆｓ、ｚｆｓ等である。
【００１４】
図１に示すように、情報処理装置１０は、プロセッサ１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置１５、及び通信装置１６を備える。これらは図示しないバス等の通信手段を介して互いに通信可能に接続されている。
【００１５】
プロセッサ１１は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）等である。プロセッサ１１が、主記憶装置１２に記憶されているプログラ
ムやデータ（以下、「実行データ」と称する。）を読み出して実行することにより、情報処理装置１０の様々な機能が実現される。実行データは、例えば、実行モジュール（機械語で記述されたデータ、ソースコード（インタプリタ系の場合）等）、実行モジュールとともに用いられるライブラリ、実行モジュールやライブラリとともに用いられるデータ等である。
【００１６】
主記憶装置１２は、高速動作が可能であり、かつ、信頼性の高い揮発性の記憶素子（例えば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory））を用いて構成される記憶領域（以下、「ＲＡＭ領域」と称する。）と、不揮発
性の記憶素子（不揮発性メモリ（Non-volatile memory）、マスクＲＯＭ（Mask Read Only Memory）、ＰＲＯＭ（Programmable ROM）等）を用いて構成される記憶領域（以下、「ＲＯＭ領域」と称する。）と、を含む。上記のＲＡＭ領域には、例えば、補助記憶装置１３が記憶している実行データがロードされる。また上記のＲＯＭ領域には、例えば、ＰＯＳＴ（Power-On Self Test）やＢＩＯＳ（Basic Input/Output System）が記憶される。
【００１７】
補助記憶装置１３は、不揮発性の記憶領域１３１を提供する装置であり、例えば、フラッシュメモリ（Flash Memory）、ＳＳＤ（Solid State Drive）、ハードディスクドライ
ブ（Hard Disk Drive）、光学式記憶装置（ＣＤ（Compact Disc）、ＤＶＤ(Digital Versatile Disc)等）等である。
【００１８】
入力装置１４は、外部から入力を受け付けるインタフェース（ユーザインタフェースを含む）であり、例えば、キーボード、マウス、タッチパネル、カードリーダ、マイクロフォン、アンプ等である。情報処理装置１０は、通信装置１６を介して外部の装置から情報の入力を受け付けてもよい。補助記憶装置１３に記憶される実行データや、主記憶装置１２のＲＯＭ領域に格納されるプログラム又はデータ（ＰＯＳＴ、ＢＩＯＳ、ブートローダ、カーネル等）は、例えば、記録媒体（フラッシュメモリ、光学式記録媒体等）に記録されて提供され、入力装置１４（カードリーダ等）を介して情報処理装置１０に取り込まれる。
【００１９】
出力装置１５は、各種の情報を外部に出力するインタフェース（ユーザインタフェースを含む）であり、例えば、画像表示装置（液晶モニタ、ＬＣＤ（Liquid Crystal Display）、グラフィックカード等）、印字装置等）である。情報処理装置１０は、通信装置１６を介して外部の装置に情報を出力してもよい。例えば、情報処理装置１０において取り扱われる各種のデータ（入力データ、中間データ、出力データ）は、情報処理装置１０において機能するユーザインタフェースを介して出力装置１５に出力（表示）させることができる。
【００２０】
通信装置１６は、有線方式又は無線方式の通信インタフェースであり、ＬＡＮ（Local Area Network）やインターネット等の通信手段を介した他の装置との間の通信を実現する。通信装置１６の例として、ＮＩＣ（Network Interface Card）、各種無線通信モジュール、ＵＳＢ（Universal Serial Interface）モジュール、シリアル通信モジュール、モデム等がある。補助記憶装置１３に記憶される実行データや、主記憶装置１２のＲＯＭ領域に格納されるプログラム又はデータ（ＰＯＳＴ、ＢＩＯＳ、ブートローダ、カーネル等）は、例えば、通信装置１６を介して情報処理装置１０に取り込まれる。
【００２１】
ところで、組み込みシステムに用いられるマイコンボード、制御系システムに用いられる操作端末やサーバ装置等の情報処理装置には、高い起動性能や応答性能が求められるとともに振動や衝撃に対する高い信頼性が求められる。そこでこうした情報処理装置においては、起動時に補助記憶装置（ＳＳＤ（Solid State Drive）、ハードディスク等）に記
憶されているルートファイルシステムの全体を主記憶装置（ＲＡＭ（Random Access Memo
ry）等）にロードし、ロードされた主記憶装置のルートファイルシステムをベースとして情報処理装置（オペレーティングシステム）を高速に動作させるようにしていることがある。まず前提となるこの動作方法（以下、「主記憶装置ベース動作方式」と称する。）について説明する。
【００２２】
図２は主記憶装置ベース動作方式を説明する図である。同図に示すように、主記憶装置１２のＲＯＭ領域１２１には、ＰＯＳＴ２０とＢＩＯＳ２１が記憶されている。ＰＯＳＴ２０は、情報処理装置１０のハードウェアテストの機能を実現するためのプログラムを含む。ＢＩＯＳ２１は、補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にブートローダ２２をロードして実行する機能を実現するためのプログラムを含む。
【００２３】
一方、補助記憶装置１３の記憶領域１３１には、ブートローダ２２（bootloader）、カーネル２３（kernel）、及びルートファイルシステム２４（「rootfs」等）が記憶されている。ブートローダ２２は、補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にカーネル２３をロードして実行する機能を実現するためのプログラムを含む。カーネル２３は、補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にルートファイルシステム２４をロードする機能とオペレーティングシステムの機能とを実現するためのプログラムを含む。
【００２４】
図３にルートファイルシステム２４の一例（ディレクトリツリー）を示す。同図に示すように、ルートファイルシステム２４は、情報処理装置１０の各種の機能を実現するためのプログラム２４１、プログラム２４１の実行時に参照されるライブラリ２４２、及びプログラム２４１やライブラリ２５２が利用する各種のデータ２４３を含む。
【００２５】
図２に戻り、情報処理装置１０の起動時の基本的な動作について説明する。同図に示すように、情報処理装置１０は、起動（電源投入、再起動（リセット）等）すると、まずＰＯＳＴ２０を実行する（Ｓ２１０）。
【００２６】
続いて情報処理装置１０は、ＢＩＯＳ２１を実行し（Ｓ２１１）、それにより補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にブートローダ２２がロードされる（Ｓ２１２）。
【００２７】
続いて情報処理装置１０は、ＲＡＭ領域１２２にロードされたブートローダ２２を実行し（Ｓ２１３）、それにより補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にカーネル２３がロードされる（Ｓ２１４）。
【００２８】
続いて情報処理装置１０は、ＲＡＭ領域１２２にロードされたカーネル２３を起動し（Ｓ２１５）、それにより補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にルートファイルシステム２４の全ての実行データがロードされる（Ｓ２１６）。
【００２９】
ＲＡＭ領域１２２にルートファイルシステム２４の全ての実行データがロードされた後、情報処理装置１０（カーネル２３の実行によって実現されるオペレーティングシステム）は、ＲＡＭ領域１２２にロードされた実行データを順次起動する（Ｓ２１７）。これにより情報処理装置１０の各種の機能（サービス）の提供が開始される。
【００３０】
ところで、以上の主記憶装置ベース動作方式では、情報処理装置１０の起動時に補助記憶装置１３の記憶領域１３１に記憶されているルートファイルシステム２４の全ての実行データがＲＡＭ領域１２２にロードされ、当該ロードが完了した後に実行データの起動が開始される。そのため、実行データが起動されるまでに時間を要し、情報処理装置１０の起動性能の向上を阻む要因となる。そこで本実施形態においては、情報処理装置１０を次
に示す方法（以下、「アクセス履歴参照方式」と称する。）で動作させることにより、情報処理装置１０が起動されてから実行データが起動されるまでの時間の短縮化を図っている。以下、アクセス履歴参照方式について説明する。
【００３１】
アクセス履歴参照方式では、情報処理装置１０（オペレーティングシステム）は、ルートファイルシステム２４に含まれている実行データのうち、情報処理装置１０の起動後の所定期間内にアクセスされた実行データを特定する情報であるアクセス履歴を取得し、これを補助記憶装置１３の記憶領域１３１に記憶しておく（アクセス履歴記憶部）。そして情報処理装置１０は、起動時に、アクセス履歴から特定される実行データを補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にロードし（ロード制御部）、ロードされた実行データを順次起動する。
【００３２】
尚、上記の所定期間は、例えば、オペレーティングシステムの起動（機能（サービス）の提供を開始した時点）から終了（機能（サービス）の提供を停止した時点）までの期間や、ユーザが予め設定した期間である。
【００３３】
また上記のアクセス履歴は、実行データがアクセスされた日時を示す情報を含んでおり、情報処理装置１０は、例えば、アクセス履歴で特定される実行データのうち、アクセス日時の早い実行データを優先して補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にロードする。これにより、例えば、早期に起動する必要性の高い実行データを情報処理装置１０の起動後早期に起動することができる。
【００３４】
また情報処理装置１０は、アクセス履歴で特定される実行データの補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２へのロードが完了した後、アクセス履歴で特定されていない実行データの、補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２へのロードを開始する。これにより事後的にアクセス履歴で特定されていない実行データを実行する必要が生じた場合は迅速に実行データを起動することができる。
【００３５】
このように、アクセス履歴参照方式では、情報処理装置１０の起動時に、予め補助記憶装置１３の記憶領域１３１に記憶しておいたアクセス履歴から特定される、過去に実際にアクセスされた実行データが主記憶装置１２にロードされるので、情報処理装置１０の起動時に必要となる実行データを迅速に主記憶装置１２のＲＡＭ領域１２２にロードすることができ、情報処理装置１０の起動時間を短縮することができる。
【００３６】
図４及び図５は、アクセス履歴参照方式で動作させた場合における情報処理装置１０の動作を説明するフローチャートである。以下、これらの図とともにアクセス履歴参照方式で動作させた場合の情報処理装置１０の動作について詳述する。尚、オペレーティングシステムがＬＩＮＵＸ（登録商標）である場合、図４及び図５に示す制御は、例えば、「init」プロセスや「inittab」を編集もしくは設定することにより実現することができる。
【００３７】
情報処理装置１０は、起動（電源投入、再起動（リセット）等）されると、前述した主記憶装置ベース動作方式の場合と同様、まずＰＯＳＴ２０及びＢＩＯＳ２１を順次実行し（Ｓ４１１，Ｓ４１２）、続いて、ブートローダ２２を実行して（Ｓ４１３）、カーネル２３を起動する（Ｓ４１４）。
【００３８】
続いて情報処理装置１０（カーネル２３）は、「初期設定モード」と「通常モード」のうちいずれの動作モードで動作するかを判定（決定）する（Ｓ４１５）。上記動作モードのうち「初期設定モード」は、「通常モード」で動作するための準備を行うための動作モードである。「初期設定モード」では、情報処理装置１０は、ログ情報に基づきアクセス履歴を取得し、取得したアクセス履歴を補助記憶装置１３の記憶領域１３１に記憶する。
一方、「通常モード」は、情報処理装置１０が、起動時にアクセス履歴で特定される実行データを補助記憶装置１３から主記憶装置１２にロードし、主記憶装置１２にロードされた実行データを順次起動する動作モードである。情報処理装置１０が「初期設定モード」で動作すると判定した場合（Ｓ４１５：初期設定モード）、処理はＳ４１６に進む。情報処理装置１０が「通常モード」で動作すると判定した場合（Ｓ４１５：通常モード）、処理は図５のＳ５１１に進む。
【００３９】
尚、情報処理装置１０は、上記の判定を、例えば、アクセス履歴が補助記憶装置１３に存在するか否かを調べることにより行い、アクセス履歴が補助記憶装置１３に存在しなければ「初期設定モード」で動作すると判定し、アクセス履歴が補助記憶装置１３に存在すれば「通常モード」で動作すると判定する。また補助記憶装置１３に動作モードを指定する情報（以下、「動作モード指定情報」と称する。）を記憶しておき、情報処理装置１０が「動作モード指定情報」に基づき上記判定を行うようにしてもよい。この場合、「動作モード指定情報」の設定は、ユーザインタフェースを介して人が行ってもよいし、情報処理装置１０（例えばカーネル２３）が自動的に行うようにしてもよい。後者の場合、情報処理装置１０は、例えば、「初期設定モード」で動作した際に「動作モード指定情報」を「通常モード」に変更する。尚、上記の判定はブートローダ２２が行ってもよく、判定の結果に応じてブートローダ２２がカーネル２３の動作を制御する構成としてもよい。
【００４０】
図９は、図４のＳ４１６以降の「初期設定モード」における情報処理装置１０の動作の概略を説明する図である。以下では図４とともに適宜図９も参照して説明する。
【００４１】
図４のＳ４１６では、情報処理装置１０（カーネル２３）は、補助記憶装置１３の記憶領域１３１に記憶されているルートファイルシステム２４（ＬＩＮＵＸ（登録商標）では例えば「rootfs」）をマウント（mount）し、補助記憶装置１３のルートファイルシステ
ム２４の実行データにアクセス可能な状態にする。
【００４２】
Ｓ４１７では、情報処理装置１０は、アクセス履歴７００の生成に際して用いるログ情報６００の取得を開始する。オペレーティングシステムがＬＩＮＵＸ（登録商標）である場合、ログ情報６００は、例えば、「ftrace」等のトレース機構や「Audit」等を利用し
て取得することができる。
【００４３】
図６にログ情報６００の一例を示す。同図に示すように、ログ情報６００は、アクセス日時６１１、パス名６１２、及びファイル名６１３の各項目を有する複数のレコードで構成される。アクセス日時６１１には、実行データがアクセスされた（もしくは起動された）日時が設定される。パス名６１２には、実行データが記憶されている位置（所在）を示す情報であるパス名（path name）が設定される。ファイル名６１３には、実行データの
ファイル名が設定される。
【００４４】
図４に戻り、Ｓ４１８では、情報処理装置１０（オペレーティングシステム）は、ルートファイルシステム２４の実行データを補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２に順次ロードし、ロードした実行データを順次起動して各種機能（サービス）の提供を開始する。
【００４５】
Ｓ４１９では、情報処理装置１０（オペレーティングシステム）は、アクセス履歴を生成するタイミングが到来したか否かを判定する。アクセス履歴を生成するタイミングは、例えば、オペレーティングシステムが終了する際や予め設定されたログ情報の取得期間が終了した際、もしくはユーザが予め設定した日時が到来した際に到来する。情報処理装置１０がアクセス履歴を生成するタイミングが到来したと判定した場合（Ｓ４１９：ＹＥＳ）、処理はＳ４２０に進む。情報処理装置１０がアクセス履歴を生成するタイミングが到
来していないと判定した場合（Ｓ４１９：ＮＯ）、処理はＳ４１８に戻る。
【００４６】
Ｓ４２０では、情報処理装置１０（オペレーティングシステム）は、ログ情報６００をアクセス日時６１１の早いものから順にソートするとともに、ログ情報６００の内容（ファイル名）の重複を排除してアクセス履歴を生成し、生成したアクセス履歴を（例えば、ファイル形式で）補助記憶装置１３に記憶する。尚、ログ情報の取得期間内に同じ実行データが複数回起動されている場合、ログ情報６００に同じ実行データのアクセス履歴７００が重複することになるので、情報処理装置１０（オペレーティングシステム）は上記のように重複を排除して同じ実行データのアクセス履歴７００が単一になるようにする。
【００４７】
図７にアクセス履歴７００の一例を示す。同図に示すように、アクセス履歴７００は、アクセス順７１１、パス名７１２、及びファイル名７１３の各項目を有する複数のレコードで構成される。アクセス順７１１には、アクセスの早いものから順に付与したシーケンス番号が設定される。パス名７１２には、実行データが記憶されているパスのパス名が設定される。ファイル名７１３には、実行データのファイル名が設定される。
【００４８】
Ｓ４２１では、情報処理装置１０（オペレーティングシステム）は、ログ情報の取得期間内にアクセスの無かった実行データのリストであるアクセス無しリスト８００を生成し、生成したアクセス無しリスト８００を（例えば、ファイル形式で）補助記憶装置１３の記憶領域１３１に記憶する。尚、情報処理装置１０（オペレーティングシステム）は、例えば、ルートファイルシステム２４に記憶されている実行データのリストと、アクセス履歴に含まれている実行データのリストとを比較対照することによりアクセス無しリスト８００を生成する。
【００４９】
図８にアクセス無しリスト８００の一例を示す。同図に示すように、アクセス無しリスト８００は、パス名８１１、及びファイル名８１２の各項目を有する一つ以上のレコードで構成される。パス名８１１には、アクセスの無かった実行データが記憶されているパスのパス名が設定される。ファイル名８１２には、アクセスの無かった実行データのファイル名が設定される。
【００５０】
尚、以上の「初期設定モード」においては、情報処理装置１０（オペレーティングシステム）が、ルートファイルシステム２４の実行データを主記憶装置１２のＲＡＭ領域１２２に逐次ロードする方法で「初期設定モード」の動作を実現しているが、「初期設定モード」を、例えば、前述した主記憶装置ベース動作方式で実現してもよい。
【００５１】
図１０は「初期設定モード」の動作を主記憶装置ベース動作方式で実現した場合を説明する図である。同図に示すように、この場合、Ｓ４１６において、情報処理装置１０（オペレーティングシステム）は、補助記憶装置１３のルートファイルシステム２４を単にマウントするのではなく、補助記憶装置１３のルートファイルシステム２４を主記憶装置１２にロードする。またＳ４１８では、情報処理装置１０（オペレーティングシステム）は、Ｓ４１６にて主記憶装置１２に記憶された実行データを順次起動する。このように「初期設定モード」を主記憶装置ベース動作方式で実現することで、補助記憶装置１３へのアクセスが殆ど発生しなくなり、情報処理装置１０の起動性能や応答性能を向上することができる。
【００５２】
続いて、図５及び図１１とともに情報処理装置１０の「通常モード」での動作について説明する。尚、図１１は、「通常モード」における情報処理装置１０の動作の概略を説明する図である。
【００５３】
図５に示すように、まず情報処理装置１０（カーネル２３）が、主記憶装置１２のＲＡ
Ｍ領域１２２にルートファイルシステムを生成する（Ｓ５１１）。
【００５４】
続いて、情報処理装置１０（カーネル２３）が、補助記憶装置１３のルートファイルシステム２４から主記憶装置１２のＲＡＭ領域１２２のルートファイルシステムに、アクセス履歴７００に含まれている実行データをアクセス順７１１にロードする（Ｓ５１２）。
【００５５】
続いて、情報処理装置１０（カーネル２３）は、アクセス履歴７００に含まれている全ての実行データのＲＡＭ領域１２２のルートファイルシステムへのロードが完了したか否かを判定する（Ｓ５１３）。情報処理装置１０（カーネル２３）が、アクセス履歴７００に含まれている全ての実行データの上記ロードが完了したと判定すると（Ｓ５１３：ＹＥＳ）、処理はＳ５１４及びＳ５１５の双方に進む。
【００５６】
Ｓ５１４では、情報処理装置１０（オペレーティングシステム）は、実行データを順次起動して各種機能（サービス）の提供を開始する。尚、本実施形態では、このように全ての実行データのＲＡＭ領域１２２のルートファイルシステムへのロードが完了した後に実行データの起動を開始しているが、ロードが既に完了している実行データの起動を全ての実行データのロードが完了する前に開始するようにしてもよい。
【００５７】
Ｓ５１５では、情報処理装置１０（オペレーティングシステム）は、ＲＡＭ領域１２２のルートファイルシステムへの、アクセス無しリスト８００に含まれている実行データのロードを開始する。尚、Ｓ５１５の処理は、例えば、オペレーティングシステムの並列処理によってＳ５１４と並列して（例えばバックグラウンド処理で）実行される。
【００５８】
以上のように、情報処理装置１０は、アクセス履歴７００に含まれている実行データがロードされると実行データを順次起動して各種機能（サービス）の提供を開始するので、情報処理装置１０が起動してから機能の提供が開始されるまでの時間を短縮することができる。また過去に実際にアクセスのあった実行データを起動時にロードするので、個々の情報処理装置の特性（アクセス状況）を考慮して起動性能を向上することができる。そのため、例えば、組み込みシステムに用いられるマイコンボードのように多様な目的で使用される個々の情報処理装置の特性に柔軟に適応して起動性能の向上を図ることができる。また情報処理装置１０に特別なハードウェアを追加せずに起動性能を向上することができる。
【００５９】
また情報処理装置１０は、アクセス履歴７００に含まれている実行データのＲＡＭ領域１２２へのロードが完了した後、アクセス無しリスト８００に含まれている実行データの補助記憶装置１３からＲＡＭ領域１２２へのロードを開始するので、最終的には補助記憶装置１３に記憶されている全ての実行データを主記憶装置１２にロードすることができる。そのため、事後的にアクセス無しリスト８００に含まれている実行データが実行される状況が生じた場合でもそのような実行データを迅速かつ安全に起動させることができる。
【００６０】
［第２実施形態］
以上に示した第１実施形態では、実行データ毎に補助記憶装置１３から主記憶装置１２のＲＡＭ領域１２２にロードしている。そのため、実行データの数が膨大であるときは起動時間が遅くなる可能性がある。そこで第２実施形態では、過去の情報処理装置１０の稼働中におけるルートファイルシステムの状態をイメージファイル（image file）（イメージデータ）化して補助記憶装置１３の記憶領域１３１に記憶しておき（イメージデータ生成部）、起動時にイメージファイルを主記憶装置１２のＲＡＭ領域１２２に展開する（ロード制御部）ようにする。即ち、イメージファイルの展開に要する時間は短く、また実行データ毎にロードする場合に比べてＩ／Ｏの発生回数が少ないため、実行データの起動が開始されるまでの時間を短縮することができる。尚、イメージファイルの一例として、Ｉ
ＳＯ９６６０（ISO:International Organization for Standardization）に規定される形式のイメージファイルがある。
【００６１】
図１２は、第２実施形態における情報処理装置１０の「通常モード」での動作を説明するフローチャートである。また図１３は、第２実施形態における情報処理装置１０の「通常モード」での動作の概略を説明する図である。第１実施形態の場合と同様、第２実施形態の情報処理装置１０も図４に示した起動時及び「初期設定モード」での動作（Ｓ４１１〜４２１）を行う。図１２は、図４のＳ４１５において情報処理装置１０が「通常モード」で動作すると判定した場合（Ｓ４１５：通常モード）に開始される（分岐先となる）。以下、図１２及び図１３とともに第２実施形態の情報処理装置１０の「通常モード」での動作について説明する。尚、第２実施形態の情報処理装置１０のハードウェア構成は第１実施形態の情報処理装置１０のハードウェア構成と同様であるので説明を省略する。
【００６２】
図１２のＳ１２１１では、まず情報処理装置１０（カーネル２３）が、主記憶装置１２のＲＡＭ領域１２２にルートファイルシステムを生成する。
【００６３】
Ｓ１２１２では、情報処理装置１０（カーネル２３）は、補助記憶装置１３にアクセスし、補助記憶装置１３の記憶領域１３１にイメージファイルが記憶されているか否かを判定する。情報処理装置１０が補助記憶装置１３の記憶領域１３１にイメージファイルが記憶されていると判定した場合（Ｓ１２１２：ＹＥＳ）、処理はＳ１２１３に進む。情報処理装置１０が補助記憶装置１３の記憶領域１３１にイメージファイルが記憶されていないと判定した場合（Ｓ１２１２：ＮＯ）、処理はＳ１２２１に進む。尚、補助記憶装置１３の記憶領域１３１にイメージファイルが記憶されているか否かの判定は、イメージファイルが記憶されているか否かを示すフラグを補助記憶装置１３の記憶領域１３１や主記憶装置１２のＲＯＭ領域１２１に記憶しておき、当該フラグの内容を参照することにより行うようにしてもよい。
【００６４】
Ｓ１２１３では、情報処理装置１０（カーネル２３）は、補助記憶装置１３からイメージファイル９００を読み出し、主記憶装置１２のＲＡＭ領域１２２のルートファイルシステムに展開する。
【００６５】
Ｓ１２１４では、情報処理装置１０（カーネル２３）は、イメージファイル９００のＲＡＭ領域１２２のルートファイルシステムへの展開が完了したか否かを判定する。情報処理装置１０（カーネル２３）が、イメージファイル９００のＲＡＭ領域１２２のルートファイルシステムへの展開が完了したと判定すると（Ｓ１２１４：ＹＥＳ）、処理はＳ１２１５及びＳ１２１６に進む。
【００６６】
Ｓ１２１５では、情報処理装置１０（オペレーティングシステム）は、実行データを順次起動して各種機能（サービス）の提供を開始する。
【００６７】
Ｓ１２１６では、情報処理装置１０（オペレーティングシステム）は、ＲＡＭ領域１２２のルートファイルシステムへの、アクセス無しリスト８００に含まれている実行データのロードを開始する。尚、Ｓ１２１６の処理は、例えば、オペレーティングシステムの並列処理によってＳ１２１５と並列して（例えばバックグラウンド処理で）実行される。
【００６８】
一方、Ｓ１２２１では、情報処理装置１０（カーネル２３）が、第１実施形態の場合（図５のＳ５１２）と同様に、主記憶装置１２のＲＡＭ領域１２２のルートファイルシステムに、アクセス履歴７００に含まれている実行データをアクセス順７１１にロードする。その後、処理はＳ１２２２及びＳ１２２３の双方に進む。
【００６９】
Ｓ１２２２では、情報処理装置１０（オペレーティングシステム）は、実行データを順次起動して各種機能（サービス）の提供を開始する。
【００７０】
Ｓ１２２３では、情報処理装置１０（オペレーティングシステム）は、主記憶装置１２のＲＡＭ領域１２２のルートファイルシステムのイメージファイルを生成し、生成したイメージファイルを補助記憶装置１３に記憶する。
【００７１】
続いて情報処理装置１０（オペレーティングシステム）は、補助記憶装置１３のルートファイルシステム２４の実行データと、主記憶装置１２のＲＡＭ領域１２２のルートファイルシステムの実行データとを比較して、補助記憶装置１３のルートファイルシステム２４の実行データのうち主記憶装置１２のＲＡＭ領域１２２のルートファイルシステムに存在しない実行データを特定し、特定した実行データを補助記憶装置１３からＲＡＭ領域１２２のルートファイルシステムにロードする。
【００７２】
以上のように、第２実施形態では、過去の情報処理装置１０の稼働中（サービス提供中）におけるルートファイルシステムの状態をイメージファイル（イメージデータ）化して補助記憶装置１３の記憶領域１３１に記憶しておき、起動時（電源投入時、再起動（リセット）時等）にイメージファイルを主記憶装置１２のＲＡＭ領域１２２に展開するので、実行データが起動されるまでの時間を更に短縮することができる。
【００７３】
以上、本発明について実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることができる。
【００７４】
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサが夫々の機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、またはＩ
Ｃカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００７５】
また各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【００７６】
また以上に説明した情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、各情報処理装置がハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【符号の説明】
【００７７】
１０  情報処理装置、１１  プロセッサ、１２  主記憶装置、１２１  ＲＯＭ領域、１２２  ＲＡＭ領域、１３  補助記憶装置、１３１  記憶領域、２０  ＰＯＳＴ、２１  ＢＩＯＳ、２２  ブートローダ、２３  カーネル、２４  ルートファイルシステム、２４１  プログラム、２４２  ライブラリ、２４３  データ、６００  ログ情報、７００  アクセス履歴、８００アクセス無しリスト
【図１】
2019139612.tif 000003
【図２】
2019139612.tif 000004
【図３】
2019139612.tif 000005
【図４】
2019139612.tif 000006
【図５】
2019139612.tif 000007
【図６】
2019139612.tif 000008
【図７】
2019139612.tif 000009
【図８】
2019139612.tif 000010
【図９】
2019139612.tif 000011
【図１０】
2019139612.tif 000012
【図１１】
2019139612.tif 000013
【図１２】
2019139612.tif 000014
【図１３】
2019139612.tif 000015