Androidとは
自己紹介
TwitterID
  hayabusa333
興味があること
  OS周りとか下層
現在のお仕事
  サーバ関係とかやってます
信仰
    Joel教過激派
Androidについて
まずは
Androidの定義について
   確認をするよ!
Android is a software stack for
 mobile devices that includes an
operating system, middleware and
         key applications.

           By Google
Androidはオペレーティングシステ
ム、ミドルウェア、主要アプリケー
ションを含むモバイルデバイス用の
  ソフトウェアスタックである
つまりAndroidの開発者とは
OSやミドルウェアを開発した
り、それを制御するアプリケー
 ションを開発する人のこと
Androidについて
と言うことで
         Linux Kernel
HAL (Hardware Abstraction Layer)

      の話を中心にします
Linux Kernel
Androidの中心
モノリシックカーネル
 すべてが一体化、一枚岩
 OSの構成要素を単一のメモリで実行
Linux3.3でAndroid再びマージ
サブシステム・機能が統合
 ドライバやシステムの開発が容易になる
次バージョンからパッチの統合
 電源周りのシステム改善
Android固有のカーネル機能リスト
ashmem
  Android用の共有メモリ
pmem(Process Memory Allocator)
  プロセスのメモリアロケーター
  断片化されたメモリを再構築する
logger
  システムロギングファシリティ
  logcatコマンドのカーネルサポート
Android固有のカーネル機能リスト
wakelocks
  Androidのパワーマネジメント
  アップデート時など、CPUが止まっては困るときに
   sleepなどをカーネルレベルで制御
OOM handling (Out of Memory)
  OOM処理の変更
  メモリ不足の通知
Android固有のカーネル機能リスト
Alarm timers
  AndroidのAlarmManagerをサポートするためのカーネ
   ル実装
  CPUのスリープ状態にかかわらずカーネルに伝える
Paranoid network security
  Android独自のセキュリティ
Android固有のカーネル機能リスト
Binder
  IPC(Internal Procedure Call) の代替え
  Androidではインテント処理などのプロセスとプロセ
   スの通信間の処理に使われている
IPC(Internal Procedure Call)
プロセス間通信
 複数のプロセス間での情報のやり取りを制御する仕組
  み
 通常はプロセス同士が互いに影響を与えないように作
  られる
IPC(Internal Procedure Call)
メッセージ
ソケット
パイプ
同期(セマフォ、ミューテックス、イベント)
共有メモリ
遠隔手続き呼び出し、OSR
ローカル手続き呼び出し
Linux Kernelについてはここま
             で
HAL
ハードウェアを抽象化するレイヤ
ハード依存を上位レイヤにさせない
なぜ、抽象化するのか?
CPUが変わっただけでアプリケーションを変更
 するのはめんどくさい
カメラデバイスが変わっただけでアプリケーショ
 ンを変更するのはめんどくさい
