JP7107069B2 - Information processing device and startup method - Google Patents
Information processing device and startup method Download PDFInfo
- Publication number
- JP7107069B2 JP7107069B2 JP2018142987A JP2018142987A JP7107069B2 JP 7107069 B2 JP7107069 B2 JP 7107069B2 JP 2018142987 A JP2018142987 A JP 2018142987A JP 2018142987 A JP2018142987 A JP 2018142987A JP 7107069 B2 JP7107069 B2 JP 7107069B2
- Authority
- JP
- Japan
- Prior art keywords
- snapshot
- activation
- creation
- unit
- priority
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、情報処理装置及び起動方法に関する。 The present invention relates to an information processing device and a startup method.
情報処理装置の省電力化と起動の高速化を可能にするハイバネーションと言う方法は従来から知られている。 A method called hibernation has been conventionally known, which enables power saving of an information processing apparatus and speeding up of start-up.
ハイバネーションは、メモリ内容やCPU等のハードウェアの設定など、情報処理装置が動作中の状態情報について、スナップショットと呼ばれるデータを作成し、不揮発性の記憶媒体に保存した後、情報処理装置をシャットダウンする。次回の起動において、情報処理装置は、不揮発性の記憶媒体に保存しておいたスナップショット(スナップショットイメージ)を使用し、シャットダウン前のシステム状態を復元することで、動作中のシステム中断と、起動および再開の高速化を可能にしている(例えば特許文献1参照)。
Hibernation creates data called a snapshot of the status information during operation of the information processing device, such as the contents of memory and hardware settings such as the CPU, and saves it in a non-volatile storage medium before shutting down the information processing device. do. At the next start-up, the information processing device uses the snapshot (snapshot image) saved in the non-volatile storage medium to restore the system state before shutdown, thereby interrupting the system during operation and It enables speeding up of startup and restart (see
従来のハイバネーションは、シャフトダウン前にハイバネーションのスナップショットを作成するが、スナップショットの作成時間が掛かるため、シャフトダウンに即応性の求められる情報処理装置での使用に不向きであった。このため、シャフトダウンに即応性の求められる情報処理装置では固定のスナップショットを予め作成しておくことで、シャフトダウン前のスナップショットの作成を無くすことが考えられる。 In the conventional hibernation, a hibernation snapshot is created before shaft-down, but it takes time to create the snapshot, so it is not suitable for use in information processing devices that require quick response to shaft-down. For this reason, in an information processing apparatus that requires responsiveness to shaft down, it is conceivable to create a fixed snapshot in advance, thereby eliminating the need to create a snapshot before shaft down.
しかしながら、固定のスナップショットを予め作成しておく情報処理装置では、そのスナップショットの作成時と周辺機器の有無や有効無効が異なる環境で使用することができず、環境の変化に柔軟に対応できないという問題があった。 However, an information processing device in which a fixed snapshot is created in advance cannot be used in an environment where the presence or absence of peripheral devices or whether the device is enabled or disabled is different from when the snapshot was created, and cannot flexibly respond to changes in the environment. There was a problem.
本発明の実施の形態は上記の点に鑑みなされたもので、固定のスナップショットによるハイバネーション起動であっても、環境の変化に柔軟に対応できる情報処理装置を提供することを目的とする。 The embodiments of the present invention have been devised in view of the above points, and it is an object of the present invention to provide an information processing apparatus that can flexibly cope with environmental changes even with hibernation activation based on a fixed snapshot.
上記目的を達成するため、本願請求項1は、ハイバネーション起動を行う情報処理装置であって、スナップショット作成起動又はスナップショット起動を選択する選択手段と、前記スナップショット作成起動の選択時に1つ以上のアプリケーションの起動処理を開始させる起動手段と、前記起動処理におけるスナップショットの作成時点が設定されており、前記作成時点まで起動処理を進めたあとで通知を行う1つ以上のアプリケーションと、前記アプリケーションの全てから前記通知を受け取ったあと、スナップショットの作成指示を行う作成指示手段と、前記作成指示に基づき、スナップショットを作成する作成手段と、前記スナップショットを記憶する記憶手段と、前記スナップショット起動の選択時に前記記憶手段が記憶する前記スナップショットを読み出し、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させる開始指示手段と、を有すること、を特徴とする。
In order to achieve the above object,
本発明の実施の形態によれば、固定のスナップショットによるハイバネーション起動であっても、環境の変化に柔軟に対応できる。 According to the embodiment of the present invention, it is possible to flexibly respond to changes in the environment even with hibernation startup using a fixed snapshot.
次に、本発明の実施の形態について説明する。本実施形態では画像処理装置の操作部として機能する情報処理装置がハイバネーション起動を行う例について説明する。画像処理装置は組み込み機器の一例であって、MFP(Multifunction Peripheral)等である。ただし、情報処理装置はこれに限定されず、アプリケーションがインストール可能な機器であれば良く、例えば、MFPの本体部2や電子黒板、プロジェクタ、パーソナルコンピュータ、スマートフォンやタブレット端末などの携帯端末であっても良い。 Next, an embodiment of the invention will be described. In this embodiment, an example in which an information processing apparatus functioning as an operation unit of an image processing apparatus performs hibernation startup will be described. An image processing device is an example of an embedded device, such as an MFP (Multifunction Peripheral). However, the information processing device is not limited to this, and any device on which an application can be installed may be used. Also good.
[第1の実施形態]
<ハードウェア構成>
図1は本実施形態に係る画像処理装置の一例の構成図である。図1の画像処理装置1はケーブル4によりデータ通信可能に接続された本体部2と操作部3とを備える。なお、本体部2と操作部3は、ケーブル4による有線接続に代えて、無線(赤外線を含む)接続としてもよい。本体部2は、本体部コントローラの制御により、スキャナデバイスによる原稿の読み取りや、プロッタデバイスによる用紙への印刷を行う。
[First Embodiment]
<Hardware configuration>
FIG. 1 is a configuration diagram of an example of an image processing apparatus according to this embodiment. The
操作部3は、SOC(System-on-a-chip)10と、タッチパネル12と、eMMC(embedded Multi Media Card)14と、LCD(Liquid Crystal Display)16と、メモリ18とを有する。SOC10は1個のチップに、USB(Universal Serial Bus)ファンクション20、CPU(Central Processing Unit)22、MMCコントローラ24、LCDコントローラ26、GPIO(General Purpose Input/Output)28、I2C(Inter-Integrated Circuit)30、及び、メモリコントローラ32を備える。
The
SOC10は操作部3のシステムとして機能するように設計されている。SOC10は組み込み用マルチメディアカードであるeMMC14からブートする構成であり、eMMC14の特定箇所に置かれたブートローダからシステムをブートする。ブートローダはeMMC14のファイルパーティション上に置かれたカーネルおよびルートファイルシステムをロードし、カーネルを起動する。
The SOC 10 is designed to function as a system for the
なお、後述するように本実施形態に係る操作部3は、スナップショット作成起動又はスナップショット起動を行う。スナップショット作成起動の場合、操作部3はカーネルの起動後、後述するようなスナップショット作成起動の処理により作成したスナップショットを不揮発性の記憶媒体であるeMMC14に記憶させる。
As will be described later, the
また、スナップショット起動の場合、操作部3はカーネルの起動後、後述するようなスナップショット起動の処理により、eMMC14に記憶させたスナップショットをメモリ18に展開し、ハイバネーション起動を行う。本実施形態に係る画像処理装置1は例えば工場出荷前にスナップショット作成起動を行って、eMMC14にスナップショットを記憶しておく。そして、工場出荷後、本実施形態に係る画像処理装置1は通常の電源オンからの起動でスナップショット起動を行う。したがって、本実施形態に係る画像処理装置1はシャフトダウン時にスナップショットを作成する場合に生じる電源がなかなか落ちないというような不自然な状態にならない。
In the case of snapshot activation, after the kernel is activated, the
タッチパネル12はユーザから操作を受け付ける。LCD16は画面表示を行う。メモリ18は、プログラムやデータを一時保持する揮発性の記憶媒体の一例である。CPU22はeMMC14などの記憶媒体からプログラムやデータをメモリ18に展開し、処理を実行することで、操作部3の制御や機能を実現する。
The
なお、本体部2と操作部3とは図1に示したように別筐体内に設けてもよいし、同一匡体内に設けてもよい。例えば本体部2の筐体と別の匡体内に設けられ、本体部2から分離可能な操作部3は無線接続にすることで、本体部2から分離したまま利用するというような利用形態が可能となる。
The
<ソフトウェア構成>
本実施形態に係る操作部3は例えば図1のハードウェア構成上でプログラムを実行することにより、図2に示すような各種機能を実現できる。図2は本実施形態に係る操作部の一例の機能構成図である。図2に示す操作部3はブートローダ50、OS(オペレーティングシステム)52、アプリ起動部54、アプリケーション56、スナップショットマネージャ58、スナップショット作成起動選択部60及びスナップショット記憶部62を実現している。
<Software configuration>
The
ブートローダ50はスナップショット作成起動判断部70及び起動動作制御部72を有する。スナップショット作成起動判断部70は電源オンからの起動がスナップショット作成起動であるか、スナップショット起動であるか、を判断する。起動動作制御部72はスナップショット作成起動判断部70による判断に基づき、起動動作を制御する。
The
OS52はカーネル74を有する。また、カーネル74は、スナップショット作成起動判断部76、スナップショット作成起動動作制御部78、スナップショット作成指示受付部80、スナップショット作成部82及びスナップショット起動動作制御部84を有している。
OS 52 has
スナップショット作成起動判断部76は電源オンからの起動がスナップショット作成起動であるか、スナップショット起動であるか、を判断する。スナップショット作成起動動作制御部78はスナップショット作成起動である場合に、スナップショット作成起動動作を制御する。
A snapshot creation
スナップショット作成指示受付部80はスナップショットマネージャ58からスナップショット作成指示を受け付ける。スナップショット作成部82はスナップショット作成指示受付部80がスナップショットマネージャ58からスナップショット作成指示を受け付けると、スナップショットの作成を行う。また、スナップショット起動動作制御部84はスナップショット起動である場合に、スナップショット起動動作を制御する。
A snapshot creation
アプリ起動部54は例えば「init」により実現される。アプリ起動部54はカーネルの起動後の最初のプロセスであり、例えば「init.rc」などの設定ファイルに従い、1つ以上のアプリケーション56を起動していく。アプリケーション56は起動処理部86、スナップショット作成時点通過通知部88及びスナップショット起動開始指示受付部90を有する。
The
起動処理部86はアプリケーション56の起動処理を行う。スナップショット作成時点通過通知部88は起動処理の開始から終了までの間にスナップショットを作成するタイミング(スナップショット作成時点)を設計上、持っている。スナップショット作成時点通過通知部88は起動処理がスナップショット作成時点まで進んだタイミングで、スナップショットマネージャ58に通知を行う。つまり、スナップショット作成時点とは、複数の処理から成る起動処理のうち所定の処理まで終了した状態であること、又は終了したタイミングのことである。以下では、所定の処理まで終了すること、又は終了したタイミングを、スナップショット作成時点まで進む、又はスナップショット作成時点の通過と表現する場合がある。なお、起動処理部86はスナップショット作成時点まで進んだタイミングで起動処理を停止する。また、スナップショット起動開始指示受付部90はスナップショット起動である場合に、スナップショットマネージャ58からのスナップショット起動開始指示を受け付け、スナップショット作成時点以降の起動処理である継続起動を行う。
The
スナップショットマネージャ58はスナップショット作成指示部92、及び、スナップショット起動開始指示部94を有する。スナップショット作成指示部92は全てのアプリケーション56からスナップショット作成時点通過通知を受け付けると、カーネル74にスナップショット作成指示を行う。
The
スナップショット起動開始指示部94は、スナップショット起動である場合に、アプリケーション56にスナップショット起動開始指示を行う。
The snapshot activation start instructing
なお、スナップショットマネージャ58は、操作部3のeMMC14などの記憶部を読み出すことで、又はアプリケーション56のインストール状況を制御するプログラムに問い合わせることで、操作部3にインストールされたアプリケーション56を把握しても良い。また、操作部3にインストールされた複数のアプリケーションのうち、スナップショット作成に必要なアプリケーション56のみを特定しても良い。この場合、スナップショット作成指示部92は、特定したアプリケーション56からスナップショット作成時点通知を受け付けると、カーネル74にスナップショット作成指示を行い、スナップショット起動開始指示部94は、スナップショット起動である場合に、特定したアプリケーション56にスナップショット起動開始指示を行う。
Note that the
スナップショット作成起動選択部60は電源オンからの起動が、スナップショット作成起動であるか、スナップショット起動であるか、を選択する。例えばスナップショット作成起動選択部60はGPIO28に接続されたDIPスイッチ(ディップスイッチ)等により、電源オンからの起動が、スナップショット作成起動であるか、スナップショット起動であるか、を選択する。ただし、スナップショット作成起動であるかスナップショット起動であるかの選択方法は、これに限定されず、例えば、記憶部に記憶されたフラグ情報に基づいて操作部3の起動が初回起動であるか否かを判断し、初回起動である場合はスナップショット作成起動を選択し、初回起動でない場合はスナップショット起動を選択しても良い。カーネル74のスナップショット作成部82に作成されたスナップショットはスナップショット記憶部62に記憶される。
A snapshot creation
<処理の詳細>
本実施形態に係る操作部3は、例えば図3に示すような手順により電源オンからの起動処理を行う。図3は本実施形態に係る電源オンからの起動処理の一例のフローチャートである。
<Details of processing>
The
ステップS11において、操作部3はスナップショット作成起動選択部60による電源オンからの起動処理の選択がスナップショット作成起動であるか、スナップショット起動であるか、を確認する。電源オンからの起動処理の選択がスナップショット作成起動であれば、操作部3はステップS13のスナップショット作成起動を行う。また、電源オンからの起動処理の選択がスナップショット作成起動でなければ、操作部3はステップS14のスナップショット起動を行う。
In step S<b>11 , the
ステップS13のスナップショット作成起動は、例えば図4に示すような手順により行われる。図4は、ステップS13のスナップショット作成起動の一例のフローチャートである。 Activation of snapshot creation in step S13 is performed, for example, by a procedure as shown in FIG. FIG. 4 is a flowchart of an example of snapshot creation activation in step S13.
ステップS21においてブートローダ50が起動される。ブートローダ50の起動動作制御部72はスナップショット作成起動の起動動作を開始する。ステップS22において起動動作制御部72はOS52のカーネル74をロードし、起動する。カーネル74はOS52を起動する。また、ステップS23に進み、カーネル74はアプリ起動部54を起動する。
The
ステップS24に進み、アプリ起動部54は設定ファイルに従い、スナップショットマネージャ58を起動する。アプリ起動部54はステップS25に進み、設定ファイルに従い、アプリケーション56に起動処理を開始させる。ステップS25のアプリケーション56の起動処理により、スナップショットマネージャ58のスナップショット作成指示部92は全てのアプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングで、カーネル74にスナップショット作成指示を行う。したがって、カーネル74のスナップショット作成部82は、ステップS26において全てのアプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングで、スナップショットを作成できる。
Proceeding to step S24, the
ステップS25のアプリケーション56の起動処理は、例えば図5に示す手順により行われる。図5は、ステップS25のアプリケーションの起動処理の一例のフローチャートである。
The activation process of the
ステップS31に進み、起動処理部86は起動処理を開始する。起動処理部86は起動処理をスナップショット作成時点まで進め、起動処理を停止する。起動処理部86による起動処理がスナップショット作成時点まで進むと、スナップショット作成時点通過通知部88はスナップショットマネージャ58にスナップショット作成時点通過通知を行う。
Proceeding to step S31, the
スナップショットマネージャ58のスナップショット作成指示部92はステップS33において、全てのアプリケーション56からスナップショット作成時点通過通知を受け付けるまで待機する。全てのアプリケーション56からスナップショット作成時点通過通知を受け付けると、スナップショット作成指示部92はステップS34に進み、カーネル74にスナップショット作成指示を行う。
In step S33, the snapshot
スナップショット作成部82はスナップショットマネージャ58からスナップショット作成指示を受け付けたタイミングで、スナップショットの作成を行う。したがって、本実施形態の操作部3は、全てのアプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングのスナップショットを安定して作成できる。
The
ところで、本実施形態に係る画像処理装置1では、スナップショット作成起動時、余計なデバイスドライバの処理を排除しておくことが望ましい。本実施形態に係る画像処理装置1では、スナップショット起動時に実際の環境に合わせてデバイスを有効にする方法が整合した起動状態となりやすい為である。
By the way, in the
そこで、本実施形態に係る画像処理装置1では、画像処理装置1のデバイス構成及びデバイスドライバ構成により、スナップショット作成起動時の状態が、画像処理装置1のデバイスの起動状態に依存しないようにデバイスドライバごとに検討を行った。本実施形態に係る画像処理装置1ではステップS21のブートローダ起動に含まれるデバイス処理の動作を、スナップショット作成起動時とスナップショット起動時とで以下のように変化させる。
Therefore, in the
また、本実施形態に係る画像処理装置1ではステップS22のOS起動に含まれるデバイスドライバ処理の動作を、スナップショット作成起動時とスナップショット起動時とで以下のように変化させる。
Further, in the
図6はステップS21のブートローダ起動の一例のフローチャートである。例えば図6のフローチャートは、スナップショット作成起動時、ハブ(HUB)のPHYチップの電源をオンしないで、USB機器が繋がっていても物理的に認識しないようにする。PHYチップの電源をオンしないことで、USBホストドライバ自体は初期化された状態にすることができる。また、スナップショット起動時、ハブのPHYチップの電源をオンにすることで、USB機器の接続が検知される状態にすることができる。 FIG. 6 is a flowchart of an example of boot loader startup in step S21. For example, the flowchart in FIG. 6 does not turn on the power of the PHY chip of the hub (HUB) at the time of starting snapshot creation, so that even if a USB device is connected, it is not physically recognized. By not turning on the PHY chip, the USB host driver itself can be initialized. Also, when the snapshot is activated, by turning on the power of the PHY chip of the hub, the connection of the USB device can be detected.
ステップS51に進み、ブートローダ50の起動動作制御部72はメモリ18やCPU22の初期化を行う。ステップS52に進み、起動動作制御部72は後述の各デバイス処理を行う。ステップS53に進み、ブートローダ50はOS起動処理を開始する。
Proceeding to step S<b>51 , the startup
ステップS52の各デバイス処理では、起動動作制御部72がUSBホストを含む、いろいろなデバイスの初期化を行う。USBホストの初期化では、ステップS56においてスナップショット作成起動であるか否かを判定し、スナップショット作成起動であれば、ハブのPHYチップの電源をオンしないことによりUSB機器を物理的に認識させないようにする。
In each device process in step S52, the startup
スナップショット作成起動でなければステップS57に進み、起動動作制御部72はハブのPHYチップの電源をオンすることにより、USB機器の接続が検知される状態とすることができる。USBホストのハブのPHYチップの電源制御は単純な電源の入り切りのため、ブートローダ50で処理する。
If it is not snapshot creation activation, the process proceeds to step S57, and the activation
図7はステップS22のOS起動の一例のフローチャートである。例えば図7のフローチャートは、スナップショット作成起動時、無線LANモジュールに電源供給しないことでデバイスドライバが有効にならないようにする。また、スナップショット起動時、無線LANモジュールに電源供給することでデバイスドライバが有効になるようにする。 FIG. 7 is a flowchart of an example of OS startup in step S22. For example, the flowchart in FIG. 7 prevents the device driver from becoming effective by not supplying power to the wireless LAN module when snapshot creation is activated. Also, when the snapshot is activated, the device driver is enabled by supplying power to the wireless LAN module.
ステップS61に進み、カーネル74はOS52の初期化を行う。ステップS62に進み、カーネル74は後述の各デバイスドライバ処理を行う。ステップS63に進み、カーネル74は初期プロセス起動を開始する。
Proceeding to step S61, the
ステップS62の各デバイスドライバ処理では、カーネル74が無線LANドライバ及びタッチパネルドライバを含む、いろいろなデバイスドライバの初期化を行う。無線LANドライバの初期化では、ステップS67においてスナップショット作成起動であるか否かを判定し、スナップショット作成起動であれば、無線LANモジュールに電源供給しないことにより無線LANドライバが有効にならないようにする。
In each device driver process in step S62, the
スナップショット作成起動でなければステップS68に進み、カーネル74は無線LANモジュールに電源供給することで無線LANモジュールが検知される状態となり、デバイスドライバが初期化され、有効となる。
If it is not snapshot creation activation, the process proceeds to step S68, and the
また、図7のフローチャートは、スナップショット作成起動時、タッチパネル12の入力検知を無効化して起動する。また、スナップショット起動時、タッチパネル12の入力検知を有効化して起動する。ステップS62のタッチパネルドライバの初期化は例えば図8に示すフローチャートのように行われる。
Further, the flowchart of FIG. 7 is started by invalidating the input detection of the
図8は、ステップS62のタッチパネルドライバの初期化の一例のフローチャートである。ステップS71においてカーネル74は、タッチパネル12及びタッチパネルドライバを初期化する。タッチパネルドライバの初期化では、ステップS72においてスナップショット作成起動であるか否かを判定する。スナップショット作成起動であれば、タッチパネル12の入力検知を無効化して起動する。スナップショット作成起動でなければ、ステップS73に進み、カーネル74はタッチパネル12の入力検知(割り込み)を有効化する。図7に示した無線LANドライバの初期化及び図8に示したタッチパネルドライバの初期化はカーネル74で処理する。
FIG. 8 is a flowchart of an example of initialization of the touch panel driver in step S62. In step S71, the
図6に示したブートローダ機能及び図7に示したOS起動によれば、画像処理装置1に固有な各デバイス処理及び各デバイスドライバ処理を行うことで、スナップショット作成時に余計な処理を行うことなく、構成に中立なスナップショットを作成できる。例えば画像処理装置1は、追加オプションによりUSB機器の指紋認証デバイスが繋がるケースがある。
According to the boot loader function shown in FIG. 6 and the OS activation shown in FIG. , you can create configuration-neutral snapshots. For example, the
このような場合、本実施形態に係る画像処理装置1では、スナップショット作成起動で指紋認証デバイスが有効にならず、その指紋認証デバイスのデバイスドライバを有効にしない状態でスナップショットを作成できる。つまり、本実施形態に係る画像処理装置1ではデバイスドライバによるメモリ専有などの副作用のない状態で、スナップショットを作成できる。また、本実施形態に係る画像処理装置1ではスナップショット起動で指紋認証デバイスが有効になり、指紋認証デバイスの接続が検知される状態となるため、後述のドライバ環境対応及び継続起動により、指紋認証デバイスを動作させることができる。
In such a case, in the
ステップS14のスナップショット起動は、例えば図9の手順により行われる。図9はステップS14のスナップショット起動の一例のフローチャートである。 The snapshot activation in step S14 is performed according to the procedure of FIG. 9, for example. FIG. 9 is a flowchart of an example of snapshot activation in step S14.
ステップS81においてブートローダ50が起動される。ブートローダ50の起動動作制御部72はスナップショット起動の起動動作を開始する。ステップS82において起動動作制御部72はOS52のカーネル74をロードし、起動する。カーネル74はOS52を起動する。
The
ステップS83に進み、カーネル74のスナップショット起動動作制御部84はeMMC14に記憶されているスナップショットをメモリ18に展開し、ハイバネーション起動を行う。つまり、メモリ18には、アプリケーション56の起動処理がスナップショット作成時点まで進んだタイミングのメモリ18が再現される。
Proceeding to step S83, the snapshot activation
ステップS84に進み、スナップショット起動動作制御部84は画像処理装置1の環境に依存する機能の整合をドライバ環境対応で行う。スナップショット起動動作制御部84はステップS85に進み、スナップショット作成時点以降のアプリケーション56の起動処理である継続起動を行う。
Proceeding to step S84, the snapshot activation
ステップS85の継続処理は、例えば図10に示す手順により行われる。図10は、ステップS85の継続処理の一例のフローチャートである。スナップショットマネージャ58のスナップショット起動開始指示部94は、ステップS91でスナップショット起動が開始されたと判定すると、ステップS92に進む。
The continuation process of step S85 is performed according to the procedure shown in FIG. 10, for example. FIG. 10 is a flowchart of an example of the continuation process of step S85. When the snapshot activation start instructing
ステップS92において、スナップショット起動開始指示部94はアプリケーション56にスナップショット起動開始指示を行う。アプリケーション56のスナップショット起動開始指示受付部90はステップS93において、スナップショットマネージャ58からのスナップショット起動開始指示を待っている。
In step S92, the snapshot activation start instructing
スナップショットマネージャ58からのスナップショット起動開始指示を受け付けるとアプリケーション56の起動処理部86は、ステップS94に進み、スナップショット作成時点以降の起動処理である継続起動を行う。
Upon receiving a snapshot activation start instruction from the
<まとめ>
本実施形態によれば、固定のスナップショットによるハイバネーション起動を行う画像処理装置1の操作部3において、周辺機器の有無や有効無効などの環境の変化に影響を受けないようにスナップショットを作成しておくことができる。ハイバネーション起動では固定のスナップショットをメモリ18に展開した後、環境に依存する機能の整合をドライバ環境対応で行ったあと、残りの起動処理である継続起動を行うことができる。
<Summary>
According to this embodiment, in the
したがって、本実施形態によれば、固定のスナップショットによるハイバネーション起動であっても、環境の変化に柔軟に対応できる操作部3を提供できる。
Therefore, according to the present embodiment, it is possible to provide the
[第2の実施形態]
第1の実施形態に係る画像処理装置1では、工場出荷前にスナップショット作成起動を行って、工場出荷後、通常の電源オンからの起動でスナップショット起動を行う例を説明した。スナップショット作成起動は工場出荷後に行ってもよく、アプリケーション56の追加や周辺機器の追加などの環境の変化があった場合に、ユーザがスナップショット作成起動を選択できるようにしてもよい。
[Second embodiment]
In the
また、スナップショット作成後に操作部3に追加された(インストールされた)追加アプリケーションの起動処理は、ステップS85の継続起動において、起動処理の開始から終了までを行うようにすることで、追加アプリケーションが追加される前に作成済みのスナップショットを継続して利用するようにしてもよい。
Further, the activation process of the additional application added (installed) to the
[第3の実施形態]
図10に示したスナップショット作成時点以降のアプリケーション56の起動処理である継続起動では、アプリケーション56が複数ある場合、スナップショット起動開始指示を行う順番を以下のように設定しておいてもよい。なお、第3の実施形態は一部を除いて第1の実施形態と同様であるため、適宜説明を省略する。第3の実施形態は、第1の実施形態と同様に、画像処理装置1の操作部3がハイバネーション起動を行う。
[Third Embodiment]
In continuous activation, which is the activation process of the
図11は本実施形態に係る操作部の他の例の機能構成図である。図11の操作部3は図2の操作部3に、優先度記憶部64、優先度取得部93及び優先度変更部95が追加された構成である。
FIG. 11 is a functional configuration diagram of another example of the operation unit according to this embodiment. The
アプリケーション56のスナップショット作成時点通過通知部88は起動処理がスナップショット作成時点まで進んだタイミングで、スナップショットマネージャ58に自身の優先度の通知を行う。なお、スナップショット作成時点通過通知部88は、設計時に各アプリケーション56の間で依存性などを解決できるように整合が取られた優先度を持っている。
The snapshot creation point
スナップショットマネージャ58は、図2のスナップショットマネージャ58の構成に優先度取得部93及び優先度変更部95を追加した構成である。優先度取得部93はアプリケーション56から優先度の通知を受ける。通知された優先度はアプリケーション56と対応付けて優先度記憶部64に記憶される。スナップショット作成指示部92は全てのアプリケーション56から優先度の通知を受け付けると、カーネル74にスナップショット作成指示を行う。
The
スナップショット起動開始指示部94は、スナップショット起動である場合に、アプリケーション56の優先度に従った順番にスナップショット起動開始指示を行う。優先度変更部95はアプリケーション56を介してユーザから優先度の変更依頼を受け付け、優先度記憶部64に記憶されたアプリケーション56の優先度を変更する。
In the case of snapshot activation, the snapshot activation
図12はステップS25のアプリケーションの起動処理の他の例のフローチャートである。ステップS101において「アプリケーションA」の起動処理部86は起動処理を開始する。起動処理部86は起動処理をスナップショット作成時点まで進め、起動処理を停止する。起動処理部86による起動処理がスナップショット作成時点まで進むと「アプリケーションA」のスナップショット作成時点通過通知部88はステップS102において自身の優先度「2」をスナップショットマネージャ58に通知する。
FIG. 12 is a flow chart of another example of the application activation process in step S25. In step S101, the
また、ステップS103において「アプリケーションB」の起動処理部86は起動処理を開始する。起動処理部86は起動処理をスナップショット作成時点まで進め、起動処理を停止する。起動処理部86による起動処理がスナップショット作成時点まで進むと「アプリケーションB」のスナップショット作成時点通過通知部88はステップS104において自身の優先度「1」をスナップショットマネージャ58に通知する。
Further, in step S103, the
ステップS105において、スナップショットマネージャ58の優先度取得部93はアプリケーション56からの優先度の通知を受け付けるまで待機する。アプリケーション56から優先度の通知を受け付けると、優先度取得部93はステップS106に進み、通知された優先度を優先度記憶部64の優先度キューへ挿入する。
In step S<b>105 , the
ステップS105~S107の処理は、全てのアプリケーション56から優先度の通知を受け付けるまで繰り返される。全てのアプリケーション56から優先度の通知を受け付けると、スナップショット作成指示部92はステップS108に進み、カーネル74にスナップショット作成指示を行う。
The processing of steps S105 to S107 is repeated until priority notifications are received from all
図13は優先度キューの一例の構成図である。優先度キューはアプリケーション56の優先度を表している。例えば図13(a)の優先度キューは優先度毎にアプリケーション数を記憶したデータである。優先度の数値が低いアプリケーション56ほど、優先的に起動される。図13(b)の優先度キューはアプリケーション56を特定するアプリ名やアプリIDなどの情報(アプリ特定情報)と、そのアプリケーション56の優先順位とを対応付けてアプリケーション56の優先度を記憶したデータである。
FIG. 13 is a configuration diagram of an example of a priority queue. The priority queue represents the priority of
また、図13(c)の優先度キューはアプリケーション56ごとの起動条件によりアプリケーション56の優先度を記憶したデータである。図13(c)の優先度キューの場合は、起動条件が設定されていないアプリケーション56の優先度が高く、起動条件が設定されているアプリケーション56の優先度が低い。したがって、図13(c)の場合は起動条件が設定されていないアプリケーション56を起動した後、起動条件が設定されているアプリケーション56を起動させる。
Also, the priority queue in FIG. 13C is data storing the priority of the
図14は、eMMCに記憶されるスナップショットイメージ及び優先度キューの一例の構成図である。スナップショットイメージには、スナップショット作成部82がスナップショットの作成を行ったとき、メモリ18に展開されたアプリケーション56やスナップショットマネージャ58が含まれている。
FIG. 14 is a configuration diagram of an example of snapshot images and priority queues stored in the eMMC. The snapshot image includes the
一方、図13に示した優先度キューはスナップショットイメージに含まれず、eMMC14のスナップショットイメージと別のパーティションに保存される。スナップショット起動時、eMMC14のスナップショットイメージは、アプリケーション56やスナップショットマネージャ58としてメモリ18に展開される。スナップショットイメージがメモリ18に展開された段階ではメモリ18に優先度キューが展開されていなくてもよい。
On the other hand, the priority queue shown in FIG. 13 is not included in the snapshot image, and is stored in a partition separate from the snapshot image of the
図15はステップS85の継続処理の他の例のフローチャートである。図15の継続処理においてスナップショットマネージャ58のスナップショット起動開始指示部94はeMMC14から優先度キューを読み出し、メモリ18に展開する。ステップS121~S128において、スナップショット起動開始指示部94は優先度キューに従い、優先度の高いアプリケーション56から順番に起動処理の再開通知を行う。スナップショット起動開始指示部94からの再開通知を受け付けると、アプリケーション56の起動処理部86はスナップショット作成時点以降の起動処理である継続起動を行う。継続起動を完了させたアプリケーション56は完了通知をスナップショットマネージャ58に返す。
FIG. 15 is a flow chart of another example of the continuation process of step S85. 15, the snapshot activation start instructing
スナップショットマネージャ58のスナップショット起動開始指示部94は全てのアプリケーション56から完了通知を受け取るまでステップS121~S128に示した再開通知の送信と完了通知の受信を繰り返し行う。なお、図15は「アプリケーションB」の優先度が「アプリケーションA」の優先度よりも高い例を表している。このため、スナップショット起動開始指示部94は「アプリケーションA」よりも先に「アプリケーションB」へ再開通知を行っている。
The snapshot activation start instructing
なお、優先度が同じアプリケーション56が複数ある場合、スナップショット起動開始指示部94は複数のアプリケーション56に対して同時に再開通知を送信し、並列して継続起動を行わせてもよい。また、CPU22の負荷を軽減するために、並列して継続起動を行わせるアプリケーション56の数を制限したり、ランダム又は所定の条件(継続起動に要する時間や必要なメモリ容量など)に基づいて、再開通知に時間差を設けたり、してもよい。
Note that if there are a plurality of
図16は、優先度変更処理の一例のフローチャートである。ステップS131~S132において、スナップショットマネージャ58の優先度変更部95はユーザから「アプリケーションA」の優先度を「1」に変更する変更依頼を受け付ける。ステップS133において優先度変更部95は「アプリケーションA」の優先度を「1」に変更する変更依頼に基づき、優先度記憶部64に記憶されている優先度キューの「アプリケーションA」の優先度を「1」に変更する。これにより、スナップショット起動開始指示部94は変更された優先度キューに従い、起動処理の再開通知を行うことができる。
FIG. 16 is a flowchart of an example of priority change processing. In steps S131 and S132, the
第3の実施形態によれば、固定のスナップショットによるハイバネーション起動において起動する順番に依存性のあるアプリケーション56の継続起動の順番を、それぞれのアプリケーション56の優先度により調整できる。また、第3の実施形態によれば、固定のスナップショットによるハイバネーション起動において特定のアプリケーション56の継続起動を優先できるので、ユーザの体感起動の短縮を見込むことのできる例えばホーム画面を制御するアプリケーション56などを優先させて起動できる。
According to the third embodiment, the order of continuous activation of
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば画像処理装置1は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもないことである。
The invention is not limited to the specifically disclosed embodiments above, but various modifications and changes are possible without departing from the scope of the claims. For example, the
スナップショット作成起動選択部60は、特許請求の範囲に記載した選択手段の一例である。ブートローダ50、OS52及びアプリ起動部54は、起動手段の一例である。スナップショットマネージャ58のスナップショット作成指示部92は作成指示手段の一例である。カーネル74のスナップショット作成部82は作成手段の一例である。
The snapshot creation
スナップショット記憶部62は記憶手段の一例である。スナップショットマネージャ58のスナップショット起動開始指示部94は開始指示手段の一例である。優先度取得部93は優先度取得手段の一例である。優先度変更部95は優先度変更手段の一例である。
The
1 画像処理装置
2 本体部
3 操作部
4 ケーブル
10 SOC(System-on-a-chip)
12 タッチパネル
14 eMMC(embedded Multi Media Card)
16 LCD(Liquid Crystal Display)
18 メモリ
20 USB(Universal Serial Bus)ファンクション
22 CPU(Central Processing Unit)
24 MMCコントローラ
26 LCDコントローラ
28 GPIO(General Purpose Input/Output)
30 I2C(Inter-Integrated Circuit)
32 メモリコントローラ
50 ブートローダ
52 OS
54 アプリ起動部
56 アプリケーション
58 スナップショットマネージャ
60 スナップショット作成起動選択部
62 スナップショット記憶部
64 優先度記憶部
70 スナップショット作成起動判断部
72 起動動作制御部
74 カーネル
76 スナップショット作成起動判断部
78 スナップショット作成起動動作制御部
80 スナップショット作成指示受付部
82 スナップショット作成部
84 スナップショット起動動作制御部
86 起動処理部
88 スナップショット作成時点通過通知部
90 スナップショット起動開始指示受付部
92 スナップショット作成指示部
93 優先度取得部
94 スナップショット起動開始指示部
95 優先度変更部
REFERENCE SIGNS
12
16 LCD (Liquid Crystal Display)
18
24
30 I2C (Inter-Integrated Circuit)
32
54
Claims (9)
スナップショット作成起動又はスナップショット起動を選択する選択手段と、
前記スナップショット作成起動の選択時に1つ以上のアプリケーションの起動処理を開始させる起動手段と、
前記起動処理におけるスナップショットの作成時点が設定されており、前記作成時点まで起動処理を進めたあとで通知を行う1つ以上のアプリケーションと、
前記アプリケーションの全てから前記通知を受け取ったあと、スナップショットの作成指示を行う作成指示手段と、
前記作成指示に基づき、スナップショットを作成する作成手段と、
前記スナップショットを記憶する記憶手段と、
前記スナップショット起動の選択時に前記記憶手段が記憶する前記スナップショットを読み出し、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させる開始指示手段と、
を有する情報処理装置。 An information processing device that performs hibernation startup,
a selection means for selecting snapshot creation activation or snapshot activation;
activation means for starting activation processing of one or more applications when the snapshot creation activation is selected;
one or more applications for which a snapshot creation time point in the activation process is set, and which notifies after the activation process has proceeded to the creation time point;
creation instruction means for instructing creation of a snapshot after receiving the notifications from all of the applications;
creation means for creating a snapshot based on the creation instruction;
storage means for storing the snapshot;
start instruction means for reading the snapshot stored in the storage means when the snapshot activation is selected, and instructing the application to start the activation process after the time of creation, thereby completing the activation process of the application;
Information processing device having
前記開始指示手段は、前記優先度取得手段が前記スナップショット作成起動の選択時に取得した1つ以上のアプリケーションの優先度に基づいた順番で、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させること
を特徴とする請求項1記載の情報処理装置。 priority acquisition means for acquiring priority of one or more applications when the snapshot creation activation is selected;
The start instruction means instructs the applications to start the activation process after the time of creation in an order based on the priority of one or more applications acquired by the priority acquisition means when the snapshot creation activation is selected. 2. The information processing apparatus according to claim 1, wherein the activation process of the application is completed by performing.
を特徴とする請求項2記載の情報処理装置。 A priority changing means for changing the priority of one or more applications obtained by the priority obtaining means when the snapshot creation activation is selected, based on a change request received from a user. Item 3. The information processing apparatus according to item 2.
前記ブートローダは、ブート処理時にデバイス処理の対象となる1つ以上のデバイスのうち、予め設定されたデバイスについて、前記スナップショット作成起動の選択時、前記デバイスを認識しないように制御を行い、前記スナップショット起動の選択時、前記デバイスを認識するように制御を行うこと、を特徴とする請求項1乃至3何れか一項記載の情報処理装置。 the booting means includes a bootloader;
The boot loader controls a preset device among one or more devices targeted for device processing during boot processing so that the device is not recognized when the snapshot creation activation is selected, and the snapshot 4. The information processing apparatus according to any one of claims 1 to 3, wherein control is performed so as to recognize the device when shot activation is selected.
前記オペレーティングシステムは、オペレーティングシステムの起動処理時にデバイスドライバ処理の対象となる1つ以上のデバイスドライバのうち、予め設定されたデバイスドライバについて、前記スナップショット作成起動の選択時、前記デバイスドライバを有効にしないように制御を行い、前記スナップショット起動の選択時、前記デバイスドライバを有効にするように制御を行うこと、を特徴とする請求項1乃至4何れか一項記載の情報処理装置。 the booting means includes an operating system;
The operating system activates a preset device driver among one or more device drivers to be subjected to device driver processing during boot processing of the operating system, when the snapshot creation boot is selected. 5. The information processing apparatus according to any one of claims 1 to 4, wherein control is performed so that the device driver is enabled when the snapshot activation is selected.
を特徴とする請求項1乃至6何れか一項記載の情報処理装置。 The additional application that has not been installed in the information processing apparatus when the snapshot creation activation is selected executes the activation process after the activation process start instruction is given when the snapshot activation is selected. 7. The information processing apparatus according to any one of claims 1 to 6.
を特徴とする請求項1乃至7何れか一項記載の情報処理装置。 8. The information processing apparatus according to claim 1, wherein the information processing apparatus functions as an operation section of an image processing apparatus.
スナップショット作成起動又はスナップショット起動を選択するステップと、
前記スナップショット作成起動の選択時に1つ以上のアプリケーションの起動処理を開始させるステップと、
前記起動処理におけるスナップショットの作成時点が設定されている1つ以上のアプリケーションが、前記作成時点まで起動処理を進めたあとで通知を行うステップと、
前記アプリケーションの全てから前記通知を受け取ったあと、スナップショットの作成指示を行うステップと、
前記作成指示に基づき、スナップショットを作成する作成ステップと、
前記スナップショットを記憶手段に記憶するステップと、
前記スナップショット起動の選択時に前記記憶手段が記憶する前記スナップショットを読み出し、前記アプリケーションに前記作成時点以降の前記起動処理の開始指示を行うことで前記アプリケーションの起動処理を完了させるステップと、
を有する起動方法。 A booting method for an information processing device that performs hibernation booting, comprising:
selecting snapshot creation activation or snapshot activation;
initiating a launch process for one or more applications upon selection of said snapshot creation launch;
one or more applications for which a snapshot creation time point in the activation process is set, notifying after the activation process has proceeded to the creation time point;
After receiving the notifications from all of the applications, issuing a snapshot creation instruction;
a creation step of creating a snapshot based on the creation instruction;
storing said snapshot in a storage means;
a step of reading the snapshot stored in the storage means when the snapshot activation is selected, and instructing the application to start the activation process after the time of creation, thereby completing the activation process of the application;
Start method with
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/366,249 US10838740B2 (en) | 2018-03-30 | 2019-03-27 | Information processing apparatus and startup method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018068494 | 2018-03-30 | ||
JP2018068494 | 2018-03-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019185717A JP2019185717A (en) | 2019-10-24 |
JP7107069B2 true JP7107069B2 (en) | 2022-07-27 |
Family
ID=68341528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018142987A Active JP7107069B2 (en) | 2018-03-30 | 2018-07-30 | Information processing device and startup method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7107069B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360191B (en) * | 2020-03-03 | 2022-05-27 | 杭州海康威视数字技术股份有限公司 | Driving device of network switching chip |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038546A (en) | 2002-07-03 | 2004-02-05 | Fuji Xerox Co Ltd | Start control method, start control system, and image processor |
JP2005284491A (en) | 2004-03-29 | 2005-10-13 | Mitsubishi Electric Corp | Computer startup time reduction method |
WO2006001050A1 (en) | 2004-06-24 | 2006-01-05 | Fujitsu Limited | Computer activating method, program, recording medium, and information processing apparatus |
US20130124842A1 (en) | 2011-11-15 | 2013-05-16 | Samsung Electronics Co., Ltd. | Image forming apparatus and method of booting image forming apparatus having hibernation function |
JP2014178913A (en) | 2013-03-15 | 2014-09-25 | Sony Corp | Electronic apparatus, method of creating snapshot image, and program |
JP2017162311A (en) | 2016-03-10 | 2017-09-14 | 富士通株式会社 | Smart device, priority processing method, and priority processing program |
-
2018
- 2018-07-30 JP JP2018142987A patent/JP7107069B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038546A (en) | 2002-07-03 | 2004-02-05 | Fuji Xerox Co Ltd | Start control method, start control system, and image processor |
JP2005284491A (en) | 2004-03-29 | 2005-10-13 | Mitsubishi Electric Corp | Computer startup time reduction method |
WO2006001050A1 (en) | 2004-06-24 | 2006-01-05 | Fujitsu Limited | Computer activating method, program, recording medium, and information processing apparatus |
US20130124842A1 (en) | 2011-11-15 | 2013-05-16 | Samsung Electronics Co., Ltd. | Image forming apparatus and method of booting image forming apparatus having hibernation function |
JP2014178913A (en) | 2013-03-15 | 2014-09-25 | Sony Corp | Electronic apparatus, method of creating snapshot image, and program |
JP2017162311A (en) | 2016-03-10 | 2017-09-14 | 富士通株式会社 | Smart device, priority processing method, and priority processing program |
Also Published As
Publication number | Publication date |
---|---|
JP2019185717A (en) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230143143A1 (en) | Information processing apparatus, control method therefor, and storage medium | |
US11307633B2 (en) | Information processing apparatus, control method thereof, and storage medium | |
EP2799952B1 (en) | Information processing system, information processing apparatus and start up control method | |
EP1873638A1 (en) | Portable apparatus supporting multiple operating systems and supporting method therefor | |
JP7069826B2 (en) | Information processing equipment, firmware update method, program | |
EP2750034B1 (en) | Electronic device having updatable bios and bios updating method thereof | |
US10838740B2 (en) | Information processing apparatus and startup method | |
JP6207295B2 (en) | Printing apparatus and control method thereof | |
JP7107069B2 (en) | Information processing device and startup method | |
JP2013092940A (en) | Electronic apparatus and power control method for the same | |
US11797292B2 (en) | Information processing apparatus using swap file, control method therefor, and storage medium | |
JP6501595B2 (en) | IMAGE FORMING APPARATUS, CONTROL METHOD THEREOF, AND PROGRAM | |
US10198270B2 (en) | Dynamic hardware configuration via firmware interface at computing device boot | |
US9742945B2 (en) | Image forming apparatus to store activation application specifying information that specifies an application to be activated on the operating system of the operation unit in response to the image forming apparatus entering a given state, image forming system, and image forming method | |
US20230132214A1 (en) | Information processing apparatus and method of the same | |
US10148838B2 (en) | Image forming apparatus, startup method, and non-transitory recording medium for storing computer readable program | |
JP5524148B2 (en) | Computer equipment | |
US20130191623A1 (en) | Information processing apparatus, control method therefor, and storage medium | |
JP6842641B2 (en) | Image forming device | |
JP6959153B2 (en) | Information processing equipment, information processing methods, and programs | |
JP6758995B2 (en) | Image processing device, its control method, and program | |
US11977801B2 (en) | Image processing apparatus, control method, and storage medium | |
US20220261236A1 (en) | Communication device and control method | |
JP3320338B2 (en) | Computer and its system reconfiguration apparatus and method | |
JP6974072B2 (en) | Information processing equipment, programs and information processing methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210520 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220513 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220627 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7107069 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |