狠狠撸

狠狠撸Share a Scribd company logo
Firefox OSのアーキテクチャと
構成技術について
Makoto Kato
Technical Adviser, Mozilla Japan
About Mozilla
About Mozilla

?

?

Mozilla Foundationは
AOL/Netscapeから2003年
に分離した非営利組織
主なプロダクト
?
?
?

Firefox (Web Browser)
Thunderbird (Mail Client)
Firefox OS (Mobile OS)
Firefox OSのアーキテクチャと構成技術
“Our mission is to promote
openness, innovation &
opportunity on the Web”
ARM Platform上での取り組み
— NokiaのMaemo

/ MeeGo PlatformでのWebブラ
ウザ (Firefoxベース)
— NVIDIAのTegra 1上でのWindows CE用Webブラ
ウザ
— Android版Firefox
Firefox OS

7
Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術
Firefox OS
— 2011年から開始されたプ

ロジェクト
— コードネーム Boot to
Gecko (B2G)
— HTML5を用いたモバイル
OS
— ブラウザエンジンのみのシ
ンプルな構成
— オープンソースにて開発
— 開発中のソースコード
も公開
Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術
Firefox OSのアーキテクチャと構成技術
Architecture

Firefox OS Presentation Title
HTML対応を表明している従来型OS

Native
Application

Native
Application

Core Libraries

HTML
Application

HTML
Application

Web Runtime
(ex. WebKit / Blink / Trident)

Core Libraries & GUI Toolkit

Kernel
Firefox OS / B2G

HTML
Application

HTML
Application

HTML
Application

HTML
Application

Web Runtime + Core Libraries
Kernel
Basic Architecture of B2G

Gaia

Gecko
Gonk

? UX/UIを提供
? アプリケーション

? Web APIs
? ネットワークアクセス
? HTML/CSS レンダリング
? Linux
? Drivers / Daemon (MediaServer / RIL etc)
Gaia
— Firefox

OSでのアプリケーション層
— Web Stack (HTML / CSS / WebGL /
JavaScript)で書かれる
— Home screen
— Browser
— Mail
— Camera
— Gallery etc
— APIによって利用できる権限が異なる
— Web App
— Privileged App
— Certified App
UI Framework – Building Blocks
Gecko = Rendering Engine & APIs

Gecko
JavaScript Rendering
Engine
? HTML
? CSS
? SVG
? MathML
? WebGL

Web API

Networking Security

? Device
access

? HTTP
? SSL / TLS
? WebSocket
? WebRTC

? Permission
Gecko
— Firefox

(デスクトップ版 / Android版) でも利用さ
れているレンダリングエンジン
— デスクトップ版で実装されているものは基本す
べて利用可能
— アプリケーションから利用できるAPIはすべてこ
こで実装される
— Firefox OSではいくつかのデバイスアクセスの機
能が追加されている
— RIL, Bluetooth, Wifi and etc
Gonk = Linux kernel + user space / library

wpa_supplicant

RIL damon

Other daemons

Linux Kernel
Device

Libraries
(Bionic /
OpenGL ES /
etc)

Etc…
Gonk

— Linux kernel + User space Library + Daemon
— Daemonはデバイスアクセスのため
— User space LibraryにはAndroidのソースコードを

利用
— すべてではなくGeckoを動かすための最小限の
構成
Process Model

Application

Main
Process
(b2g)

Application

Application

Content
Process

Content
Process

Content
Process

Kernel/HAL - Gonk
Process Model

各アプリケーションはContent Process上で独立して動作
ハードウェアデバイスやカーネルにアクセスする役目は
Main Processが担当
— Main ProcessとContent ProcessはIPCを利用して相互通
信
— Content Processがデバイスにアクセスする際にはIPCに
てMain Processと通信
— アプリケーション間通信もMain Processを通じてIPCを
利用
—
—
Porting Firefox OS / B2G to your devices
— ビルドシステムはAndroidベース
— ドライバ層はAndroidと同様
— Firefox OS 1.0/1.1 = Android 4.0 (ICS)
— Firefox OS 1.2+ = Android 4.0 (ICS) or

Android

4.3 (JB)
— Gralloc / OpenGL ES 2 / libstagefright /
OpenMAX / etc
— カーネルはLinuxのためinitを利用して独自プロセ
スを起動することも可能
Schedule

CY
2013Q2
2013Q4
2014Q1?
2014Q2?
(4半期毎)

