SlideShare ist ein Scribd-Unternehmen logo
1 von 104
Downloaden Sie, um offline zu lesen
ANDROID IPC MECHANISM
nfsnfs @ Advanced Defense Lab
1
REFERENCE
• ⼤大量引⽤用以下資料:	

• http://www.slideshare.net/yeg239/android-internals-06-
binder-typical-subsystem-rev11	

• http://marakana.com/s/post/1340/
Deep_Dive_Into_Binder_Presentation.htm	

• http://www.slideshare.net/jserv/android-ipc-mechanism	

• http://developer.android.com/guide/components/aidl.html	

• http://www.jbcreativgroup.com/pdf/an-empirical-study-of-
the-robustness-of-inter-component-77091.pdf2
OUTLINE
• IPC	

• Java Layer 	

• Binder	

• Security Issue in IPC
3
WHAT IS IPC ?
• IPC = Inter-Process Communication	

• Process 之間的溝通	

• More ... ?
4
WHY IPC?
• Android 中每個 process 都有⾃自⼰己的 address space	

• Data Isolation	

• IPC 可能造成很⼤大的 overhead,也可能造成安全問題
5
有什麼不⼀一樣 ?
• Traditional Linux	

• Pipe	

• Signal	

• Message Queue	

• Semaphore	

• Socket	

• Shared Memory 6
ANDROID IPC SYSTEM
• Binder	

• 從 OpenBinder 來的	

• BeOS / Palm	

• 完全重寫後成為 Android binder
7
SOCKETVS BINDER
Socket
!
File Descriptor	

Network	

Stream I/O
Binder
!
PID	

Local only	

IOCTL
8
BINDER
!
Linux Kernel
/dev/binder
servicemanager system_server
App3
App2
App1
9
WHY BINDER ?
• Security	

• isolated process with distinct ID	

• Stability	

• crashed process	

• Memory Management 	

• no need to free objects
10
BIONIC C
• 不⽀支援傳統 SystemV IPCs	

• No SysV semaphores, shared memory, message queues	

• SysV IPC 會有 kernel resource leakage 的問題
11
COMMUNICATIONS
Application	

!
Home Contacts Phone Browser
IPC IPC IPC
Application Framework
IPC
IPC & JNI
Native Layer
12
ANDROID IPC
• Intent	

• 在 Java 層,⽤用來傳送訊息的資料結構	

• Asynchronous Communication	

• ContentResolver 跟 ContentProvider 是
Synchronous Communication 	

• 透過 CRUD API	

13
INTENT
• 包含⼀一些基本資料	

• data //表⽰示所需的資料	

• action //表⽰示要作的事情	

• category //action 的類型	

• component //送給哪個 component	

• extras //要傳的額外資料
14
INTENT 分類
• Explicit Intent	

• 有指定 component 的 Intent	

• Implicit Intent	

• 無指定 component 的 Intent
15
EXPLICIT INTENT
• Intent.setComponent(ComponentName)	

• Intent.setClass(Context, Class)	

• new Intent(Context, Class)
16
INTENT
• 不適合⽤用在 low-latency 通訊	

• 基於 Binder	

• Intent 實作 Cloneable 和 Parcelable	

• 是 Parcelable 才能透過 IPC 傳遞	

• ... Or you are a primitive type
17
與 ACTIVITY 互動
Activity Activity
start
return
18
⽤用 INTENT 可以做什麼 ?
• startActivity(Intent)	

• startActivityForResult(Intent, int)	

• 開啟⼀一個 Activity ...
19
與 SERVICE 互動
Activity
BroadcastReceiver
Service
start / stop / bind
start / stop / bind
20
⽤用 INTENT 可以做什麼 ?
• startService(Intent)	

• 開啟⼀一個 Service ...	

• stopService(Intent)	

• 關閉⼀一個 Service ...
21
⽤用 INTENT 可以做什麼 ?
• bindService(Intent, ServiceConnection, int)	

• 跟⼀一個 Service 建⽴立連線 ..	

• ServiceConnection 裡⾯面可以初始化⼀一些 bind 後所需的
變數
22
與 BROADCASTRECEVIER 互
動
BroadcastReceiverActivity
Service
System
send Intent
23
⽤用 INTENT 可以做什麼 ?
• sendBroadcast(Intent)	

• sendOrderedBroadcast、sendStickyBroadcast、
sendStickyOrderedBroadcast	

• 送 Intent 到 BroadcastReceiver ...
24
另外還有 ... ?
• Messenger & Handler	

