Submit Search
Upload
Firefox OS 起動の仕組みを調べてみた
•
13 likes
•
11,024 views
Muneaki Nishimura
Follow
2013年8月28日に開催される「関東Firefox OS勉強会 3rd ごった煮」の発表資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
GeckoのLocal Storageについて調べてみた
GeckoのLocal Storageについて調べてみた
Muneaki Nishimura
モバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチ
Kisato
4th tokushimaapp
4th tokushimaapp
健一 辰濱
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめ
Masami Yabushita
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
Takeshi Komiya
docxをmdで書こう
docxをmdで書こう
Yukimitsu Izawa
Fluentdcasual 02-haikanko
Fluentdcasual 02-haikanko
Naotoshi Seo
Sphinxで社内勉強会(Git)の 資料を作ってみた
Sphinxで社内勉強会(Git)の 資料を作ってみた
Taku SHIMIZU
Recommended
GeckoのLocal Storageについて調べてみた
GeckoのLocal Storageについて調べてみた
Muneaki Nishimura
モバイルOSとWeb標準とそれらへのアプローチ
モバイルOSとWeb標準とそれらへのアプローチ
Kisato
4th tokushimaapp
4th tokushimaapp
健一 辰濱
Fx OS n2_aoitan_firefox osことはじめ
Fx OS n2_aoitan_firefox osことはじめ
Masami Yabushita
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
ドキュメントを加速する作画ツール Blockdiag 2011/07 #infotalk
Takeshi Komiya
docxをmdで書こう
docxをmdで書こう
Yukimitsu Izawa
Fluentdcasual 02-haikanko
Fluentdcasual 02-haikanko
Naotoshi Seo
Sphinxで社内勉強会(Git)の 資料を作ってみた
Sphinxで社内勉強会(Git)の 資料を作ってみた
Taku SHIMIZU
Cent7@zabbix2.4を試す
Cent7@zabbix2.4を試す
masayoshi shiraishi
How to spread reST and Sphinx
How to spread reST and Sphinx
Takanori Suzuki
ひとりsphinx
ひとりsphinx
(^-^) togakushi
Sphinx GO!!
Sphinx GO!!
Go Yamada
Sphinxを使って本を書こう #pyconjp 2012
Sphinxを使って本を書こう #pyconjp 2012
Takayuki Shimizukawa
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
Iosif Takakura
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」
Noritada Shimizu
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
Go Yamada
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Takeshi Komiya
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
Takeshi Komiya
Sphinxの使い方事例
Sphinxの使い方事例
Go Yamada
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
Takeshi Komiya
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
Takeshi Komiya
Bot frameworkでbot入門
Bot frameworkでbot入門
Tsubasa Yoshino
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100
Go Yamada
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
Takeshi Komiya
Atnd地域検索作ったよー
Atnd地域検索作ったよー
Ohishi Mikage
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Takayuki Shimizukawa
Miku mikudance on-fxos-20130828
Miku mikudance on-fxos-20130828
Takashi Yasukawa
Firefox OS Updates 201308
Firefox OS Updates 201308
dynamis
More Related Content
What's hot
Cent7@zabbix2.4を試す
Cent7@zabbix2.4を試す
masayoshi shiraishi
How to spread reST and Sphinx
How to spread reST and Sphinx
Takanori Suzuki
ひとりsphinx
ひとりsphinx
(^-^) togakushi
Sphinx GO!!
Sphinx GO!!
Go Yamada
Sphinxを使って本を書こう #pyconjp 2012
Sphinxを使って本を書こう #pyconjp 2012
Takayuki Shimizukawa
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
Iosif Takakura
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」
Noritada Shimizu
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
Go Yamada
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Takeshi Komiya
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
Takeshi Komiya
Sphinxの使い方事例
Sphinxの使い方事例
Go Yamada
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
Takeshi Komiya
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
Takayuki Shimizukawa
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
Takeshi Komiya
Bot frameworkでbot入門
Bot frameworkでbot入門
Tsubasa Yoshino
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100
Go Yamada
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
Takeshi Komiya
Atnd地域検索作ったよー
Atnd地域検索作ったよー
Ohishi Mikage
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Takayuki Shimizukawa
What's hot
(20)
Cent7@zabbix2.4を試す
Cent7@zabbix2.4を試す
How to spread reST and Sphinx
How to spread reST and Sphinx
ひとりsphinx
ひとりsphinx
Sphinx GO!!
Sphinx GO!!
Sphinxを使って本を書こう #pyconjp 2012
Sphinxを使って本を書こう #pyconjp 2012
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
BPstudy#64 ドキュメントを作りたくなってしまう魔法のツール Sphinx 2012年版
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
Sphinxの使い方事例
Sphinxの使い方事例
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
Bot frameworkでbot入門
Bot frameworkでbot入門
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
Atnd地域検索作ったよー
Atnd地域検索作ったよー
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Viewers also liked
Miku mikudance on-fxos-20130828
Miku mikudance on-fxos-20130828
Takashi Yasukawa
Firefox OS Updates 201308
Firefox OS Updates 201308
dynamis
Fxos lt1 shino_merry_mhidaka
Fxos lt1 shino_merry_mhidaka
Masahiro Hidaka
Welcome to the Black Hole of Bug Bounty Program
Welcome to the Black Hole of Bug Bounty Program
Muneaki Nishimura
HTML5 Night 2014 Web x Network Technology ( WebRTC )
HTML5 Night 2014 Web x Network Technology ( WebRTC )
Kensaku Komatsu
PhoneGap Introduction
PhoneGap Introduction
Keisuke Todoroki
Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -
Masahiro Hidaka
Updates of socket.io@1.0
Updates of socket.io@1.0
Jxck Jxck
Fox Trot
Fox Trot
dynamis
HTML5 NIGHT 08. Web × パフォーマンス技術
HTML5 NIGHT 08. Web × パフォーマンス技術
Yoichiro Takehora
Chrome For HTML5NIGHT
Chrome For HTML5NIGHT
Takuya Oikawa
HTML5入門 for 頭がヤバい人向け
HTML5入門 for 頭がヤバい人向け
Kenichi Kanai
HPKP Supercookies (公開鍵ピンニングによるユーザ追跡)
HPKP Supercookies (公開鍵ピンニングによるユーザ追跡)
Muneaki Nishimura
IE8 滅びろ
IE8 滅びろ
彰 村地
Viewers also liked
(14)
Miku mikudance on-fxos-20130828
Miku mikudance on-fxos-20130828
Firefox OS Updates 201308
Firefox OS Updates 201308
Fxos lt1 shino_merry_mhidaka
Fxos lt1 shino_merry_mhidaka
Welcome to the Black Hole of Bug Bounty Program
Welcome to the Black Hole of Bug Bounty Program
HTML5 Night 2014 Web x Network Technology ( WebRTC )
HTML5 Night 2014 Web x Network Technology ( WebRTC )
PhoneGap Introduction
PhoneGap Introduction
Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -
Updates of socket.io@1.0
Updates of socket.io@1.0
Fox Trot
Fox Trot
HTML5 NIGHT 08. Web × パフォーマンス技術
HTML5 NIGHT 08. Web × パフォーマンス技術
Chrome For HTML5NIGHT
Chrome For HTML5NIGHT
HTML5入門 for 頭がヤバい人向け
HTML5入門 for 頭がヤバい人向け
HPKP Supercookies (公開鍵ピンニングによるユーザ追跡)
HPKP Supercookies (公開鍵ピンニングによるユーザ追跡)
IE8 滅びろ
IE8 滅びろ
Similar to Firefox OS 起動の仕組みを調べてみた
Firefox OS 一問一答
Firefox OS 一問一答
Kentaro Iizuka
関西Firefox os勉強会1st発表資料130615fin
関西Firefox os勉強会1st発表資料130615fin
yosuke_kirihata
関西Firefox OS勉強会 7th GIG LT
関西Firefox OS勉強会 7th GIG LT
hama_lab
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめ
Masami Yabushita
Heroku tips1
Heroku tips1
Shunji Konishi
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Noritada Shimizu
Firefox OSの何が嬉しいか
Firefox OSの何が嬉しいか
Takao Sumitomo
Plone features and trends
Plone features and trends
Takanori Suzuki
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
Hiro H.
Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活
dynamis
20150117 gunmaweb Firefox OSの紹介
20150117 gunmaweb Firefox OSの紹介
Akihiko Kigure
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
Kenta USAMI
20141115グンマーのヤボー
20141115グンマーのヤボー
Akihiko Kigure
Webアプリケーションセキュリティ ディスカッション資料
Webアプリケーションセキュリティ ディスカッション資料
Mitsuru Ogawa
Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版)
Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版)
星影 月夜
金沢Unity勉強会04 Unity開発Tips
金沢Unity勉強会04 Unity開発Tips
Yusuke Shima
20150822 osc島根
20150822 osc島根
Akihiko Kigure
Nseg3 firefoxとmozillaコミュニティの紹介
Nseg3 firefoxとmozillaコミュニティの紹介
hATrayflood
Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジー
dynamis
FireFoxOS?なにそれ?おいしいの?
FireFoxOS?なにそれ?おいしいの?
Makoto Nishimoto
Similar to Firefox OS 起動の仕組みを調べてみた
(20)
Firefox OS 一問一答
Firefox OS 一問一答
関西Firefox os勉強会1st発表資料130615fin
関西Firefox os勉強会1st発表資料130615fin
関西Firefox OS勉強会 7th GIG LT
関西Firefox OS勉強会 7th GIG LT
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめ
Heroku tips1
Heroku tips1
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OSの何が嬉しいか
Firefox OSの何が嬉しいか
Plone features and trends
Plone features and trends
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
わんくま同盟 名古屋勉強会 #43 ライトニングトーク「Firefoxがver.57~(Quantum)にアップグレードされて困ったこと・やったこと」
Firefox で快適 WordPress 生活
Firefox で快適 WordPress 生活
20150117 gunmaweb Firefox OSの紹介
20150117 gunmaweb Firefox OSの紹介
セキュリティ&プログラミングキャンプに行こう!
セキュリティ&プログラミングキャンプに行こう!
20141115グンマーのヤボー
20141115グンマーのヤボー
Webアプリケーションセキュリティ ディスカッション資料
Webアプリケーションセキュリティ ディスカッション資料
Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版)
Firefox OSがモテないのは どう考えてもお前らが悪い!(FxOS Gecko勉強会LT版)
金沢Unity勉強会04 Unity開発Tips
金沢Unity勉強会04 Unity開発Tips
20150822 osc島根
20150822 osc島根
Nseg3 firefoxとmozillaコミュニティの紹介
Nseg3 firefoxとmozillaコミュニティの紹介
Firefox と Mozilla のテクノロジー
Firefox と Mozilla のテクノロジー
FireFoxOS?なにそれ?おいしいの?
FireFoxOS?なにそれ?おいしいの?
More from Muneaki Nishimura
Find Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug Bounty
Muneaki Nishimura
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
Muneaki Nishimura
Firefoxの倒し方
Firefoxの倒し方
Muneaki Nishimura
Webプラットフォームのセキュリティ
Webプラットフォームのセキュリティ
Muneaki Nishimura
Firefoxの日和見暗号がカジュアルに無効化された話
Firefoxの日和見暗号がカジュアルに無効化された話
Muneaki Nishimura
Mozillaの報奨金制度で200万円ほど稼いだ話
Mozillaの報奨金制度で200万円ほど稼いだ話
Muneaki Nishimura
Mozillaの報奨金制度で100万円ほど稼いだ話
Mozillaの報奨金制度で100万円ほど稼いだ話
Muneaki Nishimura
Future of Web Security Opened up by CSP
Future of Web Security Opened up by CSP
Muneaki Nishimura
Welcome to the Black Hole of Bug Bounty Program Rebooted
Welcome to the Black Hole of Bug Bounty Program Rebooted
Muneaki Nishimura
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
Muneaki Nishimura
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
Muneaki Nishimura
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Muneaki Nishimura
More from Muneaki Nishimura
(12)
Find Blue Oceans - Through the Competitive World of Bug Bounty
Find Blue Oceans - Through the Competitive World of Bug Bounty
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
Firefoxの倒し方
Firefoxの倒し方
Webプラットフォームのセキュリティ
Webプラットフォームのセキュリティ
Firefoxの日和見暗号がカジュアルに無効化された話
Firefoxの日和見暗号がカジュアルに無効化された話
Mozillaの報奨金制度で200万円ほど稼いだ話
Mozillaの報奨金制度で200万円ほど稼いだ話
Mozillaの報奨金制度で100万円ほど稼いだ話
Mozillaの報奨金制度で100万円ほど稼いだ話
Future of Web Security Opened up by CSP
Future of Web Security Opened up by CSP
Welcome to the Black Hole of Bug Bounty Program Rebooted
Welcome to the Black Hole of Bug Bounty Program Rebooted
そろそろ押さえておきたい AngularJSのセキュリティ
そろそろ押さえておきたい AngularJSのセキュリティ
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Firefox OS パッケージ型アプリ インストールの仕組みを調べてみた
Recently uploaded
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(8)
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Firefox OS 起動の仕組みを調べてみた
1.
Firefox OS 起動の仕組みを調べてみた 関東Firefox
OS勉強会 3rd ごった煮 2013.8.28
2.
2 本日お話する内容 • Firefox OSの内部構造 •
Firefox OSが起動するまでの流れ
3.
3 自己紹介 本発表は私の個人的な調査に基づくものです。 内容に誤りがあるかもしれませんがご了承ください 名前 西村 宗晃
(にしむねあ) ・https://www.facebook.com/muneaki.nishimura 職業 セキュリティエンジニア ・セキュア開発のコンサルティング ・Android端末~アプリの開発支援
4.
4 求む!Geckoの勉強会を開いてくれる人 • Geckoの中身は複雑で素人には分からないことだらけ • ウェブでは情報が見つからなかったり、あっても古くて今の仕様と違ったり •
でも、自分で勉強会を開くのはなんだか大変そう • みんなで一緒にGeckoの中身を調べて きゃっきゃうふふ しませんか? (C) 2010 Mozilla Japan
5.
5 なぜ、起動処理? OSアーキテクチャの骨格が理解できるから • OSを構成するモジュールの概要や、それぞれの依存関係など セキュリティ的に重要な機能だから • 多くの処理がroot権限で動くのでよく狙われる •
Androidの場合、root化やカスタムROMの起動などに利用される
6.
6 Firefox OSの内部構造 Firefox OS
起動の仕組みを調べてみた
7.
7 3層構造① Gonk Gecko Gaia Firefox OSの標準UIおよび標準アプリ群。 全てのソフトはHTML/JS/CSSで開発(Webアプリ) Webアプリの実行環境。Firefoxブラウザのエンジンで あるGeckoを拡張し、Webアプリからデバイスの機能 を操作できるようにしたもの OSの基本機能を担当。また、ハードウェアの差異を吸 収し、デバイス上でGeckoを動作させる役割を担う
8.
8 3層構造② Gonk Gecko Gaia • 起動後スクリーンに表示されるものは全てGaia • オペレーターや端末メーカー独自の実装に差替可能 •
Gaiaの使用する機能は全てGeckoが提供 • 実装の大部分はPC版のFirefoxブラウザと共通 • 改変可能だがデメリットもある (Updateに伴うコスト、MPLによる改変コードの開示義務) • 低水準OS + GeckoのHAL • HALは使用するハードウェアに応じて改変可能、 ただしOSの差し替えは現実的に困難
9.
9 3層構造をもう少しだけ分解 Gonk Gecko Gaia Chrome XULRunner Systemアプリ その他アプリ群 Linux Kernel Android Misc.
10.
10 Chrome XULRunner Systemアプリ その他アプリ群 Linux Kernel Android Misc. Gonk •
主目的はGeckoのChromeプロセスの起動 • 中身はほぼLinux KernelとAndroid 改変や追加したコード(図中のMisc.)は100kB以下 Androidのappprocessやsurfaceflingerは使わないので systemイメージから抜いている Androidアーキテクチャとの整合性を取るための機能を追加 ⁃ fakeperm : パーミッションチェックを全てOKでパスさせるスタブ ⁃ rilproxy : 電話アプリ以外からrildにアクセスするためのプロキシ
11.
11 Chrome XULRunner Systemアプリ その他アプリ群 Linux Kernel Android Misc. XULRunner •
Cross PlatformのHTML/XULパーサおよびレンダラ FirefoxブラウザをOS毎に個別開発せず済むように開発された Geckoレンダリングエンジンを内包 • ブラウザの画面自体もレンダリングできる Firefoxブラウザのウィンドウ(Chrome)もXULのドキュメント • XULRunnerには2種類ある Firefoxブラウザの内部に組み込まれたPrivateなXULRunner スタンドアロンアプリの開発を可能とするPublicなXULRunner
12.
12 Chrome XULRunner Systemアプリ その他アプリ群 Linux Kernel Android Misc. Chrome •
簡単に言うとブラウザウィンドウのこと FirefoxブラウザのChrome ⁃ chrome://browser/content/browser.xul ⁃ アドレスバーや戻るボタンがある ⁃ コンテンツ領域にWebページを表示する Firefox OSのChrome ⁃ chrome://browser/content/shell.xul ⁃ 何の装飾も無い黒塗りのウィンドウ※ ⁃ iframeでWebアプリを表示する ※ v1.1はApp Manifestのchromeフィールドを定義することで、そのアプリが前面で開かれている間のみ戻るボタンなどを表示できます
13.
13 Chrome XULRunner Systemアプリ その他アプリ群 Linux Kernel Android Misc. Systemアプリ •
スマホとしての基本機能を提供するアプリ ウィンドウ制御、電力管理、画面ロック、通知など 他のアプリを起動する処理も担う • Chromeプロセス上で動作する Chromeプロセス:Firefox OSの基幹プロセス ⁃ システムに1つだけ存在、root権限で動作 Geckoの重要な機能はChromeプロセス上で実行される ⁃ アプリのインストールや起動 ⁃ ほとんどのハードウェアを制御
14.
14 Chrome XULRunner Systemアプリ その他アプリ群 Linux Kernel Android Misc. その他のアプリ群 •
Gaia標準のプリインストールアプリ群 カメラ、ブラウザ、カレンダー、メーラーなど • Contentプロセス上で動作する※ Contentプロセス:権限の制限されたアプリ用のプロセス ⁃ 1アプリに付き1プロセス割り当てられる ⁃ アプリが落ちてもOSを巻き込まない Firefoxブラウザのplugin-containerプロセスの仕組みを流用 ⁃ plugin-containerとはFlash等のプラグインを表示する専用プロセス ⁃ プラグインが落ちてもブラウザを巻き込まない ※ 現在、ブラウザアプリはChromeプロセスで動作しています (恐らくBug 761935が原因)
15.
15 Firefox OSが起動するまでの流れ Firefox OS
起動の仕組みを調べてみた
16.
16 Gonk Gecko Gaia 起動の順序(ざっくり) Chrome XULRunner Systemアプリ その他アプリ群 Linux Kernel Android Misc. 下から上に起動
17.
17 Gonkの起動処理 Linux Kernel を起動 Androidのsurfaceflingerや zygoteなどは起動しない Chromeプロセス を開始 Gecko を起動 fakeperm, rilproxyを起動 Androidのrild,
vold, netd, mediaserverなどを起動 Androidのinitプロセス を開始 init.b2g.rc をロード init.rc をロード Firefox OSのみ • zygote(全Androidアプリの親プロセス)の代わりにChromeプロセスを起動 ⁃ Dalvik VM(Java仮想マシン)の代わりにGeckoを起動
18.
18 Geckoの起動処理 • Binderを初期化 • XPCOMをプリロード •
起動ロゴを表示 XULRunnerを起動Firefox OS固有部分を初期化 • XPCOMを初期化 • プロファイルをロード • 各種サービスを初期化 • プリファレンス※を初期化 • Chrome(shell.xul)をロード • ブラウザウィンドウを描画 • iframeを生成しホームURL をロード (Chrome) Chromeを描画 ※ プリファレンス:Firefoxブラウザのアドレスバーに about:config と入力すると表示されるやつです
19.
19 Gaiaの起動処理 • CSS(Gaia-UI Building
Blocksなど)をロード • OS起動ロゴを表示 • 各機能(Window Managerなど)とUIを初期化 Chromeのスタートページ(ホームURL)として Systemアプリのindex.htmlを開く Homescreenアプリをロードして完了
20.
20 まとめ ① Firefox OSの3層構造:Gonk,
Gecko, Gaia • Gonk → Gecko → Gaiaの順に起動 ② Geckoから後の起動処理はWebブラウザーの概念そのまま • ブラウザウィンドウ(Chrome)を開く • ホームURLとしてSystemアプリを開く • 全てのアプリはiframe上のコンテンツ ③ どなたかGeckoの勉強会を開いて下さい! • 今日はこれを言うために来ました
Download now