End the Senseless Killing: Improving Memory Management for Mobile Operating Systems
Niel Lebeck, Arvind Krishnamurthy, Henry M. Levy, Irene Zhang
1
Memory Management for Mobile Operating Systems Niel Lebeck, Arvind - - PowerPoint PPT Presentation
End the Senseless Killing: Improving Memory Management for Mobile Operating Systems Niel Lebeck, Arvind Krishnamurthy, Henry M. Levy, Irene Zhang 1 Disclaimers I currently work at Google (not on Android) This work is not connected with
Niel Lebeck, Arvind Krishnamurthy, Henry M. Levy, Irene Zhang
1
2
3
Working set
4
5
6
7
8
9
10
indirection layer between objects allows the runtime and OS to coordinate lets the runtime transparently take action
11
stub Java Heap Reclaimable Object Space
12
stub Java Heap Reclaimable Object Space Reclamation Table
address size res app lock kernel lock 0xc00d00a0 512 1 0xc00e1410 128 1 2 0xc0002320 8192 1
13
14
15
Reclaimable Object Space Swap File
foo.setX(42); 1
Compiled ARM64 code Interpreter
16
Reclaimable Object Space Swap File
1
17
18
int x = foo.getX(); Compiled ARM64 code
Garbage collector heap-walk
0 | 0 | 1100 | 0000 Read bit Write bit Read shift register Write shift register 1 | 0 | 1100 | 0000 0 | 0 | 1001 | 0000 Interpreter
19
20
foo.setMember(bar)
member = null member = null member = 0x7000001a member = 0x7000001a
Compiled ARM64 code Interpreter
21
member = null member = null member = 0x7000001a member = 0x7000001a
Garbage collector
22
23
24
25
26
Android w/ Linux swap consistently crashed early
Marvin Android
27
28
29
30
31
32
33