• 常⽤用於 Activity / Service 間通訊	

• Message.what: 要做什麼	

• Message.setData(Bundle): 要傳的資料	

• 不同 process,請⽤用 Bundle	

• 如果同 process 內,可使⽤用 Message.obj 傳 object
25
MESSENGER & HANDLER
App A App B
Activity
ServiceMessenger
Handler
call back
start
pass by
reference
call back
reference / call
26
MESSENGER & HANDLER
• 和 Intent 很像	

• 但提供了雙向溝通!	

• Android Developer 網站說明:
Reference to a Handler, which others can use to send
messages to it. This allows for the implementation of
message-based communication across processes, by
creating a Messenger pointing to a Handler in one
process, and handing that Messenger to another
process.
27
MESSENGER & HANDLER
• 特⾊色	

• Low latency, but still asynchronous
28
MESSENGER & HANDLER
• DEMO
29
MESSENGER & HANDLER
• 在 Service 中註冊 Handler 和 Messenger
30
MESSENGER & HANDLER
• 在 Service onBind 的時候 return ⼀一個 IBinder 	

• 與 Service bind 在⼀一起的 Activity 可透過此 IBinder
物件傳送訊息
31
MESSAGE
• ⽤用 Message.obtain() 從 mPool 拿⼀一個 Message
object	

• 較不建議⽤用 new Message();	