Firefox OS version
1.0.1
1.1
1.2
1.3
…

Gecko version
18
18
26
28
…+2
References
Firefox OS
— http://www.mozilla.org/ja/firefox/os/
— Firefox OS description
— https://developer.mozilla.org/en-US/Firefox_OS
— Roadmap
— https://wiki.mozilla.org/B2G/Roadmap
— Porting Guide
— https://developer.mozilla.org/en-US/Firefox_OS/Porting
— Firefox OSコミュニティ
— http://fxos.org/
—
Thank you

More Related Content

What's hot (17)

PDF
20141018 osc tokyo_fall_firefox osってなぁに?
Masami Yabushita
?
PDF
Web App Platform Firefox
dynamis
?
PDF
Firefox OS Updates 201311
dynamis
?
PDF
関東Firefox OS勉強会6th「Firefox OS」
Noritada Shimizu
?
PDF
Firefox OS @ ABC2013A
dynamis
?
PDF
Firefox で快適 WordPress 生活
dynamis
?
PDF
【de:code 2020】 二兎追う者は二兎を得る!クラウド VDI で利便性とセキュリティのどちらも手に入れる!
日本マイクロソフト株式会社
?
PDF
Firefox OS App Dev
dynamis
?
PDF
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
日本マイクロソフト株式会社
?
PPTX
ベータフォーラムってこんなとこ
Haruyuki Nakano
?
PDF
Firefox os hackathon
dynamis
?
PDF
Firefox OS - Blaze Your Own Path
dynamis
?
PPTX
Breakouts で Presentation API の 拡張提案したよ
Saki Homma
?
PDF
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
日本マイクロソフト株式会社
?
PDF
Web is the OS (KDDI mugen Labo)
dynamis
?
PDF
【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門
日本マイクロソフト株式会社
?
PDF
Firefoxos
civic Sasaki
?
20141018 osc tokyo_fall_firefox osってなぁに?
Masami Yabushita
?
Web App Platform Firefox
dynamis
?
Firefox OS Updates 201311
dynamis
?
関東Firefox OS勉強会6th「Firefox OS」
Noritada Shimizu
?
Firefox OS @ ABC2013A
dynamis
?
Firefox で快適 WordPress 生活
dynamis
?
【de:code 2020】 二兎追う者は二兎を得る!クラウド VDI で利便性とセキュリティのどちらも手に入れる!
日本マイクロソフト株式会社
?
Firefox OS App Dev
dynamis
?
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
日本マイクロソフト株式会社
?
ベータフォーラムってこんなとこ
Haruyuki Nakano
?
Firefox os hackathon
dynamis
?
Firefox OS - Blaze Your Own Path
dynamis
?
Breakouts で Presentation API の 拡張提案したよ
Saki Homma
?
【de:code 2020】 Teams から WinActor を呼び出そう! ~WinActor Bot のご紹介~
日本マイクロソフト株式会社
?
Web is the OS (KDDI mugen Labo)
dynamis
?
【de:code 2020】 レガシーシステムをデジタルの世界へ! Power Automate UI フロー入門
日本マイクロソフト株式会社
?
Firefoxos
civic Sasaki
?

Similar to Firefox OSのアーキテクチャと構成技術 (20)

