Fuchsia's 軟體模型

Fuchsia 這個作業系統執行許多與傳統作業系統不同的工作。在著手開發 Fuchsia 應用程式之前,請務必瞭解這個軟體模型在 Fuchsia 中的運作方式。

在 Fuchsia 中,幾乎所有內容都是元件,也是可執行軟體的單位。元件架構是在 Fuchsia 上執行所有元件。如要進一步瞭解元件和元件架構,請參閱「Fussia 元件架構簡介」。

API 依附元件可讓不同元件定義另一個元件的依附元件。這些 API 依附元件是抽象的,也就是說,介面的實作是由其他元件定義,並由元件架構解析。元件透過 FIDL 與依附元件通訊,FIDL 指的是 Fuchsia 用來描述 Fuchsia 上元件的處理序間通訊 (IPC) 通訊協定的語言。如要進一步瞭解 FIDL,請參閱「FIDL 總覽」。

透過套件發布元件

在 Fuchsia 中,元件及其相依檔案和圖片通常會透過套件發布,而套件是 Fuchsia 中的發行單位。

Fuchsia 會在安裝時解析封裝的依附元件,藉此建立 ABI 依附元件。系統會在執行階段解析外部套件資源的參照,形成 API 依附元件,而非 ABI 依附元件。(執行階段解析類似於網路服務架構模型)。

元件會經過整理,以在套件中保存重要依附元件;這也意味著在建構時繫結至其內含套件的「子套件」,允許 ABI 依附元件以靜態方式解析。

封裝其他元件的邏輯方法是使用子套件,針對元件的父項-子項關係階層建立鏡像,這樣一來,如果元件宣告了子項元件,系統就會透過父項元件套件中宣告的子套件載入子項。這樣做會封裝 ABI 依附元件,並確保出現子項元件的預期 ABI 版本。透過能力轉送 (由能力名稱公開、轉送及使用的服務,例如 FIDL 通訊協定) 的元件模型 API 依附元件。套件依附元件與能力轉送的關聯性較低,差別在於父項元件可以自動化調度管理獨立封裝的對等元件建立作業 (無論是否為子封裝),並宣告這類元件之間的能力連線。