• replyTo: 回應給這個 Messenger
32
所以來說說他們背後的
BINDER 吧 !
33
BINDER !
• 超重要的!
In the Android platform, the binder is used for
nearly everything that happens across processes
in the core platform. - Dianne Hackborn!
[https://lkml.org/lkml/2009/6/25/3]
34
METHOD INVOCATION
• 在同⼀一個 Process 內的時候
caller
callee
35
OTHER PROCESS?
• RPC ? 	

• Messaging Passing ?	

• Socket ?	

• ...
36
BINDER 系統架構其實是 ...
Java Binder 	

⽤用⼾戶端/伺服器端
Native Binder 	

⽤用⼾戶端/伺服器端
Java Binder
Framework
Native Binder
Framework
Binder 核⼼心程式庫
Binder Adapter

ProcessState.cpp / IPCThreadState.cpp
Binder Driver
37
BINDER COMMUNICATION
Client Binder Service
Process A Kernel Process B
38
BINDER DRIVER
• Binder driver	

• ioctl(binderFd, BINDER_WRITE_READ, &bwd) system call	

• open / release / poll / mmap / flush / ioctl	

• /dev/binder
39
FLAT_BINDER_OBJECT
• binder 和 handle 分別表⽰示 local object 和 remote object	

• binder 會幫忙作這對應
40
FLAT_BINDER_OBJECT 的TYPE
• BINDER_TYPE_BINDER / BINDER_TYPE_WEAK_BINDER -
本機物件	

• BINDER_TYPE_HANDLE /
BINDER_TYPE_WEAK_HANDLE - 遠端物件參照	

• BINDER_TYPE_FD - 檔案
41
FLAT_OBJECT_TYPE 的 FLAG
• TF_ONE_WAY - 單向,⾮非同步,不需要返回	

• TF_ROOT_OBJECT - 根物件,代表 type 是本機物件	

• TF_STATUS_CODE - 狀態碼,代表 type 是 handle	

• TF_ACCEPT_FDS - 可以接受 file descriptor,所以 handle
就會是 file descriptor
42
實際傳遞的資料
BINDER_TRANSACTION_DATA
43
BINDER_WRITE_READ
• read_buffer 和 write_buffer 是⼀一
個指標(指向 user space 的
buffer)	

• BC_TRANSACTION	

• 解析將要被處理的資料	

• BC_REPLY	

• 回傳結果資料
struct binder_write_read {	

signed long write_size;	

signed long write_consumed;	

unsigned long write_buffer;	

signed long read_size;	

signed long read_consumed;	

unsigned long read_buffer;	

}
44
BINDER COMMUNICATION
• Native Level 來說,通常⽤用 libbinder 解決,不⽤用直接操作
ioctl driver	

• 但有時候想隱藏 binder,讓 client ⽐比較容易處理 ...	

• AIDL !	

• A Java-like lanaguage
45
BINDER COMMUNICATION
Client Binder Service
Process A Kernel Process B
StubProxy
46
AIDL
• Proxy 和 Stub	

• Java-based	

• 可以⽤用 aidl ⼯工具產⽣生	

• Android Studio 中,把 aidl 檔案放在 /main/aidl/
<package_name>/ 底下,會⾃自⼰己在 /build/source/aidl 產
⽣生該 Interface
47
AIDL
• AIDL example:
48
AIDL
• AIDL 只是⽤用來產⽣生⼀一個 Interface 	

• 包含 Proxy 和 Stub 這兩個 class!
49
AIDL
• 產⽣生出的 interface:
50
AIDL
• Service 中的 Stub
51
MARSHALLING AND
UNMARSHALLING
• Marshalling 就是做出 Parcel object 的⾏行為	

• Unmarshalling 就是將 Parcel 還原回原本的 object
52
PARCEL
• AIDL 會幫我們 handle 這件事	

• 其實是將 object ⽤用 native binary encoding 的⽅方式重新包裝
53
ANDROID.OS.PARCEL
• http://www.slideshare.net/jserv/android-ipc-mechanism	

54
BINDER COMMUNICATION
Client Binder Service
Process A Kernel Process B
StubManager Proxy
55
SYSTEM SERVICES
• System Services 使⽤用的作法	

• Clients 根本感覺不出他們在使⽤用 IPC	

• Context.getSystemService(String)
56
SYSTEM SERVICES
• NOTIFICATION_SERVICE	

• LOCATION_SERVICE	

• CONNECTIVITY_SERVICE	

• WIFI_SERVICE	

• ... 族繁不及備載: http://developer.android.com/reference/
android/content/Context.html
57
使⽤用 SYSTEM SERVICES 的⽅方式
• Example:
58
BINDER COMMUNICATION
Binder Service
Kernel Process B
Service	

Manager
Proxy
Client
Process A
Manager Proxy Context Manager
Framework
register CM
await reqs
get CM register
service
registered
service
register svc tx
get CM
get svc tx
init manager
get service
got service
59
CONTEXT MANAGER
• Binder Driver 只會允許⼀一個 Context Manager 註冊	

• 所以 servicemanager 是第⼀一個被啟動的 Android service	

• http://androidxref.com/4.3_r2.1/xref/frameworks/native/
cmds/servicemanager/service_manager.c	

• servicemanager a.k.a Context Manager
60
SERVICEMANAGER IN INIT.RC
init.rc 裡⾯面有 service 的啟動順序
61
設定 SERVICEMANAGER
• frameworks/native/cmds/servicemanager/service_manager.c
這是 (void *) 0
等待 request
62
設定 SERVICEMANAGER
• BINDER_SET_CONTEXT_MGR	

• frameworks/native/cmds/servicemanager/binder.c
63
設定 SERVICEMANAGER
• http://lxr.linux.no/linux+v3.10.6/drivers/staging/android/binder.c#L2622
64
SVGMGR_HANDLER
• http://androidxref.com/4.3_r2.1/xref/frameworks/native/cmds/
servicemanager/service_manager.c#203
65
SERVICE MANAGER
• 系統服務需要跟 service manager 註冊	

• 應⽤用程式如果要⽤用系統服務要跟 service manager 查詢
66
註冊系統服務
• http://androidxref.com/4.3_r2.1/xref/frameworks/native/cmds/
servicemanager/service_manager.c#do_add_service
67
檢查要註冊的服務是否有權限
• http://androidxref.com/4.3_r2.1/xref/frameworks/native/cmds/
servicemanager/service_manager.c#svc_can_register
68
⺫⽬目前註冊的 SERVICE
• adb shell service list
69
測試系統服務
• adb service call phone 1 s16 “1234567890”
70
其實是...
• AIDL 中的順序	

• http://androidxref.com/4.3_r2.1/xref/frameworks/base/telephony/java/com/android/internal/
telephony/ITelephony.aidl
1
271
整體流程
• http://marakana.com/s/post/1340/
Deep_Dive_Into_Binder_Presentation.htm
72
SECURITY
• IPC 可能造成⼀一些安全問題	

• 因為 Intent 可以是惡意的!
73
THREAT !
App A App B Malicious App
Activity
Service
Broadcast
Receiver
Activity
Service
Broadcast
Receiver
Activity
Service
Broadcast
Receiver
Intent Intent Intent
Intent
System Intent
System Intent
74
REFTO COMDROID
• 請⾒見 ComDroid 投影⽚片 !
75
QUESTIONS?
• How well does an Android component behave in the
presence of a semi-valid or random Intent?	

• How robust are Android’s ICC primitives?	

• How can we refine the implementation of Intents so that inpt
validation can be improved?
76
TESTINGTOOL
Package Manager
startActivityForResult
startService
sendBroadcast
Get a list of components
77
AVOID MANUAL
INTERVENTION
• startActivityForResult() and finishActivity()	

• Pause 100ms between sending of each successive Intent
78
SEMI-MANUAL ...
• finishActivity() did not work in two situations	

• System alert was generated (crash or exception)	

• Activity was started as a new task
Calling startActivity() from outside of an Activity context
requires the FLAG_ACTIVITY_NEW_TASK flag.
79
GENERATING INTENTS
• { Action / Data / Component / Extras }	

• Data URI := scheme/path?query
80
DATA URI SCHEME
• content://	

• file://	

• folder://	

• directory://	

• geo:	

• google.streeview:	

• http://	

• https://	

• mailto:	

• ssh:	

• tel:	

• voicemail:
81
IMPLICIT INTENT
• A.Valid Intent, unrestricted fields null:	

• Match only the restricted attributes of the Intent-filter	

• B. Semi-valid Intent:	

• Fuzz at least one fileds
82
VALID INTENT
• Intent filter	

• Intent
<intent-filter>	
<action
android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />	
</intent-filter>
Intent i = new Intent();	
i.setAction("android.net.wifi.supplicant.CONNECTION_CHANGE");	
sendBroadcast(i);
83
SEMI-VALID INTENT
• Intent filter	

• Intent
<intent-filter>	
<action
android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />	
</intent-filter>
Intent i = new Intent();	
i.setAction("android.net.wifi.supplicant.CONNECTION_CHANGE");	
i.addCategory("CATEGORY_ALTERNATIVE");	
sendBroadcast(i);
84
EXPLICIT INTENT
• FIC A. Semi-valid Action and Data	

• FIC B. Blank Action or Data	

• FIC C. Random Action or Data	

• FIC D. Random Extras
* FIC : fuzz injection campaigns
robustness of callee
potential adversary
85
SEMI-VALID ACTION AND
DATA
• Total Intents: |Action|x|Data| for each component	

!
{ act=ACTION_EDIT 	

data=http://www.google.com	

comp=com.android.someCompon
ent }
Meaningless
86
BLANK DATA OR ACTION
• Total Intents: |Action|+|Data| for each component	

!
{ data=http://www.google.com	

comp=com.android.someCompon
ent }
No Action
87
RANDOM ACTION OR DATA
{ act=ACTION_EDIT	

data=a1b2c3d4	

comp=com.android.someCompon
ent }
Random
88
RANDOM EXTRAS
{ act=ACTION_DIAL	

data=tel:123-456-789	

comp=com.android.someComponent has
Extras }
89
MACHINE
• Moto Droid - Android 2.2	

• HTC Evo 3D - Android 2.3.4	

• Emulator - Android 4.0
90
FIRMWARE
• com.android.* package	

• In Droid ...	

• 297 activities	

• 42 services	

• 59 receivers	

!
!
• In Emulator ...	

• 332 activities	

• 54 services	

• 69 receivers
91
MOST POPULAR FREE APPS
• 3 Dec, 2011	

• Facebook	

• Pandora Radio	

• Voxer WalkieTalkie	

• Angry Birds	

• Skype	

!
!
!
• 103 activities	

• 11 services
92
EXPERIMENTAL RESULTS
93
FAULT INJECTION
• Choose one particular component and inject all the Intents
targeted to that component
94
COLLECT LOGS
• logcat	

• “Force Close”	

• “Application x stopped unexpectedly”	

• “FATAL EXCEPTION: main”
95
RESULTS FOR EXPLICIT
INTENTS
• 2148 crashes in Android 2.2	

• 641 crashes in Android 4.0	

• 152 crashes for Apps from Market
96
FAILED COMPONENTS
!
• Many Android components do not perform null checks	

• 3 of the apps (from Market) had at least one component
failed one or more experiments
97
EXCEPTIONTYPES
Should be handled
by the calling
function
98
IN ANDROID 4.0 ...
• Unpredictable environment-dependent errors in Android 4.0	

• WindowManager$BadTokenException (26.83%)	

• IllegalStateException (23.56%)	

• RuntimeException (3.12%)	

• system_server restarts (GC)
99
SYSTEM CRASH
• 3 Activities in built-in apps caused system_server to restart	

• Did not catch NullPointerExceptions	

• Need no extra permissions	

100
SYSTEM CRASH
101
RESULTS FORVALID INTENTS
• In HTC Evo 3D ...	

• 1910 Intent-filters startActivity() 	

• Some of them is registered by Services	

• ActivityNotFoundException	

• Crashed 5 components	

• 12 unexpected exceptions
1. NullPointerException	

2. IOException	

3. Resource
$NotFoundException
102
RESULTS FOR SEMI-VALID
• From Intent-filters	

• 643 distinct Actions	

• 37 Categories
103
DISCUSSIONS
• Poor exception handling	

• Environment-dependent errors in Android 4.0	

• Privileged components with unrestricted access
104

Weitere ähnliche Inhalte

Was ist angesagt?

Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
 
IPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curseIPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curseYonatan Levin
 
Android AIDL Concept
Android AIDL ConceptAndroid AIDL Concept
Android AIDL ConceptCharile Tsai
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverNanik Tolaram
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depthChris Simmonds
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for LinuxYu-Hsin Hung
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System ServerOpersys inc.
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux DevelopersOpersys inc.
 
Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1Cheng Hsien Chen
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Opersys inc.
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)Nanik Tolaram
 

