Professional Documents
Culture Documents
L3 pt3 Android Kernel Extensions
L3 pt3 Android Kernel Extensions
2
Learning Objectives in this Part of the Lesson
1. Recognize the two types of storage
supported by Android Linux
2. Understand Android Linux’s local &
remote communication mechanisms
3. Know how Android Linux’s processes
& threads mediate access to one or
more processor cores
4. Recognize extensions that Android
Linux adds to the GNU Linux kernel, e.g.
• Manage memory & power effectively on mobile devices
3
Learning Objectives in this Part of the Lesson
1. Recognize the two types of storage Client Process Server Process
4
Android Linux Extensions:
Memory Management
5
Android Linux Extensions: Memory Management
C
30%
6
Android Linux Extensions: Memory Management
C
7
Android Linux Extensions: Memory Management
C
See stackoverflow.com/a/4420560/3312330
9
Android Linux Extensions: Memory Management
C
Flash
10
Android Linux Extensions: Memory Management
C
Flash
See developer.android.com/training/articles/memory.html#Android
11
Android Linux Extensions: Memory Management
C
See stackoverflow.com/a/17478535/3312330
12
Android Linux Extensions: Memory Management
C
User
Space
Low
Memory Kernel
Killer Space
See www.programering.com/a/MjNzADMwATE.html
13
Android Linux Extensions: Memory Management
C
Low
Memory Kernel
Killer Space
See www.programering.com/a/MjNzADMwATE.html
14
Android Linux Extensions: Memory Management
C
Flash
15
Android Linux Extensions: Memory Management
C
See www.vogella.com/tutorials/AndroidLifeCycle/article.html
16
Android Linux Extensions: Memory Management
C
See www.vogella.com/tutorials/AndroidLifeCycle/article.html
17
Android Linux Extensions: Memory Management
C
See developer.android.com/training/articles/memory.html
18
Android Linux Extensions: Memory Management
C
See developer.android.com/topic/performance/memory.html#AnalyzeRam
20
Android Linux Extensions: Memory Management
C
See elinux.org/Android_Kernel_Features#ashmem
22
Android Linux Extensions: Memory Management
C
23
Android Linux Extensions: Memory Management
C
See notjustburritos.tumblr.com/post/21442138796/an-introduction-to-android-shared-memory
24
Android Linux Extensions: Memory Management
C
See notjustburritos.tumblr.com/post/21442138796/an-introduction-to-android-shared-memory
25
Android Linux Extensions: Memory Management
C
See notjustburritos.tumblr.com/post/21442138796/an-introduction-to-android-shared-memory
26
Android Linux Extensions:
Power Management
27
Android Linux Extensions: Power Management
C
28
Android Linux Extensions: Power Management
C
See developer.android.com/training/monitoring-device-state
29
Android Linux Extensions: Power Management
C
30
Android Linux Extensions: Power Management
C
See elinux.org/Android_Power_Management
31
Android Linux Extensions: Power Management
C
32
Android Linux Extensions: Power Management
C
See developer.android.com/training/scheduling/wakelock.html
33
Android Linux Extensions: Power Management
C
35
Android Linux Extensions: Local IPC
C
36
Android Linux Extensions: Local IPC
C
See en.wikipedia.org/wiki/TCP_congestion_control
37
Android Linux Extensions: Local IPC
C
See bhavin.directi.com/unix-domain-sockets-vs-tcp-sockets
38
Android Linux Extensions: Local IPC
C
See elinux.org/Android_Binder
39
Android Linux Extensions: Local IPC
C
See developer.android.com/guide/components/aidl.html
40
Android Linux Extensions: Local IPC
C
41
Android Linux Extensions: Local IPC
C
42
Android Linux Extensions: Local IPC
C
46