真實系統、效能與前沿

Android

/ AN-droyd /

Android 是全世界多數智慧型手機,以及無數平板、手錶、電視與車用儀表板上的作業系統。從使用者角度看,它像是一套自成一體的手機系統,但底層它建立在 Linux 核心之上——正是驅動伺服器與超級電腦的同一個引擎,在此被調校為適合一台靠電池供電的觸控裝置。把它想成一具熟悉的汽車引擎(Linux)裝進為某種特定駕駛而設計的車身與儀表板(Android 軟體堆疊)裡。

其決定性的觀念,是坐落在那個 Linux 核心之上的受管理執行期(managed runtime)。多數 Android app 並不像經典桌面程式那樣直接編譯成機器碼;它們在 Android Runtime 中執行,由它執行 app 的可攜形式,並把每個 app 隔離在各自的沙盒裡。在執行期之下,Linux 核心仍做著真正的作業系統工作——排程、記憶體管理、驅動程式——但 Android 加上自己的部件與政策:自訂的電源與喚醒鎖(wakelock)機制以省電、在記憶體吃緊時關閉背景 app 的低記憶體終結器、用於快速行程間通訊的 Binder 機制,以及一套每個 app 各自的安全模型,其中每個 app 實際上以自己的使用者身分執行、權限受到謹慎限制。

誠實的釐清是:Android 並不等於 Linux,儘管它使用 Linux 核心。它刻意略去大部分常見的 GNU/Linux 使用者空間(熟悉的外殼工具與函式庫),改以 Android 自己的執行期、函式庫與框架取代。所以 Android 最好被描述為一套完整的行動作業系統,恰好圍繞 Linux 核心與一個受管理執行期而建——這是同一個核心被重塑為一個截然不同產品的清楚例子。

你把聊天 app 留在背景並開始玩遊戲。當記憶體吃緊時,Android 的低記憶體終結器悄悄結束聊天 app,把記憶體釋放給遊戲;稍後點一下聊天圖示,它會重新啟動。底層的 Linux 核心提供了記憶體的記帳,但「該終結哪個 app」的政策是 Android 自己的。

底層是 Linux 核心,上層是 Android 的執行期與政策。

說 Android 就是 Linux 只對了一半。它使用 Linux 核心,卻以自己的執行期與框架取代了幾乎所有典型的 Linux 使用者空間,所以多數 Linux 桌面程式無法不經修改就在 Android 上執行。

又稱
Android OSAndroid 作業系統