PPTX
20150117 gunmaweb Firefox OSの紹介
Akihiko Kigure
?
PDF
Firefox mobile for android internals
Makoto Kato
?
PDF
Firefox Mobile
Makoto Kato
?
PDF
組み込みでも使えるFirefox OS
Noritada Shimizu
?
PDF
関西Firefox os勉強会1st発表資料130615fin
yosuke_kirihata
?
PDF
20140531 firefox os
Noritada Shimizu
?
PDF
N29 aoitan firefox osことはじめ
Masami Yabushita
?
PDF
Fx OS n2_aoitan_firefox osことはじめ
Masami Yabushita
?
PPTX
きつねさんでもわかる Firefox OS コードリーディング入門
Mizuho Sakamaki
?
PDF
Firefox OS 起動の仕組みを調べてみた
Muneaki Nishimura
?
PDF
Reborn as Firefox OS
dynamis
?
PDF
Mobile + HTML5
Shinobu Okano
?
PPTX
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Masami Yabushita
?
PDF
Firefox OSアプリ開発?公開経験談
Kenichi Kambara
?
PDF
Firefox OS アプリ概要(2014年6月9日)
Noritada Shimizu
?
PDF
贵颈谤别贵辞虫翱厂?なにそれ?おいしいの?
Makoto Nishimoto
?
PDF
Firefox for mobile
Makoto Kato
?
PDF
Web is the OS (Firefox OS)
dynamis
?
PDF
20140629 firefoxos-devenv
Noritada Shimizu
?
PDF
Firefox OS 1.0 Application Development
dynamis
?
20150117 gunmaweb Firefox OSの紹介
Akihiko Kigure
?
Firefox mobile for android internals
Makoto Kato
?
Firefox Mobile
Makoto Kato
?
組み込みでも使えるFirefox OS
Noritada Shimizu
?
関西Firefox os勉強会1st発表資料130615fin
yosuke_kirihata
?
20140531 firefox os
Noritada Shimizu
?
N29 aoitan firefox osことはじめ
Masami Yabushita
?
Fx OS n2_aoitan_firefox osことはじめ
Masami Yabushita
?
きつねさんでもわかる Firefox OS コードリーディング入門
Mizuho Sakamaki
?
Firefox OS 起動の仕組みを調べてみた
Muneaki Nishimura
?
Reborn as Firefox OS
dynamis
?
Mobile + HTML5
Shinobu Okano
?
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Masami Yabushita
?
Firefox OSアプリ開発?公開経験談
Kenichi Kambara
?
Firefox OS アプリ概要(2014年6月9日)
Noritada Shimizu
?
贵颈谤别贵辞虫翱厂?なにそれ?おいしいの?
Makoto Nishimoto
?
Firefox for mobile
Makoto Kato
?
Web is the OS (Firefox OS)
dynamis
?
20140629 firefoxos-devenv
Noritada Shimizu
?
Firefox OS 1.0 Application Development
dynamis
?
Ad

More from Makoto Kato (20)

PDF
Active scripting
Makoto Kato
?
PDF
别10蝉とアプリ间通信
Makoto Kato
?
PDF
Emoji
Makoto Kato
?
PDF
Moz2D
Makoto Kato
?
PDF
惭辞锄颈濒濒补のビルドインフラ
Makoto Kato
?
PDF
Openness, Innovation and Opptunity
Makoto Kato
?
PDF
Mobile Web
Makoto Kato
?
PDF
Firefox 4 and Mobile
Makoto Kato
?
PDF
Mobile addon
Makoto Kato
?
PDF
keep it real
Makoto Kato
?
PDF
Think.next
Makoto Kato
?
PDF
贵颈谤别蹿辞虫の开発プロセス
Makoto Kato
?
PDF
"Open"
Makoto Kato
?
PDF
ブラウザの歴史
Makoto Kato
?
PDF
Raindrop
Makoto Kato
?
PDF
颁厂厂3の最新事情
Makoto Kato
?
PDF
贵颈谤别蹿辞虫と惭辞锄颈濒濒补での厂痴骋の取り组み
Makoto Kato
?
PDF
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and later
Makoto Kato
?
PDF
Thunderbird 3のご紹介と企業に求められるカスタマイズ
Makoto Kato
?
PDF
js-ctypes - ネイティブコードを呼び出す新しいカタチ
Makoto Kato
?
Active scripting
Makoto Kato
?
别10蝉とアプリ间通信
Makoto Kato
?
惭辞锄颈濒濒补のビルドインフラ
Makoto Kato
?
Openness, Innovation and Opptunity
Makoto Kato
?
Mobile Web
Makoto Kato
?
Firefox 4 and Mobile
Makoto Kato
?
Mobile addon
Makoto Kato
?
keep it real
Makoto Kato
?
Think.next
Makoto Kato
?
贵颈谤别蹿辞虫の开発プロセス
Makoto Kato
?
ブラウザの歴史
Makoto Kato
?
Raindrop
Makoto Kato
?
颁厂厂3の最新事情
Makoto Kato
?
贵颈谤别蹿辞虫と惭辞锄颈濒濒补での厂痴骋の取り组み
Makoto Kato
?
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and later
Makoto Kato
?
Thunderbird 3のご紹介と企業に求められるカスタマイズ
Makoto Kato
?
js-ctypes - ネイティブコードを呼び出す新しいカタチ
Makoto Kato
?
Ad

Recently uploaded (9)

PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
色について.pptx .
iPride Co., Ltd.
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?

Firefox OSのアーキテクチャと構成技術