各種センサーが(ry
なぜ、抽象化するのか?
Application Framework は 下のデバイスが変わっ
 ても「知らんがなー」と言うのが普通
Application Framework と デバイス部分をつなぐ
 仲介者を作って、仲介者が苦労すれば
 Application Framework を使う人達は幸せ
だから抽象化する
Androidの最新の動向
Android2.3はExt4
Ext3と互換性がある
最大1EiBまでのボリュームサイズ、16TiBまでの
 ファイルサイズ
ディスク空き領域を事前確認
デュアルコアのARMプロセッサにおけるパ
 フォーマンスがすぐれている
Android2.2以前はYAFFS
Yet Amother Flash File System
組込みOSや、Linuxで使われる
データの頑丈性が高い
ハイパフォーマンスである
シングルスレッド設計のため、デュアルコアのプ
 ロセッサではボトルネックになる
期待のBtrfs
B – tree file system
ビーキエフエス、または、バターエフエスと読む
耐障害性、修復機能完備
管理が容易
まだ開発中であり、Linux3.3でマージされている
期待のBtrfs
B – tree file system
ビーキエフエス、または、バターエフエスと読む
耐障害性、修復機能完備
管理が容易
まだ開発中であり、Linux3.3でマージされている
まとめ
Linux を使っているので Linux を理解すれば、ど
  うにかなる
さすがにLKMLもAndroidを無視できなくなって
 きた。
またARM系のデバイスのコミットが増えて、
 リーナス様が激怒する可能性があるよ!
参考資料
組み込みAndroid エキスパートテクニックブック
必要な情報は
大体、こちらから
もらいました。
斜め読みするだけでも
Androidの理解が
深まる一冊
買ってね!
参考にした方々
Demuyan様
資料の 80%ぐらいのネタをぱく …
いただきました。
Android界隈のすごい人
先ほどの資料の著者

なおた先生
Software design にて連載中
カーネル系のすごい人
ご清聴ありがとうございました

More Related Content

PPTX
Snapdragon-SCORER
PPTX
Cisco ios textpart01
PDF
hbstudy# 28 SELinux HandsOn 公開版
PPTX
Sesearch
PDF
OpenStack & SELinux
PPTX
AZ-103試験対策まとめ
PDF
Review Multicore processing based on ARM architecture
PDF
Ctfのためのpython入門
Snapdragon-SCORER
Cisco ios textpart01
hbstudy# 28 SELinux HandsOn 公開版
Sesearch
OpenStack & SELinux
AZ-103試験対策まとめ
Review Multicore processing based on ARM architecture
Ctfのためのpython入門

Similar to Androidについて (20)

PDF
Android builders summit slide tour
PDF
Android Lecture #01 @PRO&BSC Inc.
PDF
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
PDF
Amazon Ec2 S3実践セミナー 2009.07
PPTX
090916 X D E V今だから理解する[
PPTX
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
PDF
Microsoft Azure 概要 (2015 年 4 月版)
PDF
Cloud Foundry構成概要 111018
PDF
.NET Gadgeteerでプロトタイピングする EnOceanエネルギーハーベスティング システム
PDF
マイクロソフトが考えるAI活用のロードマップ
PDF
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
PDF
2012-04-25 ASPLOS2012出張報告(公開版)
PPTX
Dbts2012 unconference wttrw_yazekatsu_publish
PDF
[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送
PDF
Ai SAM 製品概要-4-5
PDF
Ai sam 製品概要 4-5
PDF
産学間連携推進室(AC部屋) 2012 成果報告会
PPT
Android向け組み込みdb empress修正版
PPTX
Microsoft AI Platform
PDF
MeeGo Seminar Winter Porting 20101209
Android builders summit slide tour
Android Lecture #01 @PRO&BSC Inc.
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Amazon Ec2 S3実践セミナー 2009.07
090916 X D E V今だから理解する[
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
Microsoft Azure 概要 (2015 年 4 月版)
Cloud Foundry構成概要 111018
.NET Gadgeteerでプロトタイピングする EnOceanエネルギーハーベスティング システム
マイクロソフトが考えるAI活用のロードマップ
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
2012-04-25 ASPLOS2012出張報告(公開版)
Dbts2012 unconference wttrw_yazekatsu_publish
[Cloud OnAir] Google Cloud Next '18 最新情報 2018年7月26日 放送
Ai SAM 製品概要-4-5
Ai sam 製品概要 4-5
産学間連携推進室(AC部屋) 2012 成果報告会
Android向け組み込みdb empress修正版
Microsoft AI Platform
MeeGo Seminar Winter Porting 20101209
Ad

More from hayabusa333 (20)

PPTX
Cowboyとphoenixの速度比較
PPTX
E言語スタック
PPTX
Elixirのhoundを使ってみて
PPTX
Erlang and Elixir
PPTX
Elixir v1.3 で入るかもしれない機能
PDF
IEXを学ぶ
PDF
Getting test world
PDF
Cowboyとelixir
PDF
派遣社員が現場にRubyを取り入れるまで
ODP
現場にsahaginを取り入れた話
PPTX
ホワイトボックステスト技法
PPTX
ブラックボックステスト技法
ODP
自動化のその前に
ODP
Serverspecの本気をみるのです
ODP
Jenkinsとidobataで幸せな生活
ODP
Cbで解るjojo up
ODP
アイマスで分かるプログラマ
ODP
漏れのある抽象化の法則
ODP
DevLove2012 懇親会LT
ODP
RubyでBLコマンド実装
Cowboyとphoenixの速度比較
E言語スタック
Elixirのhoundを使ってみて
Erlang and Elixir
Elixir v1.3 で入るかもしれない機能
IEXを学ぶ
Getting test world
Cowboyとelixir
派遣社員が現場にRubyを取り入れるまで
現場にsahaginを取り入れた話
ホワイトボックステスト技法
ブラックボックステスト技法
自動化のその前に
Serverspecの本気をみるのです
Jenkinsとidobataで幸せな生活
Cbで解るjojo up
アイマスで分かるプログラマ
漏れのある抽象化の法則
DevLove2012 懇親会LT
RubyでBLコマンド実装
Ad

Androidについて