不論是智慧型手機、數位電視或平板電腦,都相當注重網路、應用及使用者的體驗感受。愈來愈多這類連網裝置採用Linux核心、開放原始碼軟體發行版或專屬軟體堆疊。能夠執行各種開放原始碼軟體的硬體,通常是能夠以行動裝置的功耗水準達到接近個人電腦(PC)效能的處理器系統單晶片(SoC)為核心。這些SoC整合了安謀國際(ARM)所提供的Cortex處理器核心、圖形處理器、視訊處理器、記憶體介面及周邊,並已廣泛應用在各種手持式設備中(圖1)。
|
圖1 以ARM Cortex-A9核心所構成的SoC設計與應用範例--TI的OMAP4及ST-Ericsson的U8500。 |
雖然蘋果(Apple)的OS X及微軟(Microsoft)的Windows Phone等封閉原始碼軟體平台獲得極大的成功,但近來市場的討論焦點卻集中在可在高效能SoC上執行的Linux開放原始碼軟體。因為Linux開放原始碼的特性,可允許終端產品製造商自由發揮,創造出獨特的產品給消費者,且市場上存在眾多SoC供應商,對終端產品製造商而言,可提供多元化的硬體選擇。這兩項特性對各式各樣聯網裝置而言,正好切中需求。
聯網裝置的市場商機相當龐大,且市場正從PC時代轉為聯網時代(圖2),相關的裝置數量將以數十億計算,對於原始設備製造商(OEM)、原始設計製造商(ODM)及晶片製造商而言,這是最大的機會。
|
圖2 運算裝置自1960年代以來,已歷經三波重大轉型。 |
多元選擇並非百利無一害
不過,多樣化的軟硬體選擇固然有助於協助終端裝置製造商開發各種產品,卻也有其缺點。Linux基金會執行董事Jim Zemlin曾指出,Linux最棒的地方在於,任何用Linux核心延伸的作業系統都可以叫做Linux,不過這也是Linux最麻煩的地方。這兩句話的重點在於,Linux的多樣性及廣大的使用族群對其發展有正面影響,但也衍生出各種軟體版本紛亂的問題,再加上多樣化的SoC選擇,亦使問題變得更加複雜(圖3)。對於開放原始碼裝置的開發人員而言,解決之道不是從眾多Linux發行版本中選一種,就是自行研發專屬的Linux。這兩種作法都可行,不過各有問題及挑戰要克服。
|
圖3 這是一個充滿眾多Linux發行版本/堆疊和各種SoC的世界。 |
對晶片廠商而言,多元化的軟體版本意味著必須建立極為龐大的軟體團隊,才能對各種Linux發行版本提供支援。這些工程師開發出電路板支援套件(BSP)的同時,還必須追上各種發行版的更新速度。在開發支援套件的過程中,可能須撰寫數千個軟體修補程式,才能使軟體在晶片上順利運行。如果該軟體團隊一開始就使用最新版的核心及工具開發,甚至有機會將部分修補程式向上游推送,亦即將自家的研發成果以開放原始碼的形式免費提供支援。
通常,SoC相關軟體的開發工作都落在晶片廠商身上,但開放原始碼軟體及開發工具不斷推陳出新,便形成一種永無止盡的循環。晶片廠商必須不斷追趕軟體更新,以支援最新的核心、工具及中介軟體,任務雖然艱鉅但卻不得不為。而這就衍生出一大問題:到底要投資多少,以及要對上游哪些開放原始碼軟體投資,才能真正裨益所有人(包括競爭同業)。
對於終端產品的製造商而言,這也會帶來一些問題。因為終端產品的設計開發必須仰賴SoC供應商所提供的BSP,多元化的軟硬體組合會使得BSP的版本數量膨脹,讓專案管理變得極為複雜,而且BSP開發、最佳化與驗證均需要時間,才能確保BSP的品質。未經驗證與最佳化的BSP,可能會拖累終端業者的開發速度。
大廠攜手促成底層標準化/最佳化
有鑑於BSP對於各種聯網裝置開發的重要性,及各家SoC供應商在BSP研發上重複投資了太多不必要的資源,ARM、飛思卡爾(Freescale)、IBM、三星(Samsung)、意法-易利信(ST-Ericsson)及德州儀器(TI)共同成立了一家名為Linaro的非營利公司。
由於Ubuntu、Android等Linux發行版本的高知名度與成功,只要提到Linux公司,許多業界人士常會以為是發展自有Linux發行版本的公司,但Linaro志不在此。Linaro的成立宗旨在於簡化與加速基於各種開放原始碼發行版和軟體堆疊的終端產品發展,並且集結資源投資上游開放原始碼專案。這是一家開放原始碼的軟體工程公司,組成的成員均提供資源以共同解決和產品差異化無關的問題:工具、核心及中介軟體。
|
圖4 Linaro著重在核心工程,可支援各種軟體發行版/堆疊。 |
Linaro將致力於研發對所有Linux發行版本/堆疊都有利的軟體工程架構。讀者可從圖4更清楚地了解到,Linaro是一家專注於Linux底層最佳化的公司,Linaro的工作成果可以讓終端產品製造商更快開發出以Android、MeeGo等各種Linux發行版本為基礎的聯網產品。
因此,對Linaro團隊而言,從歧異的軟硬體版本中找出共通性,促使各種發行版本和專屬Linux專案採用Linaro的核心工程,並定期發表更新的核心與BSP工具,讓不同晶片能支援最新的軟體版本,遂成為公司的宗旨。
具體來說,Linaro的工作分為三類,一是與現有的上游專案合作,持續提升軟體及工具以裨益整體電子產業,共享投資效益;二則是開發可在各種SoC上執行、包含最新程式碼及工具的發行版本(Staging Tree);三則是協助晶片公司將軟體置入晶片,支持裝置製造商在實際產品中使用軟體。
消除不必要分化 創造多贏局面
Linaro投入Linux底層標準化與最佳化,消除不必要的分歧,可以讓所有行動聯網裝置的使用者、硬體裝置開發者與軟體業者同時受益。
對於消費者,Linaro有助於軟體及產品多樣化的發展。Linaro獨立於任何Linux發行版和軟體堆疊之外,因此,不論使用LiMo、Ubuntu、MeeGo或Android的產品都能夠獲得支援。此外,由於Linaro支援眾多SoC,因此消費者將有不同價位及效能組合的產品可選擇,且軟體經過最佳化及驗證,將使處理器可在相同功耗的前提下發揮更高的效能。
對開放原始碼社群來說,Linaro的成立也可帶來許多好處,例如Linaro每6個月發行一次已通過一些新硬體驗證的最新程式碼,開放原始碼社群可以此為基礎,進行自己的開發專案,且由於這些程式碼均已經過SoC硬體驗證,因此品質相對穩定。目前許多Linaro的創始成員均已推出基於Cortex-A8或雙核心Cortex-A9的SoC產品,可以低功耗支援大型聯網裝置的高效能。
對半導體元件供應商而言,由於Linaro的出現,日後提供Linux支援的成本可以大幅降低,且軟體最佳化程度更高,亦可提升BSP的品質,協助終端產品製造商快速推出產品,這意味著晶片進入量產狀態的時間可以壓縮得更短。
對終端設備製造商來說,由於晶片廠商提供的軟體經過核心/工具驗證、品質更高,除了縮減除錯時間外,也大幅縮短上市時程,除了使裝置可以運作外,廠商也有更充裕的時間利用軟體做產品差異化。
此外,因為軟體已經過最佳化,因此硬體元件的使用量,如記憶體容量也可以跟著減少,降低系統元件的成本。此外,軟體最佳化之後,在處理器上的執行效能也可獲得大幅提升,毋須提高處理器的時脈速度或耗電量,也可提升使用者體驗。
秉持開放精神 人人均可參予
為了提升工作執行效率,達到每6個月提供一次更新版本的目標,Linaro選擇採用公司的組織型態,以避免和目前許多Linux開發社群一樣,雖然保持自由開放的精神,但卻有組織過於鬆散的問題。Linaro的主要控股結構是一家在英國註冊且有限擔保的非營利公司,雖然該公司有權追求財政盈餘,不過禁止向成員分配利潤,而且任何利潤都將再投資,以進一步實踐其目標。如此的結構提供了一個明確的成本分攤辦法,及互惠的交易基礎。
雖然Linaro是以公司的型態呈現,然身為Linux開放原始碼社群中的一員,Linaro仍希望能盡力保持開放原始碼社群的自由與平等原則。因此,任何公司、社團或個人都可以自由加入Linaro,投注心力及資源於Linaro專案。投入的程度將決定成員在組織中的會員層級。會員層級分為三種,分別是核心成員、社團成員與社群成員。其中,核心成員屬於投入重大資源的董事會層級成員;社團成員則是在技術指導委員會(Technology Steering Committee)中擁有席次的成員;社群成員則是個人或小型組織的免費會員。組織架構與投票辦法也經過特別安排,因此沒有任何一方的投票對於策略性決策有最終否決權。
Linaro將盡可能以透明公開的方式運作。所有工作小組的活動都向上游開發提交,平台工程也都公開。應用團隊的活動則較封閉,不過都盡可能透明公開。Linaro的管理也力求開誠布公,技術指導委員會及董事會的決策一律對外公布,除非成員一致決定不公開。
Linaro助力Linux截長補短
Linaro旨在促使開放原始碼開發更簡化、迅速且經過最佳化。採用各式各樣的軟體解決方案及進階SoC的「聯網螢幕裝置」(Connected Screens)市場規模可達數十億台,但要促使市場順利起飛,產業界必須形成一定的標準化共識。Linaro便將扮演此一角色,讓整體價值鏈都能受益。
Linaro將簡化開放原始碼開發以促使業界與開放原始碼社群合作、進行新投資並整合資源。軟體底層的分化問題將減少,運作效率將提升。新資源將運用於上游專案,每6個月發行一次、且通過各種SoC驗證的軟體和工具將成為其他Linux發行商和專屬軟體業者開發的基礎。Linaro的工程成果廣獲採用後,便能支援晶片合作夥伴及裝置製造商縮短上市時程。
(本文作者為Linaro全球聯盟主管)