JP2012243287A - 情報処理装置および情報処理方法 - Google Patents
情報処理装置および情報処理方法 Download PDFInfo
- Publication number
- JP2012243287A JP2012243287A JP2011116242A JP2011116242A JP2012243287A JP 2012243287 A JP2012243287 A JP 2012243287A JP 2011116242 A JP2011116242 A JP 2011116242A JP 2011116242 A JP2011116242 A JP 2011116242A JP 2012243287 A JP2012243287 A JP 2012243287A
- Authority
- JP
- Japan
- Prior art keywords
- page
- memory
- data
- information
- program
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】起動時間を短くすることができる情報処理装置を得る。
【解決手段】プログラムを示す情報をメモリデータとして一時格納する揮発性メモリ(RAM22)と、不揮発性メモリ(フラッシュメモリ23)と、揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定するページ情報を生成するページ情報生成部(イメージリスト生成モジュールMIG)とを備える。上記ページ情報は、各ページの揮発性メモリにおけるメモリアドレスと、各ページのメモリデータが属するプログラムのプログラム番号とを含むものである。
【選択図】図1
【解決手段】プログラムを示す情報をメモリデータとして一時格納する揮発性メモリ(RAM22)と、不揮発性メモリ(フラッシュメモリ23)と、揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定するページ情報を生成するページ情報生成部(イメージリスト生成モジュールMIG)とを備える。上記ページ情報は、各ページの揮発性メモリにおけるメモリアドレスと、各ページのメモリデータが属するプログラムのプログラム番号とを含むものである。
【選択図】図1
Description
本開示は、電源投入後に揮発性メモリのデータを所定の状態に復元する情報処理装置および情報処理方法に関する。
近年、技術の進歩に伴い、携帯型音楽プレーヤやテレビジョン受像機などの様々な電子機器(情報処理装置)の多機能化が進んでいる。このような情報処理装置では、例えばパーソナルコンピュータと同様に、CPU(Central Processing Unit)や主記憶装置(メモリ)を備え、様々なプログラムを実行することにより、様々な機能を実現できるようになっている。
このような情報処理装置では、電源投入後において、機器を起動するための様々なプログラムを実行する必要があるため、起動時間がかかるおそれがあり、速く起動するためのいくつかの検討がなされている。例えば、特許文献1には、休止状態への移行時に、プロセス単位でメモリのスナップショットを生成して不揮発性メモリに記憶しておき、休止状態からの復帰時に、そのスナップショットのうち、装置の起動に必要なプロセスに係るスナップショットから優先的に主記憶装置に復元する情報処理装置が開示されている。
このような情報処理装置では、起動時間が短いことが望ましく、さらなる起動の高速化が期待されている。
本開示はかかる問題点に鑑みてなされたもので、その目的は、起動時間を短くすることができる情報処理装置および情報処理方法を提供することにある。
本開示の第1の情報処理装置は、揮発性メモリと、不揮発性メモリと、ページ情報生成部とを備えている。揮発性メモリは、プログラムを示す情報をメモリデータとして一時格納するものである。ページ情報生成部は、揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定するページ情報を生成するものである。上記ページ情報は、各ページの揮発性メモリにおけるメモリアドレスと、各ページのメモリデータが属するプログラムのプログラム番号とを含んでいる。
を含む
を含む
本開示の第2の情報処理装置は、揮発性メモリと、不揮発性メモリと、復元部とを備えている。不揮発性メモリは、ページ復元情報が記憶されたものである。復元部は、ページ復元情報に基づいて、予め定められた複数ページ分のメモリデータを揮発性メモリに復元するものである。
本開示の第1の情報処理方法は、揮発性メモリのメモリデータに基づいてプログラムを実行し、揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定する、各ページの揮発性メモリにおけるメモリアドレスと、各ページのメモリデータが属するプログラムのプログラム番号とを含むページ情報を生成するものである。
本開示の第2の情報処理方法は、不揮発性メモリに記憶されたページ復元情報に基づいて、予め定められた複数ページ分のメモリデータを揮発性メモリに復元するものである。
本開示の第1の情報処理装置および第1の情報処理方法では、メモリアドレスおよびプログラム番号を含むページ情報が生成される。そして揮発性メモリに記憶されたメモリデータのうちの、予め定められた複数ページ分のメモリデータが、このページ情報によって特定される。
本開示の第2の情報処理装置および第2の情報処理方法では、不揮発性メモリに記憶されたページ復元情報に基づいて、メモリデータが揮発性メモリに復元される。その際、予め定められた複数ページ分のメモリデータが、揮発性メモリに復元される。
本開示の第1および第2の情報処理装置、ならびに第1および第2の情報処理方法によれば、予め定められた複数ページ分のメモリデータをページ情報により特定し、復元時によって、ページ復元情報に基づいて、そのメモリデータを揮発性メモリに復元するようにしたので、起動時間を短くすることができる。
以下、本開示の実施の形態について、図面を参照して詳細に説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態
2.第2の実施の形態
3.第3の実施の形態
1.第1の実施の形態
2.第2の実施の形態
3.第3の実施の形態
<1.第1の実施の形態>
[構成例]
(全体構成例)
図1は、第1の実施の形態に係る表示装置の一構成例を表すものである。なお、本開示の実施の形態に係る情報処理装置および情報処理方法は、本実施の形態により具現化されるので、併せて説明する。
[構成例]
(全体構成例)
図1は、第1の実施の形態に係る表示装置の一構成例を表すものである。なお、本開示の実施の形態に係る情報処理装置および情報処理方法は、本実施の形態により具現化されるので、併せて説明する。
表示装置1は、例えばテレビジョン受像機であり、受信した放送データを表示するものである。表示装置1は、チューナ11と、制御部12と、表示部13と、音声出力部14と、フラッシュメモリ23と、RAM(Random Access Memory)22と、CPU21と、ネットワークインタフェース24とを備えている。制御部12、CPU21、RAM22、フラッシュメモリ23、ネットワークインタフェース24は、内部バス20を介して接続され、互いに情報のやり取りが出来るようになっている。
チューナ11は、アンテナ10において受信した放送データから、所望のチャンネルに係る放送データを抽出するものである。制御部12は、チューナ11から供給された放送データに基づいて、表示部13における表示を制御するとともに、音声出力部14における音声出力を制御するものである。また、制御部12は、この例では、CPU21、RAM22、フラッシュメモリ23、ネットワークインタフェース24との間で情報のやり取りを行う機能をも有している。表示部13は、例えば液晶表示部であり、制御部12から供給された制御信号に基づいて、表示画面に表示を行うものである。音声出力部14は、例えばスピーカであり、制御部12から供給された制御信号に基づいて、音声を出力するものである。
フラッシュメモリ23は、不揮発性のメモリである。このフラッシュメモリ23には、オペレーティングシステムOS、基本機能有効化プログラムPB、ページテーブルPT、スナップショットイメージSI、ブートローダ(図示せず)などの様々なプログラムやデータが記憶されている。
オペレーティングシステムOSは、表示装置1全体を管理する、いわゆる基本ソフトウェアである。
基本機能有効化プログラムPBは、表示装置1をイニシャライズし、表示装置1が受信した放送データのデコード処理などの基本機能を実行できるように、基本機能を有効化するためのプログラムである。
ページテーブルPTは、表示装置1のメモリシステムにおいて、プログラムから見たメモリアドレスである論理メモリアドレスLAと、RAM22における実際のメモリアドレスである物理メモリアドレスPAとの関係を記述したテーブルである。表示装置1では、CPU21は、各プログラムを実行する際、このページテーブルPTを用いて、論理メモリアドレスLAを物理メモリアドレスPAに変換することにより、RAM22にアクセスできるようになっている。
スナップショットイメージSIは、後述するように、RAM22のメモリデータのうち、表示装置1の電源投入後に必要になるであろうメモリデータを、ページごとに記憶したものである。ここで、ページとは、物理メモリ(RAM22)を管理する際の最小単位であり、ページのサイズは、例えば4kバイトである。また、スナップショットイメージSIは、各ページに対応する物理メモリアドレスPAの情報をも含んでいる。表示装置1では、電源投入後において、最初に、このスナップショットイメージSIに基づいてRAM22のメモリデータを復元し、その後にその復元したメモリデータを用いてプログラムを実行することにより、表示装置1の起動時間を短くすることができるようになっている。
RAM22は、主記憶装置であり、例えばCPU21がプログラムを実行する際に、プログラムがこのRAM22に読み出され、CPU21がこのRAM22のメモリデータに基づいてプログラムを実行するようになっている。またRAM22には、CPU21がプログラムを実行する際に生成する一時データもまた記憶されるようになっている。このRAM22としては、例えばDRAM(Dynamic Random Access Memory)が使用可能である。
CPU21は、プログラムを実行することにより様々な処理を行うものである。具体的には、CPU21は、後述するように、例えば、オペレーティングシステムOSを起動し、その後に基本機能有効化プログラムPBを実行することにより、表示装置1の基本機能を有効化するようになっている。
また、CPU21は、図1に示したように、イメージリスト生成モジュールMIG、スナップショットイメージ生成モジュールMSG、スナップショットイメージ読出モジュールMSRを実行する機能をも有している。
イメージリスト生成モジュールMIGは、イメージリストILを生成するものである。このイメージリストILは、後述するように、スナップショットイメージ生成モジュールMSGが、スナップショットイメージSIを生成する際に用いるものである。
図2は、イメージリストILの一構成例を表すものである。イメージリストILは、電源投入後に必要になるであろうRAM22のメモリデータに関する様々な情報を、ページごとに示すものである。具体的には、イメージリストILは、各ページのメモリデータが、電源投入後において、フラッシュメモリ23からRAM22に読み出される順番OD、そのページのメモリデータが記憶されているRAM22の物理メモリアドレスPAに対応する論理メモリアドレスLA、およびそのページのメモリデータに係るプロセス番号PRの情報を有している。
電源投入後に必要になるであろうRAM22のメモリデータは、具体的には、例えば、オペレーティングシステムOSのデータや、基本機能有効化プログラムPBを実行した際に生成されたデータ(後述する基本データBD)などである。イメージリスト生成モジュールMIGは、例えば、そのプログラム自体に記載された情報に基づいて、電源投入後に必要となるであろうRAM22のメモリデータを特定するようになっている。
スナップショットイメージ生成モジュールMSGは、イメージリスト生成モジュールMIGが生成したイメージリストILに基づいて、スナップショットイメージSIを生成し、そのスナップショットイメージSIをフラッシュメモリ23に記憶するものである。
イメージリスト生成モジュールMIGおよびスナップショットイメージ生成モジュールMSGは、例えば、表示装置1において使用される各種プログラムがバージョンアップされた場合などにおいて実行される。そして、スナップショットイメージ生成モジュールMSGが生成したスナップショットイメージSIが、ページテーブルPTとともにフラッシュメモリ23に記憶するようになっている。
スナップショットイメージ読出モジュールMSRは、電源投入後において、フラッシュメモリ23に記憶されたスナップショットイメージSIに基づいて、RAM22のメモリデータを復元するものである。
なお、図示していないが、イメージリスト生成モジュールMIG、スナップショットイメージ生成モジュールMSG、スナップショットイメージ読出モジュールMSRは、フラッシュメモリ23に記憶されており、CPU21がこれらのモジュールを実行する際に、フラッシュメモリ23からRAM22に読み出されるようになっている。
ネットワークインタフェース24は、例えばインターネットに接続するためのインタフェースである。この例では、表示装置1は、インターネットを介してバージョンアップされたプログラムを取得し、フラッシュメモリ23に記憶された各種プログラムの更新を行うようになっている。なお、プログラムの取得方法は、この方法に限定されるものではなく、これに代えて、例えば、放送局が放送波にバージョンアップされたプログラムを重畳し、チューナ11がそのプログラムを取得してもよい。
ここで、RAM22は、本開示における「揮発性メモリ」の一具体例に対応する。フラッシュメモリ23は、本開示における「不揮発性メモリ」の一具体例に対応する。イメージリストILは、本開示における「ページ情報」の一具体例に対応する。プロセス番号PRは、本開示における「プログラム番号」の一具体例に対応する。イメージリスト生成モジュールMIGは、本開示における「ページ情報生成部」の一具体例に対応する。スナップショットイメージSIは、本開示における「ページデータセット」の一具体例に対応する。スナップショットイメージ生成モジュールMSGは、本開示における「記憶制御部」の一具体例に対応する。スナップショットイメージ読出モジュールMSRは、本開示における「復元部」の一具体例に対応する。
[動作および作用]
続いて、本実施の形態の表示装置1の動作および作用について説明する。
続いて、本実施の形態の表示装置1の動作および作用について説明する。
(全体動作概要)
まず、図1を参照して、表示装置1の全体動作概要を説明する。
まず、図1を参照して、表示装置1の全体動作概要を説明する。
チューナ11は、アンテナ10において受信した放送データから、所望のチャンネルに係る放送データを抽出する。制御部12は、チューナ11から供給された放送データに基づいて、表示部13における表示を制御するとともに、音声出力部14における音声出力を制御する。表示部13は、制御部12から供給された制御信号に基づいて、表示画面に表示を行う。音声出力部14は、制御部12から供給された制御信号に基づいて、音声を出力する。
フラッシュメモリ23は、オペレーティングシステムOS、基本機能有効化プログラムPB、ページテーブルPT、スナップショットイメージSIなどの、様々なプログラムおよびデータを記憶する。CPU21は、RAM22を一時記憶として用いてプログラムを実行することにより様々な処理を行う。
表示装置1は、電源投入後において短い時間で起動できるようにするため、スナップショットイメージSIを用いてRAM22のメモリデータを復元する。具体的には、表示装置1は、例えば、プログラムがバージョンアップされた場合において、スナップショットイメージSIを生成し、フラッシュメモリ23に記憶しておく。そして、表示装置1は、その後の電源投入後において、そのスナップショットイメージSIを用いて起動する。以下に、スナップショットイメージSIの生成と、そのスナップショットイメージSIを利用した表示装置1の起動について説明する。
(スナップショットイメージSIの生成)
表示装置1では、まず、CPU21は、イメージリスト生成モジュールMIGを実行することにより、電源投入後に必要になるであろうRAM22のメモリデータに基づいて、イメージリストILを生成する。そして、CPU21は、スナップショットイメージ生成モジュールMSGを実行することにより、そのイメージリストILに基づいてスナップショットイメージSIを生成する。以下に、その詳細を説明する。
表示装置1では、まず、CPU21は、イメージリスト生成モジュールMIGを実行することにより、電源投入後に必要になるであろうRAM22のメモリデータに基づいて、イメージリストILを生成する。そして、CPU21は、スナップショットイメージ生成モジュールMSGを実行することにより、そのイメージリストILに基づいてスナップショットイメージSIを生成する。以下に、その詳細を説明する。
図3は、表示装置1におけるメモリ空間を模式的に表すものである。CPU21は、プロセス番号PR:100,101,102の各プロセス(プログラム)を実行する際、RAM22のページテーブル領域22Pに記憶されているページテーブルPTを用いて、論理メモリアドレスLAを物理メモリアドレスPAに変換し、RAM22に対してアクセスを行う。
イメージリストILを生成する際には、CPU21は、イメージリスト生成モジュールMIGを実行する。このイメージリスト生成モジュールMIGは、後述するように、電源投入後に必要になるであろうRAM22のメモリデータに関する情報をページごとに収集し、図2に示したイメージリストILを生成する。
そして、スナップショットイメージSIを生成する際には、CPU21は、スナップショットイメージ生成モジュールMSGを実行する。このスナップショットイメージ生成モジュールMSGは、イメージリスト生成モジュールMIGが生成したイメージリストILに基づいて、RAM22から該当するメモリデータを収集し、スナップショットイメージSIを生成する。
図4は、スナップショットイメージSIの生成の流れ図を表すものである。表示装置1では、CPU21が基本機能有効化プログラムPBを実行し、基本機能が有効化された後に、イメージリスト生成モジュールMIGがイメージリストILを生成し、スナップショットイメージ生成モジュールMSGがスナップショットイメージSIを生成する。以下にその詳細を説明する。
まず、CPU21がブートローダを実行し、スナップショットイメージSIを生成するためのモードであることを検知し、起動モードA1でオペレーティングシステムOSを起動する(ステップS11)。この起動モードA1では、CPU21は、フラッシュメモリ23からRAM22にオペレーティングシステムOSのデータを読み出し、その後にオペレーティングシステムOSを起動する。
次に、CPU21は、基本機能有効化プログラムPBを実行する(ステップS12)。これにより、表示装置1では、基本機能が有効化される。その際、基本機能有効化プログラムPBは、表示装置1の状態などを含む基本データBDを生成し、RAM12の書込み可能領域に記憶する。
次に、CPU21は、ステップS12において生成した基本データBDを、フラッシュメモリ23に書き込んだ後(ステップS13)、表示装置1を再起動する(ステップS14)。
次に、CPU21がブートローダを実行し、フラッシュメモリ23に基本データBDがあることを検知し、起動モードA2でオペレーティングシステムOSを起動する(ステップS15)。この起動モードA2では、CPU21は、起動モードA1と同様に、フラッシュメモリ23からRAM22に対してオペレーティングシステムOSのデータを読み出し、その後にオペレーティングシステムOSを起動する。
次に、CPU21は、基本データBDを利用して、基本機能有効化プログラムPBを実行するとともに、イメージリスト生成モジュールMIGを実行してイメージリストILを生成する(ステップS16)。具体的には、CPU21は、ステップS12において生成した基本データBDを利用して、基本機能有効化プログラムPBを実行することにより、ステップS11〜S12よりも短い時間で、基本機能を有効化する。そして、イメージリスト生成モジュールMIGは、このステップS16(基本機能有効化プログラムPBの実行)において、電源投入後に必要になるであろうRAM22のメモリデータに係るページがフラッシュメモリ22から読み出された順番OD、そのページの論理メモリアドレスLA、そのページに係るプロセス番号PRを取得する。その後、イメージリスト生成モジュールMIGは、これらの情報に基づいてイメージリストILを生成し、このイメージリストILをRAM22に記憶する。
次に、CPU21は、スナップショットイメージ生成モジュールMSGを実行して、イメージリストILに基づいてスナップショットイメージSIを生成し、フラッシュメモリ23に記憶する(ステップS17)。具体的には、スナップショットイメージ生成モジュールMSGは、まず、イメージリストILに記載された論理メモリアドレスLAおよびプロセス番号PR、およびページテーブルPTに基づいて、イメージリストILに記載された各ページのRAM22における物理メモリアドレスPAを取得する。次に、スナップショットイメージ生成モジュールMSGは、RAM22から、その取得した物理メモリアドレスPAのメモリデータを取得する。そして、スナップショットイメージ生成モジュールMSGは、イメージリストILに記載された全てのページに関して、このようにしてメモリデータを取得し、この取得したメモリデータおよび各ページの物理メモリアドレスPAの情報に基づいてスナップショットイメージSIを生成する。そして、スナップショットイメージ生成モジュールMSGは、生成されたスナップショットイメージSIを、フラッシュメモリ23に記憶する。
以上でこのフローは終了する。このようにして、表示装置1では、スナップショットイメージSIが生成される。表示装置1は、その後の電源投入後において、このスナップショットイメージSIに基づいて、RAM22のメモリデータを復元し、システムを起動する。
(スナップショットイメージSIを利用した表示装置1の起動)
RAM22のメモリデータを復元する際には、CPU21は、図3に示したように、スナップショットイメージ読出モジュールMSRを実行する。このスナップショットイメージ読出モジュールMSRは、後述するように、フラッシュメモリ33に記憶されたスナップショットイメージSIに基づいて、RAM22のメモリデータを復元する。
RAM22のメモリデータを復元する際には、CPU21は、図3に示したように、スナップショットイメージ読出モジュールMSRを実行する。このスナップショットイメージ読出モジュールMSRは、後述するように、フラッシュメモリ33に記憶されたスナップショットイメージSIに基づいて、RAM22のメモリデータを復元する。
図5は、スナップショットイメージSIを利用した表示装置1の起動の流れ図を表すものである。表示装置1では、電源投入後において、CPU21がスナップショットイメージ読出モジュールMSRを実行してRAM22のメモリデータを復元した後、CPU21が、その復元したメモリデータに基づいてオペレーティングシステムOSを起動する。以下にその詳細を説明する。
まず、CPU21がブートローダを実行し、フラッシュメモリ23にスナップショットイメージSIが記憶されていることを検知し、スナップショットイメージ読出モジュールMSRを実行して、そのスナップショットイメージSIに基づいて、RAM22のメモリデータを復元する(ステップT11)。具体的には、スナップショットイメージ読出モジュールMSRは、スナップショットイメージSIに含まれる、ページごとのメモリデータおよび各メモリデータに対応する物理メモリアドレスPAの情報に基づいて、各メモリデータを、フラッシュメモリ23からRAM22に読み出すことにより、RAM22のメモリデータを復元する。
次に、CPU21は、RAM22に復元したメモリデータに基づいて、オペレーティングシステムOSを起動モードB1で起動する(ステップT12)。具体的には、CPU21は、メモリデータを復元したRAM22における開始メモリアドレスにジャンプして、そのアドレスからオペレーティングシステムOSの起動を行う。この起動モードB1では、CPU21は、ページ単位でRAM22に復元された、必要最低限のメモリデータに基づいて起動する。そして、CPU21は、復元されたメモリデータに基づいて、基本機能有効化プログラムPBを実行する。
以上でこのフローは終了する。
このように、表示装置1では、電源投入後において、スナップショットイメージSIを利用して起動を行うため、起動時間を短くすることができる。すなわち、例えば、起動モードA1,A2では、CPU21が、フラッシュメモリ23からRAM22に対してオペレーティングシステムOSのデータを読み出した後、オペレーティングシステムOSを起動し、その後に基本機能有効化プログラムPBのデータを読み出しながらプログラムを実行することにより基本機能の有効化を行う。よって、例えばページフォールトが発生する場合には、CPU21によるプログラムの実行が一時的に停止するため、起動に時間がかかるおそれがある。一方、電源投入後における起動モードB1では、必要最小限のメモリデータをRAM22に復元した後に表示装置1を起動するため、ページフォールトが生じるおそれを低減することができ、起動時間を短くすることができる。
また、表示装置1では、イメージリスト生成モジュールMIGおよびスナップショットイメージ生成モジュールMSGは、電源投入後に必要になるであろうRAM22のメモリデータを、ページごとに取得し、スナップショットイメージSIを生成する。すなわち、例えばプロセスごとに取得した場合と比べて、スナップショットイメージSIのデータ量を小さくすることができる。これにより、表示装置1では、電源投入後において、RAM22にメモリデータを復元する際のデータ量が少なくなるため、起動時間を短くすることができる。
一般に、プログラムは、例えばドライバやミドルウェアのような複数のプログラム部品(コンポーネント)をライブラリとして用いる。仮に、電源投入後に必要になるであろうRAM22のメモリデータを、ページごとではなくプロセス(プログラム)ごとに取得して、スナップショットイメージSIを生成する場合には、複数のプログラム部品を取り込んで一体としてプロセス(プログラム)を構成することにより、起動時間を短くすることができると考えられる。しかしながら、このように、複数のプログラム部品を取り込んで一体としてプログラムを構成すると、検証作業がより複雑化するなど、プログラムの開発が難しくなり、プログラムの開発に多大な時間を要するおそれがある。
一方、表示装置1では、電源投入後に必要となるであろうRAM22のメモリデータを、ページごとに取得して、スナップショットイメージSIを生成している。これにより、プログラムの開発を、プログラム部品ごとに別々に行うことができるため、検証作業も別々に行うことができる。すなわち、この場合には、プログラムの開発を効率的に行うことができる。
[効果]
以上のように本実施の形態では、電源投入後に必要になるであろうRAM22のメモリデータを、ページごとに取得し、スナップショットイメージSIを生成するようにしたので、電源投入後にRAM22のメモリデータを復元する際のデータの読み出し量を少なくすることができ、起動時間を短くすることができる。また、電源投入後に必要になるであろうRAM22のメモリデータを、プロセスごとに取得する場合に比べ、プログラムの開発を効率よく行うことができる。
以上のように本実施の形態では、電源投入後に必要になるであろうRAM22のメモリデータを、ページごとに取得し、スナップショットイメージSIを生成するようにしたので、電源投入後にRAM22のメモリデータを復元する際のデータの読み出し量を少なくすることができ、起動時間を短くすることができる。また、電源投入後に必要になるであろうRAM22のメモリデータを、プロセスごとに取得する場合に比べ、プログラムの開発を効率よく行うことができる。
また、本実施の形態では、電源投入後に、スナップショットイメージSIに基づいてRAM22のメモリデータを復元した後にシステムを起動するようにしたので、ページフォールトが生じるおそれを低減することができ、起動時間を短くすることができる。
また、本実施の形態では、イメージリストを生成し、そのイメージリストに基づいてスナップショットイメージを生成するようにしたので、動作の目的に応じたイメージリストを生成し、その動作の目的ごとに最適化された起動を行うことができる。具体的には、例えば、本開示の技術を表示装置の代わりに携帯型情報端末に適用した場合において、インターネット閲覧用のイメージリストを用いた場合には、端末を起動してインターネットブラウザが立ち上がるまでの起動時間を短くすることができ、音楽プレーヤ用のイメージリストを用いた場合には、端末を起動して音楽用プログラムが立ち上がるまでの起動時間を短くすることが可能になる。
<2.第2の実施の形態>
次に、第2の実施の形態に係る表示装置2について説明する。本実施の形態は、電源投入後において、RAM22のメモリデータを復元と、プログラムの実行とを並行して行うものである。なお、上記第1の実施の形態に係る表示装置1と実質的に同一の構成部分には同一の符号を付し、適宜説明を省略する。
次に、第2の実施の形態に係る表示装置2について説明する。本実施の形態は、電源投入後において、RAM22のメモリデータを復元と、プログラムの実行とを並行して行うものである。なお、上記第1の実施の形態に係る表示装置1と実質的に同一の構成部分には同一の符号を付し、適宜説明を省略する。
[構成]
図6は、第2の実施の形態に係る表示装置2の一構成例を表すものである。表示装置2は、フラッシュメモリ33と、CPU31と、DMA(Direct Memory Access)コントローラ35とを備えている。
図6は、第2の実施の形態に係る表示装置2の一構成例を表すものである。表示装置2は、フラッシュメモリ33と、CPU31と、DMA(Direct Memory Access)コントローラ35とを備えている。
フラッシュメモリ33には、イメージリストIL2が記憶されている。表示装置2は、後述するように、電源投入後において、このイメージリストIL2に基づいて、RAM22のメモリデータを復元するものである。すなわち、上記第1の実施の形態に係る表示装置1は、電源投入後において、スナップショットイメージSIに基づいてRAM22のメモリデータを復元したが、本実施の形態に係る表示装置2は、イメージリストIL2に基づいて、RAM22のメモリデータを復元するようになっている。
図7は、イメージリストIL2の一構成例を表すものである。イメージリストIL2は、図7に示したように、上記第1の実施の形態に係るイメージリストILの情報(図2)に加えて、後述するように、そのページのメモリデータがフラッシュメモリ33からRAM22に読み出されるタイミング(読出時間tr)の情報を有している。
CPU31は、図6に示したように、イメージリスト生成モジュールMIG2およびイメージリスト読出モジュールMIRを実行する機能を有している。
イメージリスト生成モジュールMIG2は、イメージリストIL2を生成し、そのイメージリストIL2をフラッシュメモリ33に記憶するものである。イメージリスト読出モジュールMIRは、電源投入後において、フラッシュメモリ33に記憶されたイメージリストIL2、およびフラッシュメモリ33に記憶されたプログラムのデータ(ファイルFL)に基づいて、RAM22のメモリデータを復元するものである。
なお、図示していないが、イメージリスト生成モジュールMIG2およびイメージリスト読出モジュールMIRは、フラッシュメモリ33に記憶されており、CPU31がこれらのモジュールを実行する際に、フラッシュメモリ33からRAM22に読み出されるようになっている。
DMAコントローラ35は、この例では、RAM22とフラッシュメモリ33との間のデータのやり取りを制御するものである。表示装置2では、DMAコントローラ35を用いることにより、CPU31を介すことなく、RAM22とフラッシュメモリ33との間のデータのやり取りを行うことができるようになっている。
ここで、イメージリストIL2は、本開示における「ページ情報」の一具体例に対応する。読出時間trは、本開示における「タイミング情報」の一具体例に対応する。イメージリスト生成モジュールMIG2は、本開示における「ページ情報生成部」の一具体例に対応する。イメージリスト読出モジュールMIRは、本開示における「復元部」の一具体例に対応する。
[動作および作用]
(イメージリストIL2の生成)
図8は、表示装置2におけるメモリ空間を模式的に表すものであり、イメージリストIL2を生成する場合を示す。イメージリストIL2を生成する際には、CPU31は、イメージリスト生成モジュールMIG2を実行する。このイメージリスト生成モジュールMIG2は、後述するように、電源投入後に必要になるであろうRAM22のメモリデータに関する情報をページごとに収集し、図7に示したイメージリストIL2を生成する。
(イメージリストIL2の生成)
図8は、表示装置2におけるメモリ空間を模式的に表すものであり、イメージリストIL2を生成する場合を示す。イメージリストIL2を生成する際には、CPU31は、イメージリスト生成モジュールMIG2を実行する。このイメージリスト生成モジュールMIG2は、後述するように、電源投入後に必要になるであろうRAM22のメモリデータに関する情報をページごとに収集し、図7に示したイメージリストIL2を生成する。
図9は、イメージリストIL2の生成の流れ図を表すものである。本実施の形態に係るイメージリストIL2の生成は、上記第1の実施の形態に係るスナップショットイメージSIの生成の流れ図(図4)において、ステップS16をステップS26に変更するとともに、ステップS17を削除したものである。なお、その他のステップは、上記第1の実施の形態の場合(図4)と実質的に同じである。
ステップS15に続くステップS26において、CPU31は、基本データBDを利用して、基本機能有効化プログラムPBを実行するとともに、イメージリスト生成モジュールMIG2を実行してイメージリストIL2を生成する。具体的には、CPU31は、基本データBDを利用して、基本機能有効化プログラムPBを実行することにより、ステップS11〜S12よりも短い時間で、基本機能を有効化する。そして、イメージリスト生成モジュールMIG2は、このステップS26(基本機能有効化プログラムPBの実行)において、電源投入後に必要になるであろうRAM22のメモリデータに係るページがフラッシュメモリ33からRAM22に読み出された順番OD、その読み出されたタイミング(読出時間tr)、そのページの論理メモリアドレスLA、そのページに係るプロセス番号PRを取得する。この読出時間trは、言い換えれば、ステップS26において基本機能有効化プログラムPBを実行する際の、ページングの発生タイミングである。その後、イメージリスト生成モジュールMIG2は、これらの情報に基づいてイメージリストIL2を生成し、このイメージリストIL2をフラッシュメモリ33に記憶する。
(イメージリストIL2を利用した表示装置2の起動)
図10は、表示装置2におけるメモリ空間を模式的に表すものであり、電源投入後においてイメージリストIL2に基づいてRAM22のメモリデータを復元する場合を示す。RAM22のメモリデータを復元する際には、CPU31は、イメージリスト読出モジュールMIRを実行する。このイメージリスト読出モジュールMIRは、フラッシュメモリ33に記憶されたイメージリストIL2およびプログラム(ファイルFL)に基づいて、RAM22のメモリデータを復元する。
図10は、表示装置2におけるメモリ空間を模式的に表すものであり、電源投入後においてイメージリストIL2に基づいてRAM22のメモリデータを復元する場合を示す。RAM22のメモリデータを復元する際には、CPU31は、イメージリスト読出モジュールMIRを実行する。このイメージリスト読出モジュールMIRは、フラッシュメモリ33に記憶されたイメージリストIL2およびプログラム(ファイルFL)に基づいて、RAM22のメモリデータを復元する。
図11は、イメージリストIL2を利用した表示装置2の起動の流れ図を表すものである。表示装置2では、電源投入後において、CPU31がイメージリスト読出モジュールMIRを実行し、RAM22のメモリデータを復元するとともに、その復元処理と並行してシステムの起動を開始する。以下にその詳細を説明する。
まず、CPU31がブートローダを実行し、フラッシュメモリ33にイメージリストIL2が記憶されていることを検知し、起動モードB2でオペレーティングシステムOSを起動する(ステップT21)。この起動モードB2では、CPU31は、フラッシュメモリ23からRAM22に対してオペレーティングシステムOSのデータを読み出し、その後にオペレーティングシステムOSを起動する。
次に、CPU31は、イメージリスト読出モジュールMIRを実行し、イメージリストIL2に基づいて、プログラム実行前にフラッシュメモリ33からRAM22に対して読み出しておくべきメモリデータ(先読データLAD)のデータ量を求める(ステップT22)。この先読データLADは、後述するように、ステップT24におけるプログラムの実行においてページフォールトが生じないようにするために、このプログラムの実行に先立ってあらかじめ読み出しておくべきメモリデータである。イメージリスト読出モジュールMIRは、イメージリストIL2に記載された各ページの読出時間trと、予め取得したフラッシュメモリ33からRAM22へのデータ転送時間とに基づいて、この先読データLADのデータ量を求める。
次に、イメージリスト読出モジュールMIRは、DMAコントローラ35を用いて、ステップT22において求めたデータ量の先読データLADを、フラッシュメモリ33からRAM22に読み出す(ステップT23)。具体的には、イメージリスト読出モジュールMIRは、まず、イメージリストIL2に含まれる、ページごとのプロセス番号PRに基づいて、フラッシュメモリ33に記憶されたそのプロセス(プログラム)に対応するファイルFLを特定する。次に、イメージリスト読出モジュールMIRは、イメージリストIL2に含まれる論理メモリアドレスLAに基づいて、その特定したファイルFLにおけるページの位置(オフセットOF)を求める。そして、イメージリスト読出モジュールMIRは、このファイルFLとオフセットOFの情報に基づいて、フラッシュメモリ33からRAM22に対してメモリデータを読み出す。
次に、CPU31は、RAM22に復元された先読データLADに基づいてプログラムの実行を開始するとともに、イメージリスト読出モジュールMIRは、先読みデータLADに引き続き、DMAコントローラ35を用いて、メモリデータをフラッシュメモリ33からRAM22に読み出す(ステップT24)。
以上でこのフローは終了する。
このように、表示装置2では、まず先読みデータLADに基づいてRAM22のメモリデータの一部を復元した後、その先読データLADに基づいてプログラムの実行を行うとともに、そのプログラムの実行と並行して、先読データLADに続くデータをRAM22に読み出すようにしている。すなわち、表示装置2では、RAM22の全てのメモリデータの復元を待たずにプログラムの実行を開始している。つまり、上記第1の実施の形態に係る表示装置1では、スナップショットイメージSIに基づいてRAM22のメモリデータを復元するため、RAM22の全てのメモリデータの復元後に、プログラムの実行を開始する。一方、表示装置2では、プログラムの実行においてページフォールトが生じないような必要最低限のメモリデータ(先読データLAD)のみを復元した後に、プログラムの実行を開始している。これにより、表示装置2では、起動時間を短くすることができる。
また、表示装置2では、ステップT24において、CPU31がプログラムを実行する際、先読データLADに基づいてプログラムを実行するため、プログラムの実行がページフォールトにより一時的に停止するおそれを低減することができ、起動時間を短くすることができる。また、ステップT24において、イメージリスト読出モジュールMIRは、DMAコントローラ35を用いて、メモリデータを読み出すようにしたので、RAM22とフラッシュメモリ33との間のデータのやり取りがCPU31の負荷になることがないため、CPU31は、効率的に先読データLADに基づくプログラムの実行を行うことができ、起動時間を短くすることができる。
[効果]
以上のように本実施の形態では、まず先読みデータLADに基づいてRAM22のメモリデータの一部を復元した後、その先読データLADに基づいてプログラムの実行を行うとともに、そのプログラムの実行と並行して、先読データLADに続くデータをRAMに読み出すようにしたので、起動時間を短くすることができる。
以上のように本実施の形態では、まず先読みデータLADに基づいてRAM22のメモリデータの一部を復元した後、その先読データLADに基づいてプログラムの実行を行うとともに、そのプログラムの実行と並行して、先読データLADに続くデータをRAMに読み出すようにしたので、起動時間を短くすることができる。
また、本実施の形態では、イメージリストIL2に読出時間trの情報を含み、これに基づいて、後のプログラムの実行においてページフォールトが生じないように、先読データLADのデータ量を求めたので、プログラムの実行がページフォールトにより一時的に停止するおそれを低減することができ、起動時間を短くすることができる。
また、本実施の形態では、DMAコントローラを用いたので、RAM22とフラッシュメモリ33との間のデータのやり取りがCPU31の負荷になることがないため、起動時間を短くすることができる。
また、本実施の形態では、イメージリストIL2およびフラッシュメモリ33に記憶されたプログラム(ファイルFL)に基づいてRAM22のメモリデータを復元したので、スナップショットイメージSIを使用する場合に比べて、フラッシュメモリ33のメモリ使用量を抑えることができる。
その他の効果は、上記第1の実施の形態の場合と同様である。
<3.第3の実施の形態>
次に、第3の実施の形態に係る表示装置3について説明する。本実施の形態は、電源投入後において、スナップショットイメージSIに基づいてRAM22のメモリデータを復元するとともに、プログラムの実行を並行して行うものである。なお、上記実施の形態に係る表示装置1,2と実質的に同一の構成部分には同一の符号を付し、適宜説明を省略する。
次に、第3の実施の形態に係る表示装置3について説明する。本実施の形態は、電源投入後において、スナップショットイメージSIに基づいてRAM22のメモリデータを復元するとともに、プログラムの実行を並行して行うものである。なお、上記実施の形態に係る表示装置1,2と実質的に同一の構成部分には同一の符号を付し、適宜説明を省略する。
[構成]
図12は、第3の実施の形態に係る表示装置3の一構成例を表すものである。表示装置2は、フラッシュメモリ43と、CPU41とを備えている。
図12は、第3の実施の形態に係る表示装置3の一構成例を表すものである。表示装置2は、フラッシュメモリ43と、CPU41とを備えている。
フラッシュメモリ43は、イメージリストIL2、および2つのスナップショットイメージSI1,SI2を記憶するものである。スナップショットイメージSI1,SI2は、上記第1の実施の形態に係るスナップショットイメージSIと同様に、RAM22のメモリデータのうち、表示装置1の電源投入後に必要になるであろうものを、ページごとに記憶したものである。スナップショットイメージSI1は、オペレーティングシステムOSに係るメモリデータに関するものであり、スナップショットイメージSI2は、オペレーティングシステムOS以外のプログラムに係るメモリデータに関するものである。
CPU41は、スナップショットイメージ生成モジュールMSG2、スナップショットイメージ読出モジュールMSR2、およびイメージリスト読出モジュールMIR2を実行する機能を有している。スナップショットイメージ生成モジュールMSG2は、イメージリスト生成モジュールMIG2が生成したイメージリストIL2に基づいて、スナップショットイメージSI1,SI2を生成し、フラッシュメモリ43に記憶するものである。スナップショットイメージ読出モジュールMSR2は、電源投入後において、フラッシュメモリ43に記憶されたスナップショットイメージSI1に基づいて、オペレーティングシステムOSに係るRAM22のメモリデータを復元するものである。イメージリスト読出モジュールMIR2は、電源投入後において、フラッシュメモリ43に記憶されたイメージリストIL2およびスナップショットイメージSI2に基づいて、オペレーティングシステムOS以外のプログラムに係るRAM22のメモリデータを復元するものである。
なお、図示していないが、スナップショットイメージ生成モジュールMSG2、スナップショットイメージ読出モジュールMSR2、およびイメージリスト読出モジュールMIR2は、フラッシュメモリ43に記憶されており、CPU41がこれらのモジュールを実行する際に、フラッシュメモリ43からRAM22に読み出されるようになっている。
スナップショットイメージ生成モジュールMSG2は、本開示における「記憶制御部」の一具体例に対応する。スナップショットイメージSI1は、本開示における「基本ページデータセット」の一具体例に対応する。スナップショットイメージSI2は、本開示における「応用ページデータセット」の一具体例に対応する。イメージリスト読出モジュールMIR2およびスナップショットイメージ読出モジュールMSR2は、本開示における「復元部」の一具体例に対応する。
[動作および作用]
(イメージリストIL2およびスナップショットイメージSI1,SI2の生成)
図13は、表示装置3におけるメモリ空間を模式的に表すものである。イメージリストIL2を生成する際には、CPU41は、上記第2の実施の形態の場合と同様に、イメージリスト生成モジュールMIG2を実行する。そして、スナップショットイメージSI1,SI2を生成する際には、CPU41は、スナップショットイメージ生成モジュールMSG2を実行する。このスナップショットイメージ生成モジュールMSG2は、イメージリスト生成モジュールMIG2が生成したイメージリストIL2に基づいて、RAM22から該当するメモリデータを収集し、2つのスナップショットイメージSI1,SI2を生成する。
(イメージリストIL2およびスナップショットイメージSI1,SI2の生成)
図13は、表示装置3におけるメモリ空間を模式的に表すものである。イメージリストIL2を生成する際には、CPU41は、上記第2の実施の形態の場合と同様に、イメージリスト生成モジュールMIG2を実行する。そして、スナップショットイメージSI1,SI2を生成する際には、CPU41は、スナップショットイメージ生成モジュールMSG2を実行する。このスナップショットイメージ生成モジュールMSG2は、イメージリスト生成モジュールMIG2が生成したイメージリストIL2に基づいて、RAM22から該当するメモリデータを収集し、2つのスナップショットイメージSI1,SI2を生成する。
図14は、イメージリストIL2およびスナップショットイメージSI1,SI2の生成の流れ図を表すものである。本実施の形態に係るイメージリストIL2およびスナップショットイメージSI1,SI2の生成は、上記第1の実施の形態に係るスナップショットイメージSIの生成の流れ図(図4)において、ステップS16を、イメージリストIL2を生成するステップ(上記第2の実施の形態に係るステップS26)に変更し、ステップS17をステップS37,S38に変更したものである。なお、その他のステップは、上記第1の実施の形態の場合(図4)と実質的に同じである。
ステップS26に続くステップS37において、CPU41は、スナップショットイメージ生成モジュールMSG2を実行して、イメージリストIL2に基づいてスナップショットイメージSI1を生成し、フラッシュメモリ43に記憶する。具体的には、スナップショットイメージ生成モジュールMSG2は、上記第1の実施の形態に係るスナップショットイメージ生成モジュールMSGと同様に、スナップショットイメージSI1を生成する。その際、スナップショットイメージ生成モジュールMSG2は、イメージリストILに記載されたプロセス番号PRがオペレーティングシステムOSに係るものであるページについて、メモリデータを取得し、そのメモリデータおよび各ページの物理メモリアドレスPAの情報に基づいてスナップショットイメージSI1を生成する。
次に、CPU41は、ステップS37と同様にスナップショットイメージ生成モジュールMSG2を実行して、スナップショットイメージSI2を生成し、フラッシュメモリ43に記憶する(ステップS38)。その際、スナップショットイメージ生成モジュールMSG2は、イメージリストILに記載されたプロセス番号PRがオペレーティングシステムOS以外のプロセスに係るものであるページについて、メモリデータを取得し、そのメモリデータおよび各ページの物理メモリアドレスPAの情報に基づいてスナップショットイメージSI2を生成する。
(イメージリストIL2およびスナップショットイメージSI1,SI2を利用した表示装置3の起動)
RAM22のメモリデータを復元する際には、CPU41は、図13に示したように、スナップショットイメージ読出モジュールMSR2およびイメージリスト読出モジュールMIR2を実行する。このスナップショットイメージ読出モジュールMSR2は、フラッシュメモリ43に記憶されたスナップショットイメージSI1に基づいて、オペレーティングシステムOSに係るRAM22のメモリデータを復元する。また、イメージリスト読出モジュールMIR2は、フラッシュメモリ43に記憶されたイメージリストIL2およびスナップショットイメージSI2に基づいて、オペレーティングシステムOS以外のプロセスに係るRAM22のメモリデータを復元する。
RAM22のメモリデータを復元する際には、CPU41は、図13に示したように、スナップショットイメージ読出モジュールMSR2およびイメージリスト読出モジュールMIR2を実行する。このスナップショットイメージ読出モジュールMSR2は、フラッシュメモリ43に記憶されたスナップショットイメージSI1に基づいて、オペレーティングシステムOSに係るRAM22のメモリデータを復元する。また、イメージリスト読出モジュールMIR2は、フラッシュメモリ43に記憶されたイメージリストIL2およびスナップショットイメージSI2に基づいて、オペレーティングシステムOS以外のプロセスに係るRAM22のメモリデータを復元する。
図15は、イメージリストIL2およびスナップショットイメージSI1,SI2を利用した表示装置3の起動の流れ図を表すものである。表示装置3は、電源投入後において、CPU41がスナップショットイメージ読出モジュールMSR2を実行し、オペレーティングシステムOSに係るRAM22のメモリデータを復元し、その復元したメモリデータに基づいてシステムの起動を開始する。そして、表示装置3は、スナップショットイメージSI2およびイメージリストIL2に基づいて、オペレーティングシステムOS以外のプロセスに係るRAM22のメモリデータを復元し、その復元処理と並行してシステムの起動を行う。
まず、CPU41がブートローダを実行し、フラッシュメモリ33にスナップショットイメージSI1が記憶されていることを検知し、スナップショットイメージ読出モジュールMSR2を実行して、そのスナップショットイメージSI1に基づいて、オペレーティングシステムOSに係るRAM22のメモリデータを復元する(ステップT31)。
次に、CPU41は、RAM22に復元したオペレーティングシステムOSに係るメモリデータに基づいて、起動モードB3でオペレーティングシステムOSを起動する(ステップT32)。具体的には、CPU41は、メモリデータを復元したRAM22における開始メモリアドレスにジャンプして、そのアドレスからオペレーティングシステムOSの起動を行う。
次に、CPU41は、イメージリスト読出モジュールMIR2を実行し、イメージリストIL2に基づいて、スナップショットイメージSI2に係るメモリデータのうち、プログラム実行前にフラッシュメモリ43からRAM22に対して読み出しておくべきメモリデータ(先読データLAD)のデータ量を求める(ステップT33)。
次に、イメージリスト読出モジュールMIR2は、DMAコントローラ35を用いて、ステップT33において求めたデータ量の先読データLADを、フラッシュメモリ43からRAM22に読み出す(ステップT34)。具体的には、イメージリスト読出モジュールMIRは、イメージリストIL2に含まれる論理メモリアドレスLAを、ページテーブルPTを用いて物理メモリアドレスPAに変換し、スナップショットイメージSI2から、その変換された物理メモリアドレスPAに対応するメモリデータを、RAM22に対して読み出す。
次に、CPU41は、RAM22に復元された先読データLADに基づいてプログラムの実行を開始するとともに、イメージリスト読出モジュールMIR2は、先読みデータLADに引き続き、DMAコントローラ35を用いて、メモリデータをフラッシュメモリ43からRAM22に読み出す(ステップT35)。
以上でこのフローは終了する。
このように、表示装置3では、まずスナップショットイメージSI1に基づいてオペレーティングシステムOSに係るRAM22のメモリデータを復元した後、その復元したメモリデータに基づいてオペレーティングシステムOSの起動を行い、その後、プログラムの実行と並行して、スナップショットイメージSI2に基づいて、オペレーティングシステムOS以外のプロセスに係るRAM22のメモリデータを復元している。つまり、上記第1の実施の形態に係る表示装置1では、1つのスナップショットイメージSIに基づいてRAM22のメモリデータを復元するため、RAM22の全てのメモリデータの復元後に、プログラムの実行を開始する。一方、表示装置3では、オペレーティングシステムOSに係るRAM22のメモリデータのみを復元した後、プログラムの実行を開始している。これにより、表示装置3では、起動時間を短くすることができる。
また、表示装置3では、例えば、フラッシュメモリ43が圧縮ファイルシステムを有している場合においても、プログラムの実行と、RAM22のメモリデータの復元とを並行して行うことができる。すなわち、例えば、フラッシュメモリ43の圧縮ファイルシステムのブロックサイズが、RAM22のページサイズより大きい場合(例えば、ブロックサイズが32kバイトであり、ページサイズが4kバイトの場合)でも、表示装置3では、イメージリスト生成モジュールMIG2およびスナップショットイメージ生成モジュールMSG2が、ページごとにメモリデータを収集してスナップショットイメージSI1,SI2を生成するため、スナップショットイメージSI1,SI2は、必要最小限なデータ量となる。これにより、電源投入後にRAM22のメモリデータを復元する際のデータの読み出し量を少なくすることができ、起動時間を短くすることができる。
なお、上記第2の実施の形態に係る表示装置2では、例えば、フラッシュメモリ43が圧縮ファイルシステムを有している場合には、起動時間が長くなるおそれがある。すなわち、例えば、フラッシュメモリ43の圧縮ファイルシステムのブロックサイズが、RAM22のページサイズより大きい場合には、イメージリスト読込モジュールMIRは、フラッシュメモリ33に記憶された、圧縮されたプログラム(ファイルFL)を、ブロックごと(例えば32kバイトごと)にRAM22に読み出したあとに解凍し、必要なページ(例えば4kバイト)を取得する必要がある。つまり、表示装置2では、電源投入後にRAM22のメモリデータを復元する際のデータの読み出し量が多くなってしまうため、起動時間が長くなるおそれがある。
一方、本実施の形態に係る表示装置3では、上述したように、スナップショットイメージSI1,SI2は、必要最小限なデータ量で構成されるため、起動時間を短くすることができる。
[効果]
以上のように本実施の形態では、スナップショットイメージを複数生成し、オペレーティングシステムOSに係るスナップショットイメージと、それ以外のスナップショットイメージとを分けるようにしたので、オペレーティングシステムの実行と、RAMのメモリデータの復元とを並行して行うことができるため、起動時間を短くすることができる。
以上のように本実施の形態では、スナップショットイメージを複数生成し、オペレーティングシステムOSに係るスナップショットイメージと、それ以外のスナップショットイメージとを分けるようにしたので、オペレーティングシステムの実行と、RAMのメモリデータの復元とを並行して行うことができるため、起動時間を短くすることができる。
また、本実施の形態では、スナップショットイメージを用いるようにしたので、フラッシュメモリ43が圧縮ファイルシステムを有している場合でも、起動時間を短くすることができる。
その他の効果は、上記第1および第2の実施の形態等の場合と同様である。
以上、いくつかの実施の形態を挙げて本技術を説明したが、本技術はこれらの実施の形態等には限定されず、種々の変形が可能である。
例えば、上記の各実施の形態では、表示装置に本技術を適用したが、これに限定されるものではなく、どのような電子機器に適用してもよい。
なお、本技術は以下のような構成とすることができる。
(1)プログラムを示す情報をメモリデータとして一時格納する揮発性メモリと、
不揮発性メモリと、
前記揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定するページ情報を生成するページ情報生成部と
を備え、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属するプログラムのプログラム番号と
を含む
情報処理装置。
不揮発性メモリと、
前記揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定するページ情報を生成するページ情報生成部と
を備え、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属するプログラムのプログラム番号と
を含む
情報処理装置。
(2)前記ページ情報に基づいて、前記複数ページ分のメモリデータを含む1または複数のページデータセットを生成し、前記不揮発性メモリに記憶する記憶制御部をさらに備えた
前記(1)に記載の情報処理装置。
前記(1)に記載の情報処理装置。
(3)前記プログラムは、基本ソフトウェアを含み、
前記記憶制御部は、前記基本ソフトウェアに対応する基本ページデータセットと、前記基本ソフトウェア以外のプログラムに対応する応用ページデータセットとを含む複数のページデータセットを生成する
前記(2)に記載の情報処理装置。
前記記憶制御部は、前記基本ソフトウェアに対応する基本ページデータセットと、前記基本ソフトウェア以外のプログラムに対応する応用ページデータセットとを含む複数のページデータセットを生成する
前記(2)に記載の情報処理装置。
(4)前記ページ情報生成部は、前記ページ情報を前記不揮発性メモリに記憶する
前記(1)に記載の情報処理装置。
前記(1)に記載の情報処理装置。
(5)前記ページ情報生成部は、前記不揮発性メモリに記憶された前記プログラムを実行する際に、前記メモリアドレスと前記プログラム番号を取得する
前記(1)から(4)のいずれかに記載の情報処理装置。
前記(1)から(4)のいずれかに記載の情報処理装置。
(6)前記プログラムは前記不揮発性メモリに記憶され、
前記ページ情報は、各ページに関するタイミング情報を含み、
前記ページ情報生成部は、前記不揮発性メモリに記憶された前記プログラムを実行する際に、前記各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示す前記タイミング情報を取得する
前記(5)に記載の情報処理装置。
前記ページ情報は、各ページに関するタイミング情報を含み、
前記ページ情報生成部は、前記不揮発性メモリに記憶された前記プログラムを実行する際に、前記各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示す前記タイミング情報を取得する
前記(5)に記載の情報処理装置。
(7)前記メモリアドレスは、論理メモリアドレスである
前記(1)から(6)のいずれかに記載の情報処理装置。
前記(1)から(6)のいずれかに記載の情報処理装置。
(8)前記ページ情報生成部は、プログラムが更新された後に、前記ページ情報を生成する
前記(1)から(7)のいずれかに記載の情報処理装置。
前記(1)から(7)のいずれかに記載の情報処理装置。
(9)揮発性メモリと、
ページ復元情報が記憶された不揮発性メモリと、
前記ページ復元情報に基づいて、予め定められた複数ページ分のメモリデータを前記揮発性メモリに復元する復元部と
を備えた情報処理装置。
ページ復元情報が記憶された不揮発性メモリと、
前記ページ復元情報に基づいて、予め定められた複数ページ分のメモリデータを前記揮発性メモリに復元する復元部と
を備えた情報処理装置。
(10)前記ページ復元情報は、前記複数ページ分のメモリデータを有する1または複数のページデータセットを含み、
前記復元部は、前記ページデータセットに基づいてメモリデータを復元する
前記(9)に記載の情報処理装置。
前記復元部は、前記ページデータセットに基づいてメモリデータを復元する
前記(9)に記載の情報処理装置。
(11)前記プログラムは、基本ソフトウェアを含み、
前記ページ復元情報は、前記基本ソフトウェアに対応する基本ページデータセットと、前記基本ソフトウェア以外のプログラムに対応する応用ページデータセットとを含む複数のページデータセットを含む
前記(10)に記載の情報処理装置。
前記ページ復元情報は、前記基本ソフトウェアに対応する基本ページデータセットと、前記基本ソフトウェア以外のプログラムに対応する応用ページデータセットとを含む複数のページデータセットを含む
前記(10)に記載の情報処理装置。
(12)前記プログラムは前記不揮発性メモリに記憶され、
前記ページ復元情報は、前記複数ページ分のメモリデータを特定するページ情報をさらに含み、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属する前記プログラムのプログラム番号と、
各ページに関するタイミング情報であって、前記ページ情報を生成する際に、前記不揮発性メモリに記憶された前記プログラムを実行して、各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示すタイミング情報と
を有し
前記復元部は、
前記基本ぺージデータセットに基づいて前記基本ソフトウェアに対応するメモリデータを復元し、
前記応用ページデータセットに基づいてあらかじめ復元すべきメモリデータの先読データ量を、前記タイミング情報に基づいて求め、
前記応用ページデータセットに基づいて前記応用ソフトウェアに対応するメモリデータの復元を開始し、
復元したメモリデータのデータ量が前記先読データ量に達した後に、その復元したメモリデータに基づいてプログラムの実行を開始する
前記(11)に記載の情報処理装置。
前記ページ復元情報は、前記複数ページ分のメモリデータを特定するページ情報をさらに含み、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属する前記プログラムのプログラム番号と、
各ページに関するタイミング情報であって、前記ページ情報を生成する際に、前記不揮発性メモリに記憶された前記プログラムを実行して、各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示すタイミング情報と
を有し
前記復元部は、
前記基本ぺージデータセットに基づいて前記基本ソフトウェアに対応するメモリデータを復元し、
前記応用ページデータセットに基づいてあらかじめ復元すべきメモリデータの先読データ量を、前記タイミング情報に基づいて求め、
前記応用ページデータセットに基づいて前記応用ソフトウェアに対応するメモリデータの復元を開始し、
復元したメモリデータのデータ量が前記先読データ量に達した後に、その復元したメモリデータに基づいてプログラムの実行を開始する
前記(11)に記載の情報処理装置。
(13)前記ページ復元情報は、前記複数ページ分のメモリデータを特定するページ情報を含み、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属するプログラムのプログラム番号と
を有し、
前記復元部は、前記ページ情報に基づいてメモリデータを復元する
前記(9)に記載の情報処理装置。
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属するプログラムのプログラム番号と
を有し、
前記復元部は、前記ページ情報に基づいてメモリデータを復元する
前記(9)に記載の情報処理装置。
(14)前記プログラムは前記不揮発性メモリに記憶され、
前記復元部は、前記不揮発性メモリに記憶された前記プログラムのデータおよび前記ページ情報に基づいて、メモリデータを復元する
前記(13)に記載の情報処理装置。
前記復元部は、前記不揮発性メモリに記憶された前記プログラムのデータおよび前記ページ情報に基づいて、メモリデータを復元する
前記(13)に記載の情報処理装置。
(15)前記ページ情報は、各ページに関するタイミング情報であって、前記ページ情報を生成する際に、前記不揮発性メモリに記憶された前記プログラムを実行して、各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示すタイミング情報を含み、
前記復元部は、
あらかじめ復元すべきメモリデータの先読データ量を、前記タイミング情報に基づいて求め、
メモリデータの復元を開始し、
復元したメモリデータのデータ量が前記先読データ量に達した後に、その復元したメモリデータに基づいてプログラムの実行を開始する
前記(14)に記載の情報処理装置。
前記復元部は、
あらかじめ復元すべきメモリデータの先読データ量を、前記タイミング情報に基づいて求め、
メモリデータの復元を開始し、
復元したメモリデータのデータ量が前記先読データ量に達した後に、その復元したメモリデータに基づいてプログラムの実行を開始する
前記(14)に記載の情報処理装置。
(16)揮発性メモリのメモリデータに基づいてプログラムを実行し、
前記揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定する、各ページの前記揮発性メモリにおけるメモリアドレスと、各ページのメモリデータが属するプログラムのプログラム番号とを含むページ情報を生成する
情報処理方法。
前記揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定する、各ページの前記揮発性メモリにおけるメモリアドレスと、各ページのメモリデータが属するプログラムのプログラム番号とを含むページ情報を生成する
情報処理方法。
(17)不揮発性メモリに記憶されたページ復元情報に基づいて、予め定められた複数ページ分のメモリデータを揮発性メモリに復元する
情報処理方法。
情報処理方法。
1〜3…表示装置、10…アンテナ、11…チューナ、12…制御部、13…表示部、14…音声出力部、20…内部バス、21,31…CPU、22…RAM、22I…イメージリスト領域、22P…ページテーブル領域、23,33…フラッシュメモリ、24…ネットワークインタフェース、35…DMAコントローラ、IL,IL2…イメージリスト、LA…論理メモリアドレス、MIG,MIG2…イメージリスト生成モジュール、MIR,MIR2…イメージリスト読出モジュール、MSG,MSG2…スナップショットイメージ生成モジュール、MSR,MSR2…スナップショットイメージ読出モジュール、OD…順番、OS…オペレーティングシステム、PB…基本機能有効化プログラム、PR…プロセス番号、PT…ページテーブル、SI,SI1,…スナップショットイメージ、tr…読出時間。
Claims (17)
- プログラムを示す情報をメモリデータとして一時格納する揮発性メモリと、
不揮発性メモリと、
前記揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定するページ情報を生成するページ情報生成部と
を備え、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属するプログラムのプログラム番号と
を含む
情報処理装置。 - 前記ページ情報に基づいて、前記複数ページ分のメモリデータを含む1または複数のページデータセットを生成し、前記不揮発性メモリに記憶する記憶制御部をさらに備えた
請求項1に記載の情報処理装置。 - 前記プログラムは、基本ソフトウェアを含み、
前記記憶制御部は、前記基本ソフトウェアに対応する基本ページデータセットと、前記基本ソフトウェア以外のプログラムに対応する応用ページデータセットとを含む複数のページデータセットを生成する
請求項2に記載の情報処理装置。 - 前記ページ情報生成部は、前記ページ情報を前記不揮発性メモリに記憶する
請求項1に記載の情報処理装置。 - 前記ページ情報生成部は、前記不揮発性メモリに記憶された前記プログラムを実行する際に、前記メモリアドレスと前記プログラム番号を取得する
請求項1に記載の情報処理装置。 - 前記プログラムは前記不揮発性メモリに記憶され、
前記ページ情報は、各ページに関するタイミング情報を含み、
前記ページ情報生成部は、前記不揮発性メモリに記憶された前記プログラムを実行する際に、前記各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示す前記タイミング情報を取得する
請求項5に記載の情報処理装置。 - 前記メモリアドレスは、論理メモリアドレスである
請求項1に記載の情報処理装置。 - 前記ページ情報生成部は、プログラムが更新された後に、前記ページ情報を生成する
請求項1に記載の情報処理装置。 - 揮発性メモリと、
ページ復元情報が記憶された不揮発性メモリと、
前記ページ復元情報に基づいて、予め定められた複数ページ分のメモリデータを前記揮発性メモリに復元する復元部と
を備えた情報処理装置。 - 前記ページ復元情報は、前記複数ページ分のメモリデータを有する1または複数のページデータセットを含み、
前記復元部は、前記ページデータセットに基づいてメモリデータを復元する
請求項9に記載の情報処理装置。 - 前記プログラムは、基本ソフトウェアを含み、
前記ページ復元情報は、前記基本ソフトウェアに対応する基本ページデータセットと、前記基本ソフトウェア以外のプログラムに対応する応用ページデータセットとを含む複数のページデータセットを含む
請求項10に記載の情報処理装置。 - 前記プログラムは前記不揮発性メモリに記憶され、
前記ページ復元情報は、前記複数ページ分のメモリデータを特定するページ情報をさらに含み、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属する前記プログラムのプログラム番号と、
各ページに関するタイミング情報であって、前記ページ情報を生成する際に、前記不揮発性メモリに記憶された前記プログラムを実行して、各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示すタイミング情報と
を有し
前記復元部は、
前記基本ぺージデータセットに基づいて前記基本ソフトウェアに対応するメモリデータを復元し、
前記応用ページデータセットに基づいてあらかじめ復元すべきメモリデータの先読データ量を、前記タイミング情報に基づいて求め、
前記応用ページデータセットに基づいて前記応用ソフトウェアに対応するメモリデータの復元を開始し、
復元したメモリデータのデータ量が前記先読データ量に達した後に、その復元したメモリデータに基づいてプログラムの実行を開始する
請求項11に記載の情報処理装置。 - 前記ページ復元情報は、前記複数ページ分のメモリデータを特定するページ情報を含み、
前記ページ情報は、
各ページの前記揮発性メモリにおけるメモリアドレスと、
各ページのメモリデータが属するプログラムのプログラム番号と
を有し、
前記復元部は、前記ページ情報に基づいてメモリデータを復元する
請求項9に記載の情報処理装置。 - 前記プログラムは前記不揮発性メモリに記憶され、
前記復元部は、前記不揮発性メモリに記憶された前記プログラムのデータおよび前記ページ情報に基づいて、メモリデータを復元する
請求項13に記載の情報処理装置。 - 前記ページ情報は、各ページに関するタイミング情報であって、前記ページ情報を生成する際に、前記不揮発性メモリに記憶された前記プログラムを実行して、各ページのメモリデータが前記揮発性メモリに読み出されたタイミングを示すタイミング情報を含み、
前記復元部は、
あらかじめ復元すべきメモリデータの先読データ量を、前記タイミング情報に基づいて求め、
メモリデータの復元を開始し、
復元したメモリデータのデータ量が前記先読データ量に達した後に、その復元したメモリデータに基づいてプログラムの実行を開始する
請求項14に記載の情報処理装置。 - 揮発性メモリのメモリデータに基づいてプログラムを実行し、
前記揮発性メモリに記憶されたメモリデータのうちの予め定められた複数ページ分のメモリデータを特定する、各ページの前記揮発性メモリにおけるメモリアドレスと、各ページのメモリデータが属するプログラムのプログラム番号とを含むページ情報を生成する
情報処理方法。 - 不揮発性メモリに記憶されたページ復元情報に基づいて、予め定められた複数ページ分のメモリデータを揮発性メモリに復元する
情報処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011116242A JP2012243287A (ja) | 2011-05-24 | 2011-05-24 | 情報処理装置および情報処理方法 |
US13/463,908 US20120303874A1 (en) | 2011-05-24 | 2012-05-04 | Information processing unit and information processing method |
CN2012101541956A CN102799470A (zh) | 2011-05-24 | 2012-05-17 | 信息处理单元和信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011116242A JP2012243287A (ja) | 2011-05-24 | 2011-05-24 | 情報処理装置および情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012243287A true JP2012243287A (ja) | 2012-12-10 |
Family
ID=47198585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011116242A Withdrawn JP2012243287A (ja) | 2011-05-24 | 2011-05-24 | 情報処理装置および情報処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120303874A1 (ja) |
JP (1) | JP2012243287A (ja) |
CN (1) | CN102799470A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016522942A (ja) * | 2013-05-13 | 2016-08-04 | クアルコム,インコーポレイテッド | 高性能でかつ低コストのフラッシュ変換層のためのシステムおよび方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140091818A (ko) * | 2013-01-11 | 2014-07-23 | 삼성전자주식회사 | 부팅 장치 및 방법 |
KR102277666B1 (ko) * | 2014-06-30 | 2021-07-15 | 삼성전자 주식회사 | 영상처리장치 및 그 제어방법 |
US10353821B2 (en) | 2016-06-22 | 2019-07-16 | International Business Machines Corporation | System, method, and recording medium for common memory programming |
CN109683983B (zh) * | 2018-12-11 | 2021-09-24 | 海信视像科技股份有限公司 | 一种镜像文件的生成及加载方法、设备 |
-
2011
- 2011-05-24 JP JP2011116242A patent/JP2012243287A/ja not_active Withdrawn
-
2012
- 2012-05-04 US US13/463,908 patent/US20120303874A1/en not_active Abandoned
- 2012-05-17 CN CN2012101541956A patent/CN102799470A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016522942A (ja) * | 2013-05-13 | 2016-08-04 | クアルコム,インコーポレイテッド | 高性能でかつ低コストのフラッシュ変換層のためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102799470A (zh) | 2012-11-28 |
US20120303874A1 (en) | 2012-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2581826B1 (en) | Method and device for cold starting android mobile terminal | |
US7900035B2 (en) | Electronic appliance and startup method | |
US20120191961A1 (en) | Computer System and Operating System Switching Method Thereof | |
CN102957806B (zh) | 手机重启的方法及装置 | |
JP2012243287A (ja) | 情報処理装置および情報処理方法 | |
US8972754B2 (en) | Computer device and frequency adjusting method for central processing unit | |
CN101334736A (zh) | 软件更新方法和便携式终端设备 | |
TW201415365A (zh) | 作業系統更新的方法及手持電子裝置 | |
CN102023874A (zh) | 双Linux内核处理装置以及启动Linux系统内核的方法 | |
CN103197934A (zh) | 多媒体装置的启动方法及多媒体装置 | |
CN102819457A (zh) | 用来于开机期间播放多媒体文件的方法与装置 | |
CN102053848A (zh) | Linux操作系统的自动安装方法 | |
CN101546266A (zh) | 电脑装置的开机方法 | |
JP2008287317A (ja) | 情報処理装置およびシステム起動方法 | |
US20100153622A1 (en) | Data Access Controller and Data Accessing Method | |
JP2007206933A (ja) | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 | |
JP7053979B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN102915246A (zh) | 终端设备以及支持多固件加载的方法 | |
Jo et al. | Improving the startup time of digital TV | |
CN111399926A (zh) | 下载启动程序的方法和装置 | |
CN117389578A (zh) | 云终端系统升级方法、装置、云终端和存储介质 | |
JP2008015725A (ja) | 情報処理装置およびプログラム起動方法 | |
JP2010186411A (ja) | プログラム実行装置、プログラム実行方法、及びプログラム | |
CN101477468B (zh) | 电脑系统的自动开机方法 | |
KR100673999B1 (ko) | 이동통신 단말기의 부팅방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140805 |