大家都知道Android是基于Linux的开放软件平台,它的系统构架图如下所示:
– Yaffs2具有以下特点:
. 日志系统:Yaffs2是一个日志型文件系统,因此具有掉电保护功能。它需要一定的额外RAM空间来存储日志
. 垃圾回收:Yaffs2具有高度优化和可预测的垃圾回收策略,因此该文件系统具有高性能以及deterministic。当可用的内存太少时,Yaffs2会执行垃圾回收。一个有dirty page和good page的block将会被选择,Yaffs会把好的页面考到另外的block,然后把当前的block标记为dirty,并且擦出,使之能够再次被使用。
. 较少的额外内存需求:它比其他的大部分文件系统都需要更少的额外内存,因此具有更高的扩展性
. 灵活性,可移植性,健壮性。
6. Frame Buffer
– 需要double buffering aka panning 功能
– 分配实际frame大小两倍的内存
– Pan 功能选择实际输出到屏幕的buffer
7. Power Management
– 基于linux的电源管理
– More aggressive 的策略- “没有说要用,就关掉“
– 使用wakelock(唤醒锁)来管理电源
8. Bionic
– Andriod 版的Libc
– glibc 和 uclibc 都是基于LGPL版权
– 为了避免版权的纠纷,Android自己开发了仅有200k的BSD版权的bionic,除此之外,bionic更加适合小型移动设备
– Bionic不支持c++异常
– Bionic不与glibc或者uclibc兼容
– Bionic有意不提供System-V IPCs机制(semget(), shmget(), msgget()等)
– 不支持System-V IPC 的原因是“they lead to global kernel resource leakage” (会导致全局资源泄漏)
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24720 人正在系统学习中 相关资源:CCleaner(系统垃圾清理工具)V3.18.0.1707绿色中文版_ccleaner下载…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!