赞
踩
Android 内核相较 QNX 与 Linux 在某些方面具备独有的优势。
1> 从架构来看,Android 的硬件抽象层对 Linux 内核驱动程序进行了封装,把对硬件的支持分成 了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中硬 件抽象层运行在用户空间,而 Linux 内核驱动程序运行在内核空间。Linux 作为宏内核,把对 硬件的支持和管理全部放在内核空间中,而复杂的内核结构会带来稳定性较差的问题;QNX 作为微内核,内核中只有最基本的调度、内存管理,驱动、文件系统等,但频繁的系统调用 与信息传递会使 OS 的运行效率较低。Android 内核居于 QNX 与 Linux 之间,较 Linux 有更 好的稳定性,较 QNX 有更高的效率。
2> Android 之所以在用户空间新建一个 HAL 层(指硬件抽象层)来支持硬件设备,是由于 Android 使用的开源协议是 Apache License,此协议比较宽松,其允许开发者获取并修改了 源码之后,不用把源码公开出来。而 Linux 使用的开源协议 是 GPL,它的要求和限制较多, 其中要求开发者添加或修改了源码之后,必须把添加或修改后的代码公开出来。HAL 层保护 了开发厂家的利益,但脱离了 Linux 的开源。安卓是开放的,但不是开源的,这也是为什么 把安卓从 Linux 分出去的主要原因。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。