以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內核的平臺,在某種意義上來說,可以稱呼它們為不同的操作系統。