Android 本质上是一个基于 Linux 内核上面运行的 java 虚拟机,而且是一个山寨版Java虚拟机,底层用的是极度精简后的Linux内核(系统),用Linux系统来启动Android的Dalvik虚拟机,所以同样可以用诺基亚的塞班系统来启动,Java是一种与平台无关的编程语言,具有可移植性。
手机上 WM 系统内核是 WinCE ,Symbian 系统里面 Symbian 就是内核,Nokia 的 S60系统这个 S60 就是界面+功能函数库。索尼爱立信之前的几款手机也有 Symbian 的内核,但用户界面是 UIQ 。
Android 不过就是借助了 Linux 内核作为系统的基础,配合自己的 Andriod 基础二进制函数库和一些开源软件作为基础功能支持,跑上自己的 Dalvik 虚拟机,实际看到的 Android 界面,其实是 Dalvik 虚拟机里面运行的 java 程序。Android = Linux 内核 + 功能函数库 + Dalvik虚拟机 + java 程序。
从系统的开发分层和难度来说,既然有了开源的 Linux ,为什么还要自己去开发内核?就好象大家玩的一些游戏,有 Windows 系统可以直接跑,没有几个厂家会去重新开发底层系统。就连游戏机,其实他的操作系统和功能库也都是现成的,游戏开发者只需要根据系统的功能写程序就可以了。
这样很好的减少了开发难度和成本。 |