1、Android平台在设计过程中,针对移动终端资源有限的特点,对Linux进行了一定程度的裁剪:砍掉了原生的窗口系统、去除了对GNU Libc的支持(引入了更高效、针对嵌入式优化过的Bionic)、裁剪掉了一些标准Linux工具的部分特性等。
另外Android针对移动终端的特点还对Linux内核在闹钟(Alarm)、Low Memory Killer、Ashmem、内核调试(Kernel Debugger)、进程间通信(Binder)、日志(Logger)、电源管理(Power Management)等方面做了大量的优化。
其中Low Memory Killer相对于Linux标准OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死进程来释放需要的内存。Low Memory Killer的实现主要位于aurora\msm\msm drivers/staging/android/lowmemorykiller.c文件中。
Ashmem为进程间提供大块共享内存,同时为内核提供和管理这个内存的机制。 Ashmem的实现位于system\core\libcutils\ashmem-dev.c文件中。
具体还有很多不一样。。。。。。
2、理论上X86上运行的和arm手机的android系统只要是同一个版本是没有区别,但是因为硬件配置不一样,版本不一样,每一家设计的硬件不一样,底层是有区别的,会根据屏幕分辨率,UI设计等等导致千差万别!
取消
评论