Was ist angesagt? (20)

Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
IPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curseIPC: AIDL is sexy, not a curse
IPC: AIDL is sexy, not a curse
 
Android AIDL Concept
Android AIDL ConceptAndroid AIDL Concept
Android AIDL Concept
 
Learning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device DriverLearning AOSP - Android Linux Device Driver
Learning AOSP - Android Linux Device Driver
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System Server
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
Applied Computer Science Concepts in Android
Applied Computer Science Concepts in AndroidApplied Computer Science Concepts in Android
Applied Computer Science Concepts in Android
 
Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1Camera2 API, SHIM, and HAL 3.2 in Android 5.1
Camera2 API, SHIM, and HAL 3.2 in Android 5.1
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
"Learning AOSP" - Android Hardware Abstraction Layer (HAL)
 

Andere mochten auch

Android Architecture
Android ArchitectureAndroid Architecture
Android ArchitectureLope Emano
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLinaro
 
Beyond JVM - YOW! Brisbane 2013
Beyond JVM - YOW! Brisbane 2013Beyond JVM - YOW! Brisbane 2013
Beyond JVM - YOW! Brisbane 2013Charles Nutter
 
LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14Linaro
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction magoroku Yamamoto
 
a0drtai with Billionaire
a0drtai with Billionairea0drtai with Billionaire
a0drtai with BillionaireDrTyphoon Tai
 
