以Android为例,我们来深入剖析一下这个目前全球移动市场用户占有率最高的“移动智能系统”。Android是一个以Linux为基础的 半开源操作系统,一切源代码都是公开免费的。然而实际上,Android操作系统的内核只属于Linux内核的一个分支,只是具备典型的Linux周期和 功能而已。
Android操作系统中的应用程序大部分都是由Java编写的,但是Android却是以转换为Dalvik executables的文件在Dalvik虚拟机(支持已转换为.dex即Dalvik Executable格式的Java应用程序的运行)上运行的。由于Android中并不自带Java虚拟机,因此无法直接运行Java程序。不过 Android平台上提供了多个Java虚拟机供用户下载使用,安装了Java虚拟机的Android系统可以运行J2ME的程序。这里额外提一个比较特 别的阿里云,其完全基于云端的应用架构为了能够兼容apk文件包,而自行搭建了虚拟机。
截止至2012年7月2日,不同的Android操作系统版本的用户比例
(图片来自Wikipedia)
从这一部分的阐述来看,即便是基于同一个内核,也可以开发出不同的接口库(如可编程接口API等),不同的外围,进而开发出与之匹配的驱动程序。简言之,诸多同样基于Linux内核的平台,在某种意义上来说,可以称呼它们为不同的操作系统。