JP2014106546A - レジューム方法及び情報処理装置 - Google Patents
レジューム方法及び情報処理装置 Download PDFInfo
- Publication number
- JP2014106546A JP2014106546A JP2012256551A JP2012256551A JP2014106546A JP 2014106546 A JP2014106546 A JP 2014106546A JP 2012256551 A JP2012256551 A JP 2012256551A JP 2012256551 A JP2012256551 A JP 2012256551A JP 2014106546 A JP2014106546 A JP 2014106546A
- Authority
- JP
- Japan
- Prior art keywords
- volatile storage
- image
- program
- storage means
- initial
- 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.)
- Pending
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
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/445—Program loading or initiating
-
- 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/445—Program loading or initiating
- G06F9/44557—Code layout in executable memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
Abstract
【課題】情報処理装置の起動を高速化する。
【解決手段】サイズが小さい第2のプログラム実行時イメージ(EM2)をロードし(ST12)、初期処理(ST13)と、第1のプログラム実行時イメージ(EM1)のロード(ST14)を並行して行い、第1のプログラム実行時イメージ(EM1)による処理を開始する(ST15)。初期処理用領域リスト(AL)を第1のプログラムと第2のプログラムで共用する。
【選択図】図2
【解決手段】サイズが小さい第2のプログラム実行時イメージ(EM2)をロードし(ST12)、初期処理(ST13)と、第1のプログラム実行時イメージ(EM1)のロード(ST14)を並行して行い、第1のプログラム実行時イメージ(EM1)による処理を開始する(ST15)。初期処理用領域リスト(AL)を第1のプログラムと第2のプログラムで共用する。
【選択図】図2
Description
本発明は、レジューム方法及び情報処理装置に関する。本発明は特に、情報処理装置のレジューム機能による高速起動に関し、特に、レジューム対象となるプログラムの実行時イメージのサイズが大きく、ストレージからプログラム実行用メモリーへの実行時イメージの転送に時間がかかる場合に適したレジューム方法、及び該レジューム方法を実施する情報処理装置に関する。
PC(Personal Computer)、STB(Set Top Box)、携帯情報機器などの装置において、非使用時には消費電力を低く抑えつつ、使用時には高速起動を可能とするために、レジューム機能を搭載する必要性が高まっている。装置が起動した後の状態で、サスペンド処理またはハイバネーション処理を行うことにより、起動後の装置の状態をDRAM(Dynamic Random Access Memory)などのメモリーあるいはHDD(Hard Disk Drive)、SSD(Solid State Drive)などのストレージに保存した上で、装置の動作を停止させ、消費電力を低く抑える。装置の起動後の状態をメモリーへ保存した場合は、そのメモリーのみ電力を供給しておけばよく、また、装置の起動後の状態をストレージへ保存した場合は、RTC(Real Time Clock)など、ごく一部の機能を除き、電力の供給停止が可能となる。ここでは、装置の起動後の状態をメモリーへ保存することをサスペンド処理と呼び、起動後の状態をストレージへ保存することをハイバネーション処理と呼ぶこととする。
レジューム処理では、メモリーまたはストレージに保存した装置の動作後の状態を読み出して、サスペンド処理またはハイバネーション処理の前の状態に装置を戻すことにより、装置を高速に起動することが可能となる。サスペンド処理後のレジュームの場合には、例えばメモリーへ保存されたCPUのレジスタ情報をCPUに設定することが考えられる。ハイバネーション後のレジュームの場合には、例えばストレージに保存されたプログラムの実行時イメージをメモリーに書き戻し、さらにストレージに保存されたCPUのレジスタ情報をCPUに設定することが考えられる。
特許文献1では、情報処理装置がサスペンド要求またはハイバネーション要求を受信した場合、起動中のアプリケーションを終了した後、再び上記アプリケーションを起動し、起動した該アプリケーションは初期化処理のうち、ハードウエアの初期化処理を除く初期化処理を実行した後に起動処理を停止し、該アプリケーションの停止後、上記情報処理装置がサスペンドまたはハイバネーション状態に移行し、上記情報処理装置がサスペンドまたはハイバネーション状態からの復帰の要求を受信した場合、要求された復帰の処理を開始し、復帰の処理が完了した後、上記起動処理を再開して上記ハードウエアの初期化処理を開始している。
上記特許文献1では、情報処理装置の復帰処理が完了した後、ハードウエアの初期化処理を開始しているため、その分、起動時間が長くなる。また、復帰処理が完了するまで、初期画面の出力を行えない。機器に搭載されるOS(Operating System)の規模は年々増加しているため、起動に要する時間もそれに伴って長くなり、起動の遅れがますます大きな問題となっている.
本発明のレジューム方法は、
第1のプログラム実行時イメージ及び第2のプログラム実行時イメージ、並びに初期処理用領域リストを格納する不揮発性記憶手段と、
揮発性記憶手段と
を備えた情報処理装置の起動方法であって、
前記第1のプログラム実行時イメージは、前記情報処理装置の通常動作に必要な機能を備えた第1のOSの実行時イメージであり、
前記第2のプログラム実行時イメージは、
前記情報処理装置の初期処理を行う機能と、
前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して前記揮発性記憶手段に格納する機能と
を備えた第2のOSの実行時イメージであり、
前記情報処理装置が電源投入されたとき、
前記不揮発性記憶手段から、前記第2のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップと、
前記不揮発性記憶手段に格納された前記第2のプログラム実行時イメージにより、前記情報処理装置の前記初期処理を行うステップと、
前記初期処理と並行して、前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップと、
前記初期処理が完了し、かつ前記第1のプログラム実行時イメージの格納が完了した時点で、前記第2のプログラム実行時イメージによる処理を停止し、前記第1のプログラム実行時イメージによる処理を開始するステップとを備え、
前記初期処理を行うステップは、
前記揮発性記憶手段の領域割り当て要求に対して、前記初期処理用領域リストに含まれるアドレス情報に基づいて、前記揮発性記憶手段の前記第1のプログラム用領域内に領域割り当てを行うステップを備え、
前記不揮発性記憶手段から前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップは、
前記初期処理用領域リストに含まれるアドレス情報により示される領域には、前記第1のプログラム実行時イメージを格納せず、
前記初期処理用領域リストに含まれるアドレス情報により示される領域以外の領域には、前記第1のプログラム実行時イメージを格納するステップを
備えることを特徴とする。
第1のプログラム実行時イメージ及び第2のプログラム実行時イメージ、並びに初期処理用領域リストを格納する不揮発性記憶手段と、
揮発性記憶手段と
を備えた情報処理装置の起動方法であって、
前記第1のプログラム実行時イメージは、前記情報処理装置の通常動作に必要な機能を備えた第1のOSの実行時イメージであり、
前記第2のプログラム実行時イメージは、
前記情報処理装置の初期処理を行う機能と、
前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して前記揮発性記憶手段に格納する機能と
を備えた第2のOSの実行時イメージであり、
前記情報処理装置が電源投入されたとき、
前記不揮発性記憶手段から、前記第2のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップと、
前記不揮発性記憶手段に格納された前記第2のプログラム実行時イメージにより、前記情報処理装置の前記初期処理を行うステップと、
前記初期処理と並行して、前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップと、
前記初期処理が完了し、かつ前記第1のプログラム実行時イメージの格納が完了した時点で、前記第2のプログラム実行時イメージによる処理を停止し、前記第1のプログラム実行時イメージによる処理を開始するステップとを備え、
前記初期処理を行うステップは、
前記揮発性記憶手段の領域割り当て要求に対して、前記初期処理用領域リストに含まれるアドレス情報に基づいて、前記揮発性記憶手段の前記第1のプログラム用領域内に領域割り当てを行うステップを備え、
前記不揮発性記憶手段から前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップは、
前記初期処理用領域リストに含まれるアドレス情報により示される領域には、前記第1のプログラム実行時イメージを格納せず、
前記初期処理用領域リストに含まれるアドレス情報により示される領域以外の領域には、前記第1のプログラム実行時イメージを格納するステップを
備えることを特徴とする。
第1のプログラム実行時イメージよりサイズの小さい第2のプログラム実行時イメージにより、第2のプログラムを短時間で起動し、さらに、初期処理と第1のプログラム実行時イメージのロードを並行して実行するため、OSにより動作する情報処理装置の起動を高速化できる。
また、第1のプログラムと第2のプログラムとで、揮発性記憶手段内の初期処理用領域を共用することが可能となり、第2のプログラムにより実行した初期処理の情報を効率よく第1のプログラムに渡すことができる。
また、第1のプログラムと第2のプログラムとで、揮発性記憶手段内の初期処理用領域を共用することが可能となり、第2のプログラムにより実行した初期処理の情報を効率よく第1のプログラムに渡すことができる。
実施の形態1.
図1は実施の形態1の情報処理装置1を示す。この情報処理装置1は、本発明に係るレジューム方法乃至起動方法の実施に用いられるものである。
図1は実施の形態1の情報処理装置1を示す。この情報処理装置1は、本発明に係るレジューム方法乃至起動方法の実施に用いられるものである。
情報処理装置1は、通信事業者の映像・音声サーバーSVから配信される映像データ・音声データをネットワークNWを介して受信し、テレビやPCモニターなどの表示装置DPに出力して表示するためのSTB(セットトップボックス)などの装置である。情報処理装置1は、使用者の操作に応じて、配信される映像データ・音声データを選択して、表示装置DPに表示する。
図1において、情報処理装置1は、CPU101、揮発性記憶手段102、不揮発性記憶手段103、映像・音声出力手段104、映像・音声処理手段105、通信手段106、入力手段107、CPUバス108、端子110、及び端子111を備える。
CPU101は、中央処理装置であり、情報処理装置1の全体を制御する。CPU101は、シングルコア、あるいはマルチコアにより構成される。
揮発性記憶手段102は、CPU101が処理を行うための一時的な記憶手段であり、CPU101を動作させるためのプログラムや一時的なデータが格納される。揮発性記憶手段102は、例えばDRAMなどの半導体メモリーから構成されるメモリ装置により実現される。
不揮発性記憶手段103は、情報処理装置1に電源が供給されていない時でも、情報処理装置1が動作するために必要なプログラムやデータを保持しておくための不揮発性の記憶手段である。不揮発性記憶手段103として、例えば、HDD、SSD、eMMC(Embedded MultiMediaCard:組込み型マルチメディアカード)などが用いられる。
揮発性記憶手段102及び不揮発性記憶手段103には特に、第1のプログラムPG1、第2のプログラムPG2、第1のプログラム実行時イメージEM1、及び第2のプログラム実行時イメージEM2が記憶されている。
第1のプログラムPG1及び第2のプログラムPG2はともにOSである。第1のプログラムPG1としては、例えば、Linux(登録商標)OSが挙げられ、第2のプログラムPG2としては、例えば、Linux OS及びAndroid(登録商標)OSが挙げられる。
第1のプログラムPG1及び第2のプログラムPG2はともにOSである。第1のプログラムPG1としては、例えば、Linux(登録商標)OSが挙げられ、第2のプログラムPG2としては、例えば、Linux OS及びAndroid(登録商標)OSが挙げられる。
第1のプログラム実行時イメージEM1は、情報処理装置1が、通信事業者の映像・音声サーバーから配信される映像データ・音声データを受信し、テレビやPCモニターなどの表示装置に出力して表示するために必要とするOS機能、即ち情報処理装置1の通常動作に必要な機能を備えたものである。
一方、第2のプログラム実行時イメージEM2は、ハードウエアの初期化や、初期画面の出力、通信処理の初期化など、情報処理装置1の起動時の初期処理に必要なOS機能、及び
第1のプログラム実行時イメージEM1を不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納する機能のみを備えたものである。
従って、第1のプログラム実行時イメージEM1に比べ、第2のプログラム実行時イメージEM2を小さくすることが可能となり、第1のプログラムPG1に比べ、第2のプログラムPG2を短時間に起動することができる。
一方、第2のプログラム実行時イメージEM2は、ハードウエアの初期化や、初期画面の出力、通信処理の初期化など、情報処理装置1の起動時の初期処理に必要なOS機能、及び
第1のプログラム実行時イメージEM1を不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納する機能のみを備えたものである。
従って、第1のプログラム実行時イメージEM1に比べ、第2のプログラム実行時イメージEM2を小さくすることが可能となり、第1のプログラムPG1に比べ、第2のプログラムPG2を短時間に起動することができる。
第1のプログラム実行時イメージEM1は、情報処理装置1にてOSが起動した状態で、揮発性記憶手段102内の第1のプログラムPG1に関連する領域の記憶内容を取得したものである。
第2のプログラム実行時イメージEM2は、情報処理装置1にてOSが起動した状態で、揮発性記憶手段102内の第2のプログラムPG2に関連する領域の記憶内容を取得したものである。
例えば、情報処理装置を製造する際に(即ち、出荷前に)、情報処理装置の製造者が第1及び第2のプログラム実行時イメージEM1及びEM2を取得して、不揮発性記憶手段103に格納しておくことができる。情報処理装置1が例えばセットトップボックスであり、第1及び第2のプログラムPG1及びPG2として、ユーザによる変更ができないものが用いられる場合にこのようにすることが適切である。
第1のプログラム実行時イメージEM1の取得及び第2のプログラム実行時イメージEM2の取得のためのプログラムは、少なくともその実行時には情報処理装置1内に、第1のプログラムPG1の一部として、記憶されている。これらの処理が情報処理装置の製造の際に行われる場合には、情報処理装置の出荷前に削除しても良く、そのまま残しておいても良い。
第2のプログラム実行時イメージEM2は、情報処理装置1にてOSが起動した状態で、揮発性記憶手段102内の第2のプログラムPG2に関連する領域の記憶内容を取得したものである。
例えば、情報処理装置を製造する際に(即ち、出荷前に)、情報処理装置の製造者が第1及び第2のプログラム実行時イメージEM1及びEM2を取得して、不揮発性記憶手段103に格納しておくことができる。情報処理装置1が例えばセットトップボックスであり、第1及び第2のプログラムPG1及びPG2として、ユーザによる変更ができないものが用いられる場合にこのようにすることが適切である。
第1のプログラム実行時イメージEM1の取得及び第2のプログラム実行時イメージEM2の取得のためのプログラムは、少なくともその実行時には情報処理装置1内に、第1のプログラムPG1の一部として、記憶されている。これらの処理が情報処理装置の製造の際に行われる場合には、情報処理装置の出荷前に削除しても良く、そのまま残しておいても良い。
レジューム或いは起動に当たっては、第2のプログラム実行時イメージEM2を、不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納することにより、情報処理装置を、第2のプログラム実行時イメージEM2を取得したときの状態にし、次に、不揮発性記憶手段103に格納された第1のプログラム実行時イメージEM1を読み出し、揮発性記憶手段102に格納し、揮発性記憶手段102に格納した第1のプログラム実行時イメージEM1による処理を開始する。
不揮発性記憶手段103にはさらに初期処理用領域リストALが記憶された領域を有する。
初期処理用領域は、第1のプログラムPG1による初期処理で利用される情報を記録するために確保された領域であり、初期処理用領域リストALは、そのような初期処理用領域のアドレス情報を一覧として記憶したものである。初期処理用領域リストALは、後述の第1のプログラム実行時イメージEM1の取得の処理中に生成される。
初期処理用領域は、第1のプログラムPG1による初期処理で利用される情報を記録するために確保された領域であり、初期処理用領域リストALは、そのような初期処理用領域のアドレス情報を一覧として記憶したものである。初期処理用領域リストALは、後述の第1のプログラム実行時イメージEM1の取得の処理中に生成される。
映像・音声出力手段104は、映像や音声を端子110から出力するための出力手段である。映像・音声出力手段104は、例えば、映像を出力するためのバッファー、映像をコンポジット形式、コンポーネント形式、HDMI形式などの形式で出力するための映像インタフェース回路、音声をアナログ形式、光デジタル形式、HDMI形式などの形式で出力するための音声インタフェース回路により構成される。映像と音声とまとめて記載しているが、個別の回路ブロックにより構成することも考えられる。また、端子110も映像と音声で個別に設けることも考えられる。
映像・音声出力手段104の出力が端子110を介して表示装置DPに供給される。
映像・音声出力手段104の出力が端子110を介して表示装置DPに供給される。
映像・音声処理手段105は、映像・音声を処理するための手段である。映像・音声処理手段105では、例えば、映像データ・音声データのエンコード、デコード、マルチプレクス、デマルチプレクス、暗号化、暗号化解除、映像へのグラフィックス画面の重畳といった処理を行う。
通信手段106は、映像・音声サーバーSVから、ネットワークNWを経由し、端子111を介して、映像・音声データを受信する。ネットワークNWは例えば、イーサネット(登録商標)で構成される。
入力手段107は、情報処理装置1の使用者からの指示を受け付けるための手段である。入力手段107として、例えばキーボードやマウス、タッチパッド、赤外線式リモコン、無線式リモコンが考えられる。
次に、情報処理装置1の動作について説明する。情報処理装置1は、不揮発性記憶手段103に格納されたプログラム及びデータを揮発性記憶手段102へ読み込み、CPU101により処理する。不揮発性記憶手段103に格納されるプログラムは、OS及びOS上で動作するアプリケーションS/W(ソフトウエア)である。OSとしては、例えば、Linux OS及びAndroid OSが挙げられる。
情報処理装置1は、使用者からの指示を入力手段107により受け付け、受信する映像データ・音声データを選択する。受信する映像データ・音声データの選択は、例えば、チャンネル番号の指定や、映像・音声配信サーバーSV内のコンテンツの指定により行う。
情報処理装置1は、映像・音声サーバーSVから配信され、端子111に入力される映像データ、音声データを通信手段106により受信し、揮発性記憶手段102に格納する。映像・音声処理手段105は、揮発性記憶手段102に格納された映像データ、音声データに対して、暗号化解除、デマルチプレクス、映像デコード、音声デコードなどの処理を行い、映像・音声出力手段104へ出力する。
映像・音声出力手段104は、映像・音声処理手段105から入力されるデコード後の映像データ、音声データを、テレビやPCモニターにて映像表示及び音声出力可能な信号形式で、端子110へ出力する。
映像・音声出力手段104は、映像・音声処理手段105から入力されるデコード後の映像データ、音声データを、テレビやPCモニターにて映像表示及び音声出力可能な信号形式で、端子110へ出力する。
図2は、本実施の形態におけるレジューム機能の処理手順の一例を示す。
情報処理装置1の使用者が、情報処理装置の電源を投入したとき(ステップST11)、不揮発性記憶手段103に格納された第2のプログラム実行時イメージEM2を読み出し、揮発性記憶手段102に格納する(ステップST12)。
情報処理装置1の使用者が、情報処理装置の電源を投入したとき(ステップST11)、不揮発性記憶手段103に格納された第2のプログラム実行時イメージEM2を読み出し、揮発性記憶手段102に格納する(ステップST12)。
第2のプログラム実行時イメージEM2を、不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納することにより、情報処理装置を、第2のプログラム実行時イメージEM2を取得したときの状態にすることが可能となる。これにより、第2のプログラムPG2の起動時間を省けるため、情報処理装置2の高速化を図ることができる。
また、情報処理装置を製造する際に(即ち、出荷前に)、情報処理装置の製造者が第1及び第2のプログラム実行時イメージEM1及びEM2を取得して、不揮発性記憶手段103に格納しておくことにより、使用者が、情報処理装置を入手(購入)した後最初に情報処理装置を起動するときから、高速な起動が可能となる。
また、情報処理装置を製造する際に(即ち、出荷前に)、情報処理装置の製造者が第1及び第2のプログラム実行時イメージEM1及びEM2を取得して、不揮発性記憶手段103に格納しておくことにより、使用者が、情報処理装置を入手(購入)した後最初に情報処理装置を起動するときから、高速な起動が可能となる。
次に、揮発性記憶手段102に格納した第2のプログラム実行時イメージEM2により初期処理を行い(ステップST13)、また、揮発性記憶手段102に格納した第2のプログラム実行時イメージEM2により、初期処理(ステップST13)と並行して、不揮発性記憶手段103に格納された第1のプログラム実行時イメージEM1を読み出し、揮発性記憶手段102に格納する(ステップST14)。
ステップST13の初期処理としては、例えば、ハードウエアの初期化、初期画面の表示、通信処理の初期化などが考えられる。通信処理の初期化では、例えば、映像・音声の配信サーバーとの接続を確立する。
ステップST13の初期処理としては、例えば、ハードウエアの初期化、初期画面の表示、通信処理の初期化などが考えられる。通信処理の初期化では、例えば、映像・音声の配信サーバーとの接続を確立する。
第1のプログラム実行時イメージEM1を、不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納することにより、情報処理装置を、第1のプログラム実行時イメージEM1を取得したときの状態にすることが可能となる。これにより、第1のプログラムPG1の起動時間を省けるため、情報処理装置1の高速化を図れる。
また、第1のプログラム実行時イメージEM1は、情報処理装置1が、通信事業者の映像・音声サーバーから配信される映像データ・音声データを受信し、テレビやPCモニターなどの表示装置に出力して表示するために必要とするOS機能、即ち情報処理装置1の通常動作に必要な機能を全て備えたものとする。
一方、前記第2のプログラムPG2の実行時イメージは、ハードウエアの初期化や、初期画面の出力、通信処理の初期化など、情報処理装置1の起動時の初期処理に必要なOS機能、及び第1のプログラム実行時イメージEM1を不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納する機能のみを備えたものとする。
一方、前記第2のプログラムPG2の実行時イメージは、ハードウエアの初期化や、初期画面の出力、通信処理の初期化など、情報処理装置1の起動時の初期処理に必要なOS機能、及び第1のプログラム実行時イメージEM1を不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納する機能のみを備えたものとする。
従って、第1のプログラム実行時イメージEM1に比べ、第2のプログラム実行時イメージEM2を小さくすることが可能となり、第1のプログラムPG1に比べ、第2のプログラムPG2を短時間に起動することができる。
第1のプログラムPG1と第2のプログラムPG2は、同じOSを使用しても良いし、異なるOSを使用しても良い。ただし、異なるOSの場合でも、情報処理装置1の起動時の初期処理を行うプログラム部分としては、同じ手順で同じ機能を実現するものを組み込んで使用する。
不揮発性記憶手段103の読み出し速度は、揮発性記憶手段102への格納速度に比べ遅い。例えば、不揮発性記憶手段103がeMMCで、バス幅8ビット、クロック周波数50MHzであり、揮発性記憶手段102がDDR3-SDRAMで、バス幅32ビット、クロック周波数800MHzである場合、不揮発性記憶手段103からの読み出し速度は、50MByte/秒程度であるのに対し、揮発性記憶手段102への格納速度は、6400MByte/秒程度となる。不揮発性記憶手段103からの読み出し速度は、揮発性記憶手段102へのアクセス速度に比べて、一桁以上遅いため、揮発性記憶手段102に格納した第2のプログラム実行イメージにより初期処理を高速に実行しつつ、その裏で、当該初期処理に比べ遅い速度で、不揮発性記憶手段103から第1のプログラム実行イメージを読み出して、揮発性記憶手段102に格納することが可能である。このことにより、読み出し速度が遅いという特徴を持つ不揮発性記憶手段103と、アクセス速度の速いという特徴を持つ揮発性記憶手段102を、並列動作で効率よく使用できる。
ステップST13及びステップST14が完了した時点で、第2のプログラム実行時イメージ(EM2)による処理を停止し、揮発性記憶手段102に格納した第1のプログラム実行時イメージEM1による処理を開始する(ステップST15)。ステップST15では、使用者による指示に応じて、再生する映像データ・音声データを選択したり、配信サーバーからの映像データ・音声データを受信・再生し、テレビやPCモニターへの表示出力・音声出力を行う。
図3は、揮発性記憶手段102内の第1のプログラムPG1の実行時イメージEM1と、第2のプログラムPG2の実行時イメージEM2の配置の一例を模式的に示す。図3において、第1のプログラムPG1、及び第2のプログラムPG2はOSであり、例えば、第1のプログラムPG1はAndroid OS、第2のプログラムPG2はLinux OSである。第1のプログラム実行時イメージEM1は、第1のプログラム記憶領域MA1の一部に格納され、第2のプログラム実行時イメージEM2は、第2のプログラム記憶領域MA2の一部に格納される。
第1のプログラム実行時イメージEM1と第2のプログラム実行時イメージEM2は、例えば、図4及び図5に示される処理により、あらかじめ、即ち図2の処理に先立って、取得し、不揮発記憶手段103に格納しておく。
図4は、第1のプログラム実行時イメージEM1の取得時の処理手順の一例を示す。
情報処理装置1の電源を投入し(ステップST21)、不揮発性記憶手段103に格納された第1のプログラムPG1を読み出し、揮発性記憶手段102に格納する(ステップST22)。
次に、揮発性記憶手段102に格納した第1のプログラムPG1を起動し(ステップST23)、初期処理を行う(ステップST24)。ステップST24においては、揮発性記憶手段102の領域割り当てを行う。
その後、第1のプログラム実行時イメージEM1を取得して(ST25)、取得した第1のプログラム実行時イメージEM1を不揮発性記憶手段103に格納する(ステップST26)。
その後、第1のプログラム実行時イメージEM1を取得して(ST25)、取得した第1のプログラム実行時イメージEM1を不揮発性記憶手段103に格納する(ステップST26)。
図5は、第2のプログラム実行時イメージEM2の取得時の処理手順の一例を示す。
情報処理装置1の電源を投入し(ステップST31)、不揮発性記憶手段103に格納された第2のプログラムPG2を読み出し、揮発性記憶手段102に格納する(ステップST32)。
次に、揮発性記憶手段102に格納した第2のプログラムPG2を起動し(ステップST33)、第2のプログラム実行時イメージEM2を取得して(ST34)、取得した第1のプログラム実行時イメージEM1を不揮発性記憶手段103に格納する(ステップST35)。
ステップST13、及びステップST14の処理において、CPU101がシングルコアの場合には、マルチタスクにより、ステップST13とステップST14の並行動作を実現することとしても良い。CPU101がマルチコアの場合には、ステップST13とステップST14を、異なるCPUコアで処理することとしても良い。
上記した、第1のプログラム実行時イメージEM1をロードするステップST14では、例えば図6に示す動作フローにより、不揮発性記憶手段103に格納された第1のプログラム実行時イメージEM1を読み出し、揮発性記憶手段102に格納する。
図6のループ処理LT41は第1のプログラム実行時イメージEM1を揮発性記憶手段102に格納するためのループ処理である。ループ処理LT41では、アドレスを変化させながら、第1のプログラム実行時イメージEM1を揮発性記憶手段102に格納する。
ループ処理LT41内では、アドレス毎に第1のプログラム実行時イメージEM1を不揮発性記憶手段103から読み出し(ステップST41)、第1のプログラム実行時イメージEM1の格納先アドレスが、初期処理用領域リストALにより示される初期処理用領域に該当するかどうかを確認する(ステップST42)。YESの場合、ループLT41の先頭に戻る。NOの場合、第1のプログラム実行時イメージEM1を揮発性記憶手段102に格納し(ステップST43)、ループLT41の先頭に戻る。
図6のステップST42にて使用する初期処理用領域リストALは、例えば、図4に示す第1のプログラム実行時イメージEM1の取得の処理中の初期処理ST24において生成されるものであり、揮発性記憶手段102の領域割り当て要求を受ける度に、図7に示すフローにより、指定された領域を示す情報を追加し、更新する。得られた初期処理用領域リスト(初期処理用領域情報)は、不揮発性記憶手段103に格納されている。
上記した揮発性記憶手段102の領域割り当て要求は、メモリー割り当て関数の呼び出しにより行われる。メモリー割り当て関数は、引数として、割り当てる領域のサイズを指定し、戻り値として、割り当てられた領域の先頭アドレスを返す。メモリー割り当て関数内に、図7に示す処理手順を組み込むことで、初期処理用領域リストALを得ることができる。
図7に示す処理手順では、揮発性記憶手段102内の第1のプログラムPG1用の記憶領域MA1内に、要求された分の領域割り当てを行い(ステップST51)、次に割り当てた領域のアドレス情報を初期処理用領域リストALに追加し(ステップST52)、割り当て処理を終了する。
図8の領域A1、A2、A3は、第1のプログラムPG1用の記憶領域MA1内に割り当てられた初期処理用領域の一例である。図9は、図8の領域A1、A2、A3を含む初期処理用領域リストALの一例を示す。
図8の領域A1、A2、A3は、第1のプログラムPG1用の記憶領域MA1内に割り当てられた初期処理用領域の一例である。図9は、図8の領域A1、A2、A3を含む初期処理用領域リストALの一例を示す。
また、上記した図2おいて、初期処理ST13を行う際に、揮発性記憶手段102の領域割り当て要求が発生する度に、図10に示す処理により領域の割り当てを行う。
図10に示す処理では、不揮発性記憶手段103に格納した初期処理用領域リストALのアドレス情報により(即ち、該アドレス情報で示される領域のうちの該当する領域に)、揮発性記憶手段102内の第1のプログラムPG1用の記憶領域MA1内に、領域割り当てを行う(ステップST61)。このような方法での割り当てが可能なのは、第1のプログラムPG1による初期処理と、第2のプログラムPG2による初期処理とは、同じ手順で同じ機能を実現するものであり、第2の実行時イメージEM2による初期処理の際に必要となる領域は、第1の実行時イメージEM1の取得処理において、確保された初期処理用領域に含まれるためである。
第2のプログラムPG2内のメモリー割り当て関数内に、図10に示す処理を組み込むことで、初期処理用記憶領域割り当ての際に、揮発性記憶手段102の第2のプログラムPG2用の記憶領域MA2ではなく、揮発性記憶手段102の第1のプログラムPG1用の記憶領域MA1内に、初期処理用記憶領域を割り当てることが可能となる。これにより、第2のプログラムPG2により初期処理が行われた結果の情報が、揮発性記憶手段102の第1のプログラムPG1用の記憶領域MA1に格納される。
先に示したようにステップST14にて、第1のプログラム実行時イメージEM1を不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納する際に、初期処理用領域リストALにて示される領域には格納を行わない。このことにより、第2のプログラムPG2により初期処理が行われた結果の情報が、保持され、後に第1のプログラムPG1にて(即ち、図2のステップST15の処理(通常処理)において)、利用可能となる。
以上のように構成することにより、図11(a)に示すように、電源投入ST11に応じて、第1のプログラム実行時イメージEM1よりサイズの小さい第2のプログラム実行時イメージEM2のロード(ST12)により、第2のプログラムPG2を短時間で起動し、さらに、初期処理ST13と第1のプログラム実行時イメージEM1のロードST14を並行して実行するため、OSにより動作する情報処理装置1の起動を高速化することができる。
比較のため、従来のレジューム方法を図1に示す情報処理装置で実施する場合の処理を図11(b)に示す。
情報処理装置1の使用者が、情報処理装置1の電源を投入(ST101)したとき、不揮発性記憶手段103に格納されたプログラム実行時イメージを読み出し、揮発性記憶手段102に格納する(ST102)。
ここで、「プログラム」はOSであり、プログラム実行時イメージは、情報処理装置1にてOSが起動した状態で、揮発性記憶手段102内のプログラムに関連する領域の記憶内容を取得したものである。
プログラム実行時イメージを、不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納することにより、情報処理装置1を、プログラム実行時イメージを取得したときの状態にすることが可能となる。
プログラム実行時イメージを、不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納することにより、情報処理装置1を、プログラム実行時イメージを取得したときの状態にすることが可能となる。
次に、揮発性記憶手段102に格納したプログラム実行時イメージにより、初期処理(ST103)を行う。初期処理としては、例えば、ハードウエアの初期化、初期画面の表示、通信処理の初期化、配信サーバーとの接続などが考えられる。
以上の処理の後、情報処理装置1の起動が完了するため、通常動作(ST104)に移る。通常動作では、使用者による指示に応じて、再生する映像データ・音声データを選択したり、配信サーバーSVからの映像データ・音声データを受信・再生し、テレビやPCモニターへの映像出力・音声出力を行う。
なお、レジューム処理を行わない場合には、図11(c)に示すように、電源投入(ST111)に対して、プログラムをロードし(ST112)、プログラムを起動し(ST113)、初期処理(ST114)を行った後に通常処理(ST115)が開始される。従って、図11(b)のように、プログラム実行時イメージを、不揮発性記憶手段103から読み出し、揮発性記憶手段102に格納することにより、プログラムの起動時間を省けるため、情報処理装置1の高速化を図れる。
しかし、Linux OSやAndroid OSの実行時イメージのサイズは近年大きくなる傾向にあり、例えば、Android OSの場合、実行時イメージが200MByte程度となることもある。不揮発性記憶手段103の読み出し速度は、先に記載したように、揮発性記憶手段102への格納速度に比べて、一桁以上遅い。
このため、揮発性記憶手段102への格納よりも、揮発性記憶手段102からの読み出しが、情報処理装置1への起動時間に大きく影響する。例えば、不揮発性記憶手段103からの読み出し速度が、50MByte/秒程度、実行時イメージが200MByteのとき、実行時イメージの読み出しに、200MByte/(50MByte/秒)=4秒程度の時間がかかる。このため、実行時イメージの読み出し後に行われる初期処理が始まるまで、電源投入から4秒程度かかることになる。
上記の実施の形態では、図11(a)に示すように、第1のプログラム実行時イメージEM1よりサイズの小さい第2のプログラム実行時イメージEM2のロードST12により、第2のプログラムPG2を短時間で起動し、さらに、初期処理ST13と第1のプログラム実行時イメージEM1のロードST14を並行して実行するため、OSにより動作する情報処理装置1の起動を高速化することができる。
また、初期処理ST13が、ハードウエアの初期化を含む場合には、ハードウエアの初期化と、第1のプログラム実行時イメージEM1のロードを並行して実行するため、ハードウエアの初期化の処理時間を見かけ上短縮することができる。
さらに、初期処理ST13が、初期画面の表示を含む場合には、第1のプログラムPG1が起動する前の早い段階から、初期画面の表示が可能となる。
さらに、初期処理ST13が、通信処理の初期化を含む場合には、第1のプログラムPG1が起動する前の早い段階から、通信処理の初期化が可能となる。さらに情報処理装置1が、サーバーSVから配信される映像及び音声データを表示装置へ出力する装置である場合、第1のプログラムPG1が起動する前の早い段階から、サーバーSVとの接続を確立し、映像及び音声データの伝送に必要なパラメータを取得することができる。これにより、第1のプログラムPG1が起動してから、映像・音声の配信開始までの時間を短縮することができる。また、第1のプログラムPG1が起動する前の早い段階から、配信サーバーSVと通信を行い、操作画面を表示するための静止画データを取得することが可能となり、第1のプログラムPG1が起動してから操作画面が表示されるまでの時間が遅れることなく、操作画面を差し替えることができる。
第1のプログラムPG1と第2のプログラムPG2とで、揮発性記憶手段102内の初期処理用領域を共用することが可能となり、第2のプログラムPG2により実行した初期処理ST13の情報を効率よく第1のプログラムPG1に渡すことができる。これにより、あらかじめ取得しておいた第1のプログラム実行時イメージEM1と、初期処理ST13の結果の不整合を防ぐことも可能となる。例えば、初期処理ST13が初期画面の出力を含む場合で、HDMI経由で映像を出力する場合、情報処理装置1と映像の出力先であるTVまたはPCモニターとの間で、表示可能な解像度などの情報をネゴシエーションする。第2のプログラムPG2で得られたネゴシエーション結果の情報を、第1のプログラムPG1へ渡さないと、第1のプログラム実行時イメージEM1による処理に移った際に、正常に映像出力できない可能性がある。第1のプログラムPG1と第2のプログラムPG2とで、揮発性記憶手段102内の初期処理用領域を共用可能とすることで、第2のプログラムPG2で得られたネゴシエーション結果の情報を第1のプログラムPG1へ渡すことができ、あらかじめ取得しておいた第1のプログラム実行時イメージEM1と、初期処理ST13の結果の不整合を防ぎ、正常に映像出力することが可能となる。
実施の形態2.
図12は、実施の形態2における情報処理装置2の構成の一例を示す。この情報処理装置2は、図1の装置と概して同じであるが、アドレスリスト記憶手段201、及び書き込みマスク手段202が付加されている点で異なる。
図12は、実施の形態2における情報処理装置2の構成の一例を示す。この情報処理装置2は、図1の装置と概して同じであるが、アドレスリスト記憶手段201、及び書き込みマスク手段202が付加されている点で異なる。
CPU101は、電源投入時に、初期処理用アドレスリストALをアドレスリストとしてアドレスリスト記憶手段201に書き込む。
アドレスリスト記憶手段201は、CPU101により書き込まれたアドレスリストを保持する。
書き込みマスク手段202は、アドレスリスト記憶手段201に保持されたアドレスリストに含まれるアドレス情報で示される領域への書き込みを禁止して、揮発性記憶手段102の該当アドレス情報が更新されないようにする。
アドレスリスト記憶手段201は、CPU101により書き込まれたアドレスリストを保持する。
書き込みマスク手段202は、アドレスリスト記憶手段201に保持されたアドレスリストに含まれるアドレス情報で示される領域への書き込みを禁止して、揮発性記憶手段102の該当アドレス情報が更新されないようにする。
次に、実施の形態2の動作は、実施の形態1の動作と同様である。ただし、図2及び図6の代わりに、図13及び図14の処理を行う。
図13の処理は図2と概して同じであるが、ステップST11とステップST12の間にステップST16が挿入されている。ステップST16では、不揮発性記憶手段103に格納した初期処理用領域リストALのアドレス情報を読み出し、アドレスリスト記憶手段201にアドレスリストとして格納する。
図13の処理は図2と概して同じであるが、ステップST11とステップST12の間にステップST16が挿入されている。ステップST16では、不揮発性記憶手段103に格納した初期処理用領域リストALのアドレス情報を読み出し、アドレスリスト記憶手段201にアドレスリストとして格納する。
図14の処理は図6と概して同じであるが図6のステップST42が省略されており、ステップST41の後にステップS43の処理を行う。揮発性記憶手段102に格納するかどうかの判断は書き込みマスク手段202により行われる。即ち、アドレスリストに含まれるアドレス情報により示される領域への書き込みは禁止され、そのようなアドレス情報により示される領域に対しては、ステップST43の「格納」は実際には行われない。
ステップST16を付加したのは、電源投入時に、不揮発性記憶手段103に格納した初期処理用領域リストALのアドレス情報を読み出し、アドレスリスト記憶手段201に格納しておくためである。
ステップST16を付加したのは、電源投入時に、不揮発性記憶手段103に格納した初期処理用領域リストALのアドレス情報を読み出し、アドレスリスト記憶手段201に格納しておくためである。
情報処理装置を図12に示すように構成し、図6の処理の代わりに、図14の処理を行うことで、図2のステップS14の処理を高速化することが可能となり、情報処理装置2の起動をさらに高速化することができる。
1 情報処理装置、 2 情報処理装置、 101 CPU、 102 揮発性記憶手段、 103 不揮発性記憶手段、 104 映像・音声出力手段、 105 映像・音声処理手段、 106 通信手段、 107 入力手段、 108 CPUバス、 110 端子、 111 端子、 201 アドレスリスト記憶手段、 202 書き込みマスク手段。
Claims (20)
- 第1のプログラム実行時イメージ及び第2のプログラム実行時イメージ、並びに初期処理用領域リストを格納する不揮発性記憶手段と、
揮発性記憶手段と
を備えた情報処理装置の起動方法であって、
前記第1のプログラム実行時イメージは、前記情報処理装置の通常動作に必要な機能を備えた第1のOSの実行時イメージであり、
前記第2のプログラム実行時イメージは、
前記情報処理装置の初期処理を行う機能と、
前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して前記揮発性記憶手段に格納する機能と
を備えた第2のOSの実行時イメージであり、
前記情報処理装置が電源投入されたとき、
前記不揮発性記憶手段から、前記第2のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップと、
前記不揮発性記憶手段に格納された前記第2のプログラム実行時イメージにより、前記情報処理装置の前記初期処理を行うステップと、
前記初期処理と並行して、前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップと、
前記初期処理が完了し、かつ前記第1のプログラム実行時イメージの格納が完了した時点で、前記第2のプログラム実行時イメージによる処理を停止し、前記第1のプログラム実行時イメージによる処理を開始するステップとを備え、
前記初期処理を行うステップは、
前記揮発性記憶手段の領域割り当て要求に対して、前記初期処理用領域リストに含まれるアドレス情報に基づいて、前記揮発性記憶手段の前記第1のプログラム用領域内に領域割り当てを行うステップを備え、
前記不揮発性記憶手段から前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納するステップは、
前記初期処理用領域リストに含まれるアドレス情報により示される領域には、前記第1のプログラム実行時イメージを格納せず、
前記初期処理用領域リストに含まれるアドレス情報により示される領域以外の領域には、前記第1のプログラム実行時イメージを格納するステップを
備えることを特徴とするレジューム方法。 - 前記第1のプログラム実行時イメージの取得は、
第1のOSを前記揮発性記憶手段に格納するステップと、
前記揮発性記憶手段に格納された前記第1のOSを起動するステップと、
起動された前記第1のOSにより前記情報処理装置の処理期処理を行うステップと、
前記揮発性記憶手段から第1のプログラム実行時イメージを読みだすことにより、前記第1のプログラム実行時イメージを取得するステップと
を備え、
前記第1のOSによる前記初期処理を行うステップは、
前記揮発性記憶手段の領域割り当て要求に対して、前記揮発性記憶手段内の前記第1のプログラム用領域内に領域割り当てを行うステップと、
割り当てられた領域のアドレス情報を前記初期処理用領域リストに含まれるアドレス情報に追加して前記不揮発性記憶手段に格納するステップとを備える
ことを特徴とする請求項1に記載のレジューム方法。 - 前記第1のOSによる前記情報処理装置の前記初期処理が、前記第2のプログラム実行時イメージによる前記情報処理装置の前記初期処理と、同じ手順で同じ機能を実現するためのものであることを特徴とする請求項2に記載のレジューム方法。
- 前記第2のOSを前記揮発性記憶手段に格納するステップと、
前記揮発性記憶手段に格納された前記第2のOSを起動するステップと、
前記揮発性記憶手段から前記第2のプログラム実行時イメージを読み出すことにより、前記第2のプログラム実行時イメージを取得するステップと
をさらに備えることを特徴とする請求項1乃至3のいずれかに記載のレジューム方法。 - 前記第2のプログラム実行時イメージによる前記初期処理は、ハードウエアの初期化を含む
こと特徴とする請求項1乃至4のいずれかに記載のレジューム方法。 - 前記第2のプログラム実行時イメージによる前記初期処理は、初期画面の出力処理を含む
ことを特徴とする請求項1乃至5のいずれかに記載のレジューム方法。 - 前記第2のプログラム実行時イメージによる前記初期処理は、通信処理の初期化を含む ことを特徴とする請求項1乃至6のいずれかに記載のレジューム方法。
- 前記情報処理装置は、サーバーから配信される映像及び音声データを表示装置へ出力する装置であり、
前記通信処理の初期化は、前記サーバーと通信を行い、前記サーバーとの接続を確立し、映像及び音声データの伝送に必要なパラメーターを取得することを含む
ことを特徴とする請求項7に記載のレジューム方法。 - 前記通信処理の初期化は、前記サーバーと通信を行い、操作画面を表示するための静止画データを取得することを含む
ことを特徴とする請求項7又は8に記載のレジューム方法。 - 前記情報処理装置が、アドレスリスト記憶手段と書き込みマスク手段を備え、
電源投入時に前記初期処理用領域リストをアドレスとして前記アドレスリスト記憶手段に書き込むステップをさらに有し、
前記第2のプログラム実行時イメージの前記揮発性記憶手段への書き込みの際、前記アドレスリスト記憶手段に書き込まれたアドレスリストに含まれるアドレス情報により示される領域への書き込みが禁止される
ことを特徴とする請求項1乃至9のいずれかに記載のレジューム方法。 - 第1のプログラム実行時イメージ及び第2のプログラム実行時イメージ、並びに初期処理用領域リストを格納する不揮発性記憶手段と、
揮発性記憶手段と、
中央処理手段と
を備えた情報処理装置であって、
前記第1のプログラム実行時イメージは、前記情報処理装置の通常動作に必要な機能を備えた第1のOSの実行時イメージであり、
前記第2のプログラム実行時イメージは、
前記情報処理装置の初期処理を行う機能と、
前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して前記揮発性記憶手段に格納する機能を備えた第2のOSの実行時イメージであり、
前記中央処理手段は、
前記不揮発性記憶手段から、前記第2のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納し、
前記揮発性記憶手段に格納された前記第2のプログラム実行時イメージにより、前記初期処理を行い、
前記初期処理と並行して、前記不揮発性記憶手段に格納された前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納し、
前記初期処理が完了し、かつ前記第1のプログラム実行時イメージの格納が完了した時点で、前記第2のプログラム実行時イメージによる処理を停止し、前記第1のプログラム実行時イメージによる処理を開始し、
前記中央処理手段はまた、
前記第2のプログラム実行時イメージにより、前記初期処理を行う際に、
前記揮発性記憶手段の領域割り当て要求に対して、前記初期処理用領域リストに含まれるアドレス情報に基づいて、前記揮発性記憶手段内の前記第1のプログラム用領域内に領域割り当てを行い、
前記不揮発性記憶手段から前記第1のプログラム実行時イメージを読み出して、前記揮発性記憶手段に格納する際に、
前記初期処理用領域リストに含まれるアドレス情報により示される領域には、前記第1のプログラム実行時イメージを格納せず、
前記初期処理用領域リストに含まれるアドレス情報により示される領域以外の領域には、前記第1のプログラム実行時イメージを格納する
ことを特徴とする情報処理装置。 - 前記中央処理手段は、
第1のOSを前記揮発性記憶手段に格納し、
前記揮発性記憶手段に格納された前記第1のOSを起動し、
起動された前記第1のOSにより前記情報処理装置の初期処理を行い、
前記揮発性記憶手段から前記第1のプログラム実行時イメージを読み出す
ことにより前記第1のプログラム実行時イメージを取得し、
前記第1のOSにより前記初期処理を行う際に、
前記揮発性記憶手段の領域割り当て要求に対して、前記揮発性記憶手段の前記第1のプログラム用領域内に領域割り当てを行い、
割り当てられた領域のアドレス情報を前記初期処理用領域リストに含まれるアドレス情報に追加して前記不揮発性記憶手段に格納する
ことを特徴とする請求項11に記載の情報処理装置。 - 前記第1のOSによる前記情報処理装置の前記初期処理が、前記第2のプログラム実行時イメージによる前記情報処理装置の前記初期処理と、同じ手順で同じ機能を実現するためのものであることを特徴とする請求項12に記載の情報処理装置。
- 前記中央処理手段は、
前記第2のOSを前記揮発性記憶手段に格納し、
前記揮発性記憶手段に格納された前記第2のOSを起動し、
前記揮発性記憶手段から前記第2のプログラム実行時イメージを読み出す
ことにより前記第2のプログラム実行時イメージを取得する
ことを特徴とする請求項11乃至13のいずれかに記載の情報処理装置。 - 前記第2のプログラム実行時イメージによる前記初期処理は、ハードウエアの初期化を含むことを特徴とする請求項9乃至11のいずれかに記載の情報処理装置。
- 前記第2のプログラム実行時イメージによる前記初期処理は、初期画面の出力処理を含む
ことを特徴とする請求項11乃至15のいずれかに記載の情報処理装置。 - 前記第2のプログラム実行時イメージによる前記初期処理は、通信処理の初期化を含む
ことを特徴とする請求項11乃至16のいずれかに記載の情報処理装置。 - 前記情報処理装置は、サーバーから配信される映像及び音声データを表示装置へ出力する装置であり、
前記通信処理の初期化は、前記サーバーと通信を行い、前記サーバーとの接続を確立し、映像及び音声データの伝送に必要なパラメーターを取得することを含む
ことを特徴とする請求項17に記載の情報処理装置。 - 前記通信処理の初期化は、前記サーバーと通信を行い、操作画面を表示するための静止画データを取得する
ことを特徴とする請求項17又は18に記載の情報処理装置。 - 前記情報処理装置が、アドレスリスト記憶手段と書き込みマスク手段を備え、
前記中央処理装置は、
前電源投入時に前記初期処理用領域リストをアドレスリストとして前記アドレスリスト記憶手段に書き込み、
前記中央処理装置による前記第2のプログラム実行時イメージの前記揮発性記憶手段への書き込みの際、前記書き込みマスク手段が前記アドレスリスト記憶手段に書き込まれたアドレスリストに含まれるアドレス情報により示される領域への書き込みを禁止する
ことを特徴とする請求項11乃至19のいずれかに記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012256551A JP2014106546A (ja) | 2012-11-22 | 2012-11-22 | レジューム方法及び情報処理装置 |
EP13193061.2A EP2735965A3 (en) | 2012-11-22 | 2013-11-15 | Resume method and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012256551A JP2014106546A (ja) | 2012-11-22 | 2012-11-22 | レジューム方法及び情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014106546A true JP2014106546A (ja) | 2014-06-09 |
Family
ID=49619815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012256551A Pending JP2014106546A (ja) | 2012-11-22 | 2012-11-22 | レジューム方法及び情報処理装置 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2735965A3 (ja) |
JP (1) | JP2014106546A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018555A (ja) * | 2014-07-07 | 2016-02-01 | レノボ・シンガポール・プライベート・リミテッド | 動作環境の切換方法、コンピュータ、およびコンピュータ・プログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538540B (zh) * | 2019-01-18 | 2022-12-27 | 合肥杰发科技有限公司 | 一种加快嵌入式系统启动速度的方法及其嵌入式系统 |
CN110083467B (zh) * | 2019-04-30 | 2021-10-26 | 上海连尚网络科技有限公司 | 小程序消息的处理方法、设备和计算机存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631469B1 (en) * | 2000-07-17 | 2003-10-07 | Intel Corporation | Method and apparatus for periodic low power data exchange |
US6546472B2 (en) * | 2000-12-29 | 2003-04-08 | Hewlett-Packard Development Company, L.P. | Fast suspend to disk |
US7523323B2 (en) * | 2005-09-15 | 2009-04-21 | Intel Corporation | Method and apparatus for quick resumption |
US20070112899A1 (en) * | 2005-11-14 | 2007-05-17 | Edwards Matthew F | Method and apparatus for fast boot of an operating system |
JP4846553B2 (ja) | 2006-12-20 | 2011-12-28 | 株式会社東芝 | レジューム方法、プログラムおよび情報処理装置 |
US8694764B2 (en) * | 2011-02-24 | 2014-04-08 | Microsoft Corporation | Multi-phase resume from hibernate |
-
2012
- 2012-11-22 JP JP2012256551A patent/JP2014106546A/ja active Pending
-
2013
- 2013-11-15 EP EP13193061.2A patent/EP2735965A3/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016018555A (ja) * | 2014-07-07 | 2016-02-01 | レノボ・シンガポール・プライベート・リミテッド | 動作環境の切換方法、コンピュータ、およびコンピュータ・プログラム |
US9910677B2 (en) | 2014-07-07 | 2018-03-06 | Lenovo (Singapore) Pte. Ltd. | Operating environment switching between a primary and a secondary operating system |
Also Published As
Publication number | Publication date |
---|---|
EP2735965A3 (en) | 2015-01-14 |
EP2735965A2 (en) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI578225B (zh) | 移動裝置和使用交換其的資料管理方法 | |
US10860303B2 (en) | Selective operating system patching/updating | |
CN106131646B (zh) | 一种基于Android系统的开机视频处理方法及系统 | |
KR20110021200A (ko) | 영상 재생 장치의 부팅을 제어하는 방법 및 그 장치 | |
US20100095290A1 (en) | Game device and information processing apparatus | |
JP2006277472A (ja) | 情報処理装置 | |
JP2014106546A (ja) | レジューム方法及び情報処理装置 | |
JP2006268377A (ja) | プログラム起動制御装置及びプログラム起動制御方法 | |
CN109683983A (zh) | 一种镜像文件的生成及加载方法、设备 | |
CN103842962A (zh) | 用于改进计算设备的启动的方法 | |
JP5606249B2 (ja) | 映像再生装置及び起動方法 | |
US9104446B2 (en) | Broadcast receiving apparatus which performs start-up processing using software data confirmed to be initial-state software data by comparing versions in storage devices | |
US20130093778A1 (en) | Display apparatus and method for controlling the same | |
JP2010277578A (ja) | 電子装置及びそのブーティング方法 | |
CN101146191A (zh) | 应用于嵌入式系统的数据处理方法 | |
US10705886B2 (en) | Synchronization of hardware units in data processing systems | |
JP5452125B2 (ja) | データ処理装置及びデータ処理方法 | |
JP2014192656A (ja) | 情報処理装置及び起動方法 | |
JP4182928B2 (ja) | 情報処理装置、メモリ管理プログラムおよびメモリ管理方法 | |
WO2007049423A1 (ja) | コンピュータシステム、及びそれにおける基本プログラムの起動方法 | |
US20100211751A1 (en) | Program Execution Apparatus, Program Execution Method, and Program | |
JP6966568B2 (ja) | 情報処理システム及び情報処理システムによる情報処理方法 | |
US7346789B2 (en) | Multimedia reproducing apparatus having function for efficient use of memory | |
JP2005258967A (ja) | データ処理装置 | |
US11907761B2 (en) | Electronic apparatus to manage memory for loading data and method of controlling the same |