Social Intranet für KMU - IBM Connect Switzerland
Social Intranet für KMU - IBM Connect SwitzerlandSocial Intranet für KMU - IBM Connect Switzerland
Social Intranet für KMU - IBM Connect SwitzerlandKlaus Bild
 
自聯想神經網路之企業危機預測 - ltu
自聯想神經網路之企業危機預測 - ltu自聯想神經網路之企業危機預測 - ltu
自聯想神經網路之企業危機預測 - ltubutest
 

Andere mochten auch (20)

Udev
UdevUdev
Udev
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecture
 
Android Thread
Android ThreadAndroid Thread
Android Thread
 
Embedded Android : System Development - Part III
Embedded Android : System Development - Part IIIEmbedded Android : System Development - Part III
Embedded Android : System Development - Part III
 
Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
Profile django
Profile djangoProfile django
Profile django
 
Beyond JVM - YOW! Brisbane 2013
Beyond JVM - YOW! Brisbane 2013Beyond JVM - YOW! Brisbane 2013
Beyond JVM - YOW! Brisbane 2013
 
LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14LCA14: George Grey Keynote - LCA14
LCA14: George Grey Keynote - LCA14
 
波形で見るBig.little
波形で見るBig.little波形で見るBig.little
波形で見るBig.little
 
Oscar compiler for power reduction
Oscar compiler for power reduction Oscar compiler for power reduction
Oscar compiler for power reduction
 
Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5Unix v6 セミナー vol. 5
Unix v6 セミナー vol. 5
 
Act 126 info sheet[1]
Act 126 info sheet[1]Act 126 info sheet[1]
Act 126 info sheet[1]
 
Airframer cat38
Airframer cat38Airframer cat38
Airframer cat38
 
TheRegister-March2015
TheRegister-March2015TheRegister-March2015
TheRegister-March2015
 
