- - PR -
ユビキタスは2010年3月23日、LinuxやAndroidを搭載したさまざまな組み込み機器の瞬間起動を実現する新製品「Ubiquitous QuickBoot Release1.0(以下、QuickBoot)」の発売を開始した。
開発者向けに、システム状態を不揮発性ストレージに保存・復元する「QuickBootスナップショットスクリプト」「QuickBootスナップショットドライバ」「QuickBoot BIOS」のほか、メモリブロックの優先復元を制御する「QuickBoot IRA(Intelligent Resource Allocator)」「Kernel Patch」「ブートローダーサンプル」「マニュアル」などが含まれる「QuickBoot SDK」が提供される(表1)(表2)。
QuickBootは一般的なハイバネーション方式とは異なり、システム起動に必要なメモリ領域を優先的に不揮発性ストレージからRAMに復元することで、アプリケーション側で使用しているメモリ量に依存せずに瞬間起動を実現。残りのメモリ領域については、起動後に順次読み込みを行い、ユーザー操作にほとんど影響を与えないという特長がある。今回リリースされたSDKを用いることで、電源断からの起動(コールドブート)に数十秒から1分前後かかっていたシステム起動時間を大幅に短縮できるとし、Androidを使用した実装例では、電源投入からわずか1秒台で、アプリケーション実行状態まで復元。Androidの起動時間として“世界最速”をうたう(注)。
| 関連リンク: | |
| QuickBoot紹介動画 http://www.ubiquitous.co.jp/products/middleware/quickboot/ |
|
| ユビキタス、Androidを約1秒で瞬間起動 http://monoist.atmarkit.co.jp/fembedded/news/2009/11/10ubiquitous.html |
|
| 注:2010年3月現在、同社調べ(ストップウオッチによる測定)。測定環境:Android/Armadillo-500FX、使用RAMサイズ:105〜110Mバイト、RAMイメージサイズ:128Mバイト(イメージ非圧縮、XIP未使用)。 |
コンポーネント |
機能概略 |
提供形態 |
| QuickBootスナップショットスクリプト | Linux上で実行するシェルスクリプト。所望のアプリケーションを起動した後に、このシェルスクリプトを実行して、そのアプリケーションの実行状態を保存・復帰させる | Source |
| QuickBootスナップショットドライバ | 同ドライバでは、RAMイメージを不揮発性メモリへ書き込む処理、および周辺I/Oのレジスタ値の保存・復帰処理などを行う | Binary |
| QuickBoot BIOS/IRA | QuickBoot BIOSは、Linuxとは独立して動作し、不揮発性メモリへのアクセス処理を行う。また、QuickBoot IRAは、高速起動のコア機能で、次に必要なデータを不揮発性メモリから優先的に読み込む処理を制御 | Binary |
| Kernel Patch | QuickBootを適用するうえで必要なKernelへの変更部分をKernel Patchとして提供 | Source |
| ブートローダーサンプル | QuickBootを適用したブートローダーサンプルを提供 | Source |
種類 |
内容 |
| デベロッパーズマニュアル | QuickBoot機能概要、各種ツールの使用方法、QuickBootの適用方法など、QuickBootを実装する技術情報が記述されている |
| アプリケーションノート | QuickBootを実際にターゲットに適用するうえで考慮する必要のある、既存アプリケーションの変更点、カーネル、ユーザーランドのアップデート方法などを具体的に解説 |
以下、図1と図2にQuickBootの各コンポーネントの位置付けと実装フローについて示す。
![]() |
図1 Linux/AndroidにおけるQuickBootの各コンポーネントの位置付け |
![]() |
図2 QuickBoot実装フロー |
| QuickBootをターゲット環境に実装する場合、ターゲット環境に合わせて次の開発作業が必要になる。 [1]不揮発性メモリからRAMへQuickBoot BIOS/IRAを転送するコードをブートローダーへ組み込む。 [2]通常ブートとQuickBootの切り替え機能をブートローダーへ組み込む。 [3]QuickBootスナップショットスクリプトをターゲットアプリケーション環境に合わせてカスタマイズ。 [4]H/W依存部やI/Oレジスタを保存するための関数を開発。 [5]不揮発性メモリへのリード/ライトライブラリの作成。 [6]H/Wの初期化処理、I/Oレジスタなどの復元するための関数を開発。 ・Suspend/Resume(ACPI S4相当)対応のデバイスドライバをサポートしているデバイスがすでにサポートされている場合には、それを利用可能。 ・サポートしていない場合で、かつ、スナップショットイメージを取得時にデバイスをcloseできないI/Oに関しては、Suspend/Resume対応処理をデバイスドライバに追加が必要。 ・通常のI/Oであれば、QuickBoot起動後にドライバモジュールをinsmodすることでも対応可能。 |
QuickBootの採用が期待される分野として同社は、LinuxやAndroidを採用するケースが増えているTV、STB(セットトップボックス)、DVD/Blu-ray DiscレコーダなどのデジタルAV機器、カーナビなどの車載機器、スマートフォンやMIDをはじめとするタブレット型デバイスなどの携帯機器、ゲーム機、ネットブック/PC、デジタルカメラなどの、デジタル機器全般を掲げる。
現在、同SDKは、OSとしてLinuxカーネル 2.6.xを、CPUアーキテクチャとしてARMコア(ARM9、ARM11、Cortex-A8、Cortex-A9 Single Core)をサポート。今後、ほかのCPUアーキテクチャについても順次対応していく計画だという。
![]() |
| >>@IT MONOist「Android」コーナーはコチラ |
関連記事
組み込み開発フォーラム 新着記事
- フルスクラッチの“Hello World”を動かしてみよう(2011/3/31)
- FlexRayプロトコルの概要(その2)(2011/3/29)
- JASA、東北地域に拠点を置く会員企業を支援(2011/3/25)
- NEC、震災の影響を受けた4拠点の生産再開を発表(2011/3/23)
- 内部ブロック図の基礎と共通要素(2011/3/22)
- インテル、被災地におけるITインフラの復旧を支援(2011/3/22)
- Facts on AUTOSAR/AUTOSAR導入の現実(2011/3/18)
- 計測器・震災被害ホットラインを開設、テクトロニクス(2011/3/18)
- ZMP、地震の揺れを多角的に計測するアプリ無償配布(2011/3/16)
- メンター、3Dテレビ・マルチメディア検証プラットフォーム(2011/3/16)
- 【番外編】タチの良い計測値、悪い計測値とは?(2011/3/15)
- tarファイルシステムをAndroidに組み込む!!(2011/3/10)














