Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
吴章金-Android_Linux_RAS_Practice
Zoom.Quiet
May 27, 2013
Technology
0
120
吴章金-Android_Linux_RAS_Practice
[5.15]2013I/O大会珠海GDG直播之夜——吉大分场纪实
http://www.chinagdg.com/thread-1815-1-1.html
Zoom.Quiet
May 27, 2013
Tweet
Share
More Decks by Zoom.Quiet
See All by Zoom.Quiet
PyCon2014China-Zhuhai-high performance
zoomquiet
0
110
PyCon2014China-Zhuhai-meta programming
zoomquiet
1
75
PyCon2014China-Zhuhai-bpm.py
zoomquiet
0
52
PyCon2014China-Zhuhai-luna kv db
zoomquiet
0
31
PyCon2014China-Zhuhai-seed studio
zoomquiet
0
25
PyCon2014China-Zhuhai-Docker Registry Build By Python
zoomquiet
0
33
PyCon2014China-Zhuhai-jeff
zoomquiet
0
30
PyCon2014China-Zhuhai-pythonic front-end
zoomquiet
0
40
DevFest2014-Zhuhai-Polymer
zoomquiet
0
220
Other Decks in Technology
See All in Technology
2022 COSCUP - GKE Backend Cluster 除雷分享
brentchang
0
120
Getting Started in Product Management
thatjeffsmith
0
120
20220731 如何跟隨開源技術保持你的職涯發展
pichuang
0
120
Amazon Comprehendで始める感情分析
46ta
0
200
疎ベクトル検索と密ベクトル検索: 第68回 Machine Learning 15minutes! Broadcast
keyakkie
1
250
Cloud Foundryの移行先はどこか? オープンソースPaaS探し
kolinz
0
350
cobra は便利になっている
nwiizo
0
140
Settlement simulation testing to ensure correct settlement processing
applepine1125
2
1.3k
IBM Cloud Festa Online 2022 Summer
1ftseabass
PRO
0
200
DeepDive into Modern Development with AWS
mokocm
1
350
LINSTOR — это как Kubernetes, но для блочных устройств
flant
0
3.7k
質の良い”カイゼン”の為の質の良い「振り返り」
shirayanagiryuji
0
130
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
63
7.6k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
What's new in Ruby 2.0
geeforr
335
30k
jQuery: Nuts, Bolts and Bling
dougneiner
56
6.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Raft: Consensus for Rubyists
vanstee
127
5.5k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Unsuck your backbone
ammeep
659
55k
Gamification - CAS2011
davidbonilla
75
3.9k
Building Your Own Lightsaber
phodgson
95
4.7k
Transcript
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 - Android Linux RAS Practice - 吴章金 wuzhangjin@gmail.com http://www.tinylab.org 2013 年 3 月 27 日 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 概要 RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 MX2 Uptime: 1037 小时 = 43 天 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 应用目标(产品角度): Longer Uptime ▶ 用户体验 ▶ RAS 是产品的基本需求也是核心需求 ▶ 品牌价值 ▶ 提升用户口碑,扩大品牌价值 ▶ 降低成本 ▶ 降低返修率和维修费用 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 应用目标(技术角度): Longer Uptime ▶ Reliability: 可靠性高 = 死机次数 / 持有时间 ▶ 故障(死机、重启等)少 ▶ Availability: 高可用性 = Uptime / 持有时间 ▶ 持续可用时间长 ▶ 性能高、响应快 ▶ 系统内存泄露少 ▶ 待机功耗小 ▶ Serviceability: 高可维护性 = Uptime / 开发周期 ▶ 解决问题快 ▶ 手段多 ▶ 工具齐全 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 Android: Linux Inside Figure : Android/Linux 关系示意图 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 Android + Linux = Android Linux Figure : Android 对 Linux 做了大量改进 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 Android RAS Practice: RAS Revolution ▶ Error Reporting ▶ Ram Console: Panic to DRam ▶ Apanic: Panic to Flash ▶ Panic Timeout ▶ Logger + Logcat ▶ Debugger ▶ IRQ/FIQ Debugger ▶ Android Debug Bridge(adb) ▶ Ledtrig-Sleep ▶ Autotest ▶ CTS ▶ Fastboot ▶ Monkeyrunner 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 Android RAS Practice: RAS Revolution(Cont.) ▶ Improve Performance ▶ OOM –> LowMemoryKiller ▶ Ashmem/Pmem + Binder ▶ Yaffs2 ▶ Power Management ▶ Early suspend ▶ Autosleep + Wakelocks ▶ Alarm Timer ▶ Security ▶ Paranoid network 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 部署: 一个可靠性防护的系统性保障工程 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 三要害: Faults, Errors and Failure ▶ Faults/缺陷 ▶ 固有的不足和瑕疵 ▶ 例如:需求不明确、设计缺陷、算法漏洞、代码不规范 ▶ Errors/错误 ▶ 运行过程中,上述缺陷引起的的偏离正确状态的各种问题 ▶ 例如:因为延迟不够导致访问寄存器出错,因为锁操作设计 缺陷导致死锁等 ▶ Failures/故障 ▶ 使用时,上述错误导致的偏离客户需求的各种系统表现 ▶ 例如:需求不完整导致系统运行不符合客户需要,系统运行 过程中资源不够而崩溃,组件不兼容,文档描述错误 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 三要害关系(实例分析) :逐步恶化 ▶ 需求: 当余额不足 100 或者刚好为 100 时,不允许提款 ▶ 实现 if (Balance < 100) return false; else WithDrawal(); ▶ 缺陷、错误和故障 ▶ 缺陷 ▶ Bug: if (Balance < 100) ▶ 错误 ▶ 不正确的条件: when Balance = 100 ▶ 故障 ▶ 偏离需求: withDrawal() called when Balance = 100 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 三要害防护措施 ▶ Serviceability: Fault Removal/修复缺陷 ▶ 分析和总结各种常见的故障模式 ▶ 在故障出现之后修复缺陷 ▶ 对应问题的解决过程/Debug 过程 ▶ 代价最大 ▶ Availability: Fault Tolerance/容错机制 ▶ 运行过程中即使出现错误,也能够继续提供服务 ▶ 对应软件本身的运行过程 ▶ 代价较小 ▶ Reliability: Fault Prevention/预防缺陷 ▶ 避免/检测缺陷的引入和发生 ▶ 对应产品发布之前的整个研发进程 ▶ 代价最小 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 防护之盾 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 RAS 防务图 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 Android RAS 防务图 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 参考资料 ▶ 一张图证明这手机不错、有招! (招已给完) ▶ http://bbs.meizu.cn/viewthread.php?tid=4360801&highlight= ▶ Android OS for Servers? ▶ http://elinux.org/images/8/89/Elc2011_stultz.pdf ▶ Andriod - A case study of an Embedded Linux Project ▶ http://elinux.org/images/c/ca/Gregkh-android-presentation-kernel.pdf ▶ Linux Inside Android Picture ▶ http://devsbuild.it/resources/type/presentation/inside-androids-ui ▶ Android Linux Picture ▶ http://www.androidpit.com/Ice-Cream-Sandwich-Top-15-Rumors-About-Android-4-0-Part-2 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -
. . . .. . . . .. . .
. .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . .. . . . .. . . . . .. . . . .. . . . . .. . . . .. . . . .. . RAS 应用目标 RAS Android 实践 RAS 系统化部署 参考资料 谢谢 吴章金 wuzhangjin@gmail.com - Android Linux RAS Practice -