TESDA APPS TO BUILD SOCIAL NETWORKING SITE NEXT TO FACEBOOK
TESDA APPS TO BUILD SOCIAL NETWORKING SITE NEXT TO FACEBOOKTESDA APPS TO BUILD SOCIAL NETWORKING SITE NEXT TO FACEBOOK
TESDA APPS TO BUILD SOCIAL NETWORKING SITE NEXT TO FACEBOOK
 
a0drtai with Billionaire
a0drtai with Billionairea0drtai with Billionaire
a0drtai with Billionaire
 
シニア向けECサイト
シニア向けECサイトシニア向けECサイト
シニア向けECサイト
 
Social Intranet für KMU - IBM Connect Switzerland
Social Intranet für KMU - IBM Connect SwitzerlandSocial Intranet für KMU - IBM Connect Switzerland
Social Intranet für KMU - IBM Connect Switzerland
 
自聯想神經網路之企業危機預測 - ltu
自聯想神經網路之企業危機預測 - ltu自聯想神經網路之企業危機預測 - ltu
自聯想神經網路之企業危機預測 - ltu
 

Ähnlich wie Android IPC Mechanism

Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Ambassador Labs
 
Understanding binder in android
Understanding binder in androidUnderstanding binder in android
Understanding binder in androidHaifeng Li
 
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxUtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxGrace Jansen
 
Building Bizweb Microservices with Docker
Building Bizweb Microservices with DockerBuilding Bizweb Microservices with Docker
Building Bizweb Microservices with DockerKhôi Nguyễn Minh
 
DevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxDevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxGrace Jansen
 
Configuration Management Tools on NX-OS
Configuration Management Tools on NX-OSConfiguration Management Tools on NX-OS
Configuration Management Tools on NX-OSCisco DevNet
 
Interop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in ProductionInterop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in ProductionBrian Gracely
 
CI/CD Pipeline with Kubernetes
CI/CD Pipeline with KubernetesCI/CD Pipeline with Kubernetes
CI/CD Pipeline with KubernetesMukesh Singh
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerBob Killen
 
Operator Framework Overview
Operator Framework OverviewOperator Framework Overview
Operator Framework OverviewRob Szumski
 
Advanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAdvanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAriel Moskovich
 
The Evolution of Distributed Systems on Kubernetes
The Evolution of Distributed Systems on KubernetesThe Evolution of Distributed Systems on Kubernetes
The Evolution of Distributed Systems on KubernetesBilgin Ibryam
 
Securing Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the CloudSecuring Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the CloudOlivia LaMar
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxThe Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxlior mazor
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...MongoDB
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesJudy Breedlove
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE
 

Ähnlich wie Android IPC Mechanism (20)

Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
Understanding binder in android
Understanding binder in androidUnderstanding binder in android
Understanding binder in android
 
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptxUtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
UtrechtJUG_Exploring statefulmicroservices in a cloud-native world.pptx
 
Building Bizweb Microservices with Docker
Building Bizweb Microservices with DockerBuilding Bizweb Microservices with Docker
Building Bizweb Microservices with Docker
 
DevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptxDevoxxBelgium_StatefulCloud.pptx
DevoxxBelgium_StatefulCloud.pptx
 
Configuration Management Tools on NX-OS
Configuration Management Tools on NX-OSConfiguration Management Tools on NX-OS
Configuration Management Tools on NX-OS
 
Interop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in ProductionInterop 2017 - Managing Containers in Production
Interop 2017 - Managing Containers in Production
 
12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
 
CI/CD Pipeline with Kubernetes
CI/CD Pipeline with KubernetesCI/CD Pipeline with Kubernetes
CI/CD Pipeline with Kubernetes
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and Docker
 
Operator Framework Overview
Operator Framework OverviewOperator Framework Overview
Operator Framework Overview
 
Advanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the FieldAdvanced Code Flow, Notes From the Field
Advanced Code Flow, Notes From the Field
 
The Evolution of Distributed Systems on Kubernetes
The Evolution of Distributed Systems on KubernetesThe Evolution of Distributed Systems on Kubernetes
The Evolution of Distributed Systems on Kubernetes
 
Securing Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the CloudSecuring Your Apps & APIs in the Cloud
Securing Your Apps & APIs in the Cloud
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxThe Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
 
Integration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob DaviesIntegration in the Cloud, by Rob Davies
Integration in the Cloud, by Rob Davies
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
 

Kürzlich hochgeladen

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Kürzlich hochgeladen (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Android IPC Mechanism