帳號:
密碼:
最新動態
 
產業快訊
CTIMES / 文章 /
嵌入式Linux系統轉移關鍵探討 (上)
 

【作者: Dan Noal、Tim Fahey】   2006年06月02日 星期五

瀏覽人次:【7036】

對於Linux轉移此一主題感興趣的工程師,或許正考慮或已決定要轉移其設備、產品線或整個開發團隊至Linux系統。根據近期的業界調查資料,例如由Venture Development Corporation(VDC)所發佈的嵌入式軟體策略市場情報(The Embedded Software Strategic Market Intelligence Program)顯示,Linux轉移所涉及的困難或問題並構成阻礙企業採納Linux系統的關鍵因素。


基於商業和技術上的多方面考量,愈來愈多的設備軟體市場開始採用Linux。而開放原始碼所帶來典型的益處則被視為選擇使用Linux於設備軟體專案的驅動要素,這些益處包括:


  • (1)免權利金;


  • (2)原始碼的取得容易;


  • (3)可從多種商業及非商業來源取得軟體;


  • (4)高品質的口碑;


  • (5)大量的開發人力資源;


  • (6)廣泛的通訊或整合能力;


  • (7)針對處理器的需要取得支援。



在以上列舉的優勢中,免權利金一項最常被視為決策的關鍵。免權利金所節省的成本,可讓Linux使用者總成本(Total Cost of Ownership;TCO)低於其他作業系統。


選擇商用套裝軟體

Linux最大的效益之一就是無所不在:在任何地方都可以找到由任何人所發行的Linux。所以當選擇了Linux之後,下一步便得決定究竟是要自行組合套件,或購買商用套裝軟體。而採用Linux系統並特別重視總成本的決策者,往往會選擇商用套裝軟體。


Linux使用者經常會有的疑問是:我在從事何種事業?我在開發作業系統還是應用程式?如果我不是作業系統商,那麼當我可以從商業版供應商取得一個預先整合、預先測試的開放原始碼作業系統時,為什麼還要浪費寶貴的研發資金在取得原始碼、組合、測試與發展作業系統上?


此外,這些使用者還會感到困惑:可以利用這些研發資金做其他的運用嗎?是否可以建立具機動性的新功能,使得在解決客戶問題上做得比競爭者更好更快?這是不是為客戶提供解決方案的更佳途徑?而為了解決以上這些問題,Linux使用者正積極朝著採用商用套裝軟體的方向邁進。


另一個驅使決策者採用商用套裝軟體原因則是上市時程。Linux使用者了解若要自行推出Linux版本,需要投入龐大的資源和時間。但若選擇一個預先組合且經過驗證的商用套裝軟體,便能減緩上市時程的壓力,並將有助於加速產品的上市。



《圖一 為何轉移到商用Linux商用套裝軟體?》
《圖一 為何轉移到商用Linux商用套裝軟體?》

一般而言,商用套裝軟體供應者所提供的支援或顧問服務,有助於縮短企業內部和產品上市所需的技術差距。相對於開放原始碼社群的支援,高時效性的廠商支援更能夠縮短上市時程,並提升客戶滿意度。這種種的因素都促使使用者傾向於採納商用套裝軟體。此外,還可藉此連結供應商的合作夥伴系統,尤其是當所選擇的硬體缺乏開放原始碼支援時,這項優勢即可能成為決定成敗的關鍵。這問題再次導向另一項抉擇:究竟是要將資源耗費在作業系統與硬體的連結,或投注於應用程式碼的開發上?


由於商業和技術等現實因素,促使開放原始碼社群向商業領域尋求協助以便實現Linux所應具備的效益。而選擇了軟體的來源,等同於選擇了開發工具或開發套件的來源。當然,開放原始碼和商用來源二者在這方面也各有所長。


當使用的開發工具完全來自於開放原始碼社群時,所擁有之原始碼也能以任何方式運用此工具,因此可掌握最高的控制層級。此外,也可以任意選擇其他相容工具,為設計增加所需的功能。開放原始碼意謂著不需簽署任何軟體或軟體支援合約。對某些使用者而言,不需管理與另一家廠商的合約,也免除了一項繁瑣的行政工作。


開放原始碼工具的經常成本(nominal cost)通常較低,這是因為並無直接的金錢交易。(不過必須注意的是,如果選擇自行開發作業系統,則在決定自行開發工具之前,就必須先充分了解將付出的機會成本。)由於開發工具免費且廣泛流通,因此能夠更快速地開始專案設計。相對而言,其他開發者則必須整合分散的開發工具,因此會影響專案的開始和完成時間。


在商用領域方面,部份商用工具供應商可提供整合式的開發套件。商用產品在出貨前都會進行商用級的品質確認,大多數開放原始碼的使用者也都肯定開放原始社群所提供的品質保證。值得一提的是,整體工具套件的品質保證比任何一個工具的品質保證更為重要,然而如果選擇開放原始碼的話,將需要自行進行這方面的確認。


有些商用開發工具廠商供應的開發套件,已經預先整合了符合特定行業的開發工具需求。藉由商用套件的幫助,可以免除繁重的工具整合程序,因此開發人員能夠更專注於應用軟體的開發。若客戶有額外的功能需求,例如增加第三方的plug-ins時,則仍需進行整合。商用工具廠商還能提供額外的功能,例如記憶體分析器或晶載除錯器(on-chip debugger)等,而這些並無法從免費的開放原始碼社群中取得。此外,商用解決方案提供支援和專業服務,可協助使用者克服在開發過程中所遭遇的困難。


轉移專案問題

當選擇了作業系統、作業系統的來源及開發套件之後,一切都已經就緒。但是在開始前,還必須進行一些準備工作才能讓專案的執行更成功,並確保後續工作能更加得心應手。


第一步需建立評量的基礎,以做為往後轉移成功與否的評估依據。有幾項因素必須評估:為何要進行這項改變?是否設定目標以定義Linux或商用級Linux的成功轉移?是否建立了評量決策效率的方法?如果選擇商用套裝軟體的目的是降低總體擁有成本(TCO),那麼如何知道是不是做到了?有那些因素必須進行評量,有那些不列入評量?


換個角度思考,便是如何以量化的角度證明所做的決策是正確的?測量的方法又為何?


首先,必須謹記有關投資報酬率(ROI)、TCO或任何將用來評量成敗風險的依據,其成效可能因評量方式而有不同的結果。一般關於降低TCO的評量因素包括無須負擔權力金、相對較便宜的程式碼維護,以及人力成本的節省等。而策略上的效益則屬於比較概念性的評量,意即當選擇了Linux及商用套裝軟體時,便可藉由下游產品或投資而建立競爭差異性的機會,或開啟為公司創造真正利益的大門,若作了不同的決定,則無法創造獲益。但如果現在不建立評量的基礎,將永遠無法得知真正的效益。


此外,使用者也必須透徹審視所做的假設,如果在這個階段出錯,將影響達到目標TCO的能力。同時必須辨識風險,並且建立一個有效的風險轉移計畫。風險一旦被忽視,將會變得更加麻煩,若風險不加以處理,則無可避免的將會增加TCO。


客觀評估、比較團隊能力及專案需求,然後決定需要何種協助。使用者或許需要一些特定的專案技術協助,例如測試與驗證、科技教育或整體專案管理等。因此可以選擇將整個專案委外給外部的服務提供者,讓團隊能繼續專注於應用軟體的開發。


最後,必須仔細地檢視此轉移專案計畫。雖然有點老生常談,但資料卻經常被忽略。根據VDC針對延誤嵌入式軟體專案的成員所做的調查研究顯示,超過40%的受訪者認為造成專案延誤的主要因素就是他們所稱的「不切實際的時程」。


當實際檢視專案的延誤狀況,就會發現事情比想像的嚴重。VDC報告指出,超過三分之一的嵌入式專案計畫時程遭到延誤,而另外的10%則乾脆直接取消其專案。儘管因素不一,不過從許多個案中可看出,若從一開始即妥善處理轉移,往往可以預防並阻止這些事件發生。但究竟該如何避免成為這些統計數字的一部份?採用Linux轉移措施將是最好的方式。


Linux轉移是項挑戰。如同一般的作業系統轉移,此系統轉換不一定都能順利進行、準時完成且符合預算。儘管Linux一開始便是以企業作業系統做為發展目標,且許多具備Linux專業知識的程式設計人員也來自於企業界,但如果程式碼未能妥善設計並針對嵌入式設備的限制進行調整,則可能讓Linux轉移專案出現風險。因此在Linux轉移計畫中,可遵循能讓任務式(task-based)解決方案成功的軟體開發原則。


重大的課題

大多數設備作業系統解決方案的架構和Linux有相當大的差異。使用者可以選擇最接近嵌入式作業系統的Linux軟體架構以簡化轉移的過程,但從以下幾點理由可看出,這並非適當的架構:


  • (1)Linux的系統呼叫(system calls)與現今嵌入式平台所使用的應用程式碼及中介軟體不同。因此使用者設備中的作業系統也許無法了解Linux發展的程序概念;


  • (2)既有的設備作業系統和Linux二者間的I/O架構可能有差異性;


  • (3)內部程序或內部處理器之間的通訊也許差異性頗大。在Linux內程序和執行緒(thread)的排程,也可能和使用者現有的應用程式經驗截然不同。



所以,當開始轉移的程序時,必須了解要用於評量成果的關鍵指標。轉移的關鍵效能尺度(需由使用者計畫和定義)是最優先的要件,必須從一開始就設定這些效能尺度,並向下實行至軟體架構層級。因為無論是延誤執行效能調整,或者定義效能尺度的時間點,從需求發展(requirements development)階段拖延至最終系統整合測試的最佳化階段,都將會導致在判定問題時的麻煩與困難。


品質測試是轉移的重大課題。在轉移設備上建立同等的功能性和品質,是一種風險性的賭注。Linux的功能性、效能和強韌度,都需要比RTOS版本的設備高上許多,因為投資轉移計畫所要求的報酬並非只是成本上的改善。


轉移到Linux設備作業系統的另一個重大影響,就是對於軟體開發環境所帶來的衝擊。這可能代表組織中的重大變化,而且如同其他重大的改變,它必須有效地被管理、組織和溝通。事實上,這對應用也將產生顯著的影響。


此外,關於如何處理軟體需求和設計、組態管理、整合測試、除錯、錯誤追蹤及軟體開發環境等方面也都可能產生變化。Linux環境可為程式設計人員帶來很大的改善機會,但同時也會伴隨著一些風險。目前已有很多不同的Linux軟體開發方法。工程師現在可以建立自己的工具鏈、除錯器、測試公用程式、IDE架構和測試scripts程式等。儘管這種由Linux所提供的自由性可能會導致混亂,並成為開發管理者的頭痛問題,不過,有經驗的開發管理者將能夠在自由創造與混亂間取得平衡。


為了讓Linux的轉移達到最簡化與最正面的效應,必需確實了解重要的科技尺度以評量轉移成效。從專案一開始即定義驅動因素和設定評量尺度,並於軟體架構各階層的轉移過程維持成效追蹤。


規劃

了解Linux轉移的技術問題是非常重要的,而專案領導人也必須定義專案階段、進入和離開的門檻、以及每一階段的成功尺度,才能帶領團隊朝專案目標前進。



《圖二 轉移方法》
《圖二 轉移方法》

(圖二)顯示在部份專案發展上所採用的方法,稱之為設備軟體最佳化方法學(Device Software Optimization Methodology)。此圖顯示一個軟體專案必須遵循的步驟。除了嚴謹和規律之外,也必須為程序建立文件、遵照文件執行、並且與團隊成員充分溝通整個程序。任何軟體專案都是遵循這些熟悉的程序步驟。其次,必須審視每一個步驟,包括針對特定Linux轉移專案所建立的最佳方法。


(本文作者Dan Noal為Wind River Systems美商溫瑞爾資深總監;Tim Fahey為資深經理)


(本文下期將介紹Linux轉移的方法學,以及如何運用此方法學達到最佳Linux轉移,為設計帶來最大的益處,敬請期待)


相關網站

Wind River美商溫瑞爾網站

Sun Microsystems昇陽電腦網站

Novell網站

市場動態

一年前,IBM公司的主席和首席執行官薩姆-帕米薩諾信誓旦旦地表示要在2005年底以前向Linux桌面轉移,而現在,IBM開始對開源軟體問題的看法變得柔和了許多。IBM公司的發言人南西-卡普蘭稱:我們想法這是很明確的,有人在使用Linux,沒有人能告訴他們要停下來。相關介紹請見「IBM向Linux桌面轉移語調有所緩和」一文。

雖然目前實施的電子政務項目中以Windows 平台的居多,但是公司還是做了很多技術儲備以應對將來用戶可能向Linux平台轉移,而且 這種儲備可能會被證明是明智的。 就“預裝聯盟”本身而言,微軟也無法做到100%的控制。你可在「中國電子政務平台向Linux轉移」一文中得到進一步的介紹。

近日,IBM公司宣佈,OS/2所有產品的銷售將於今年12月23日停止,而多工作業系統也將於2006年12月31日前停止銷售,並開始向Linux系統轉移。在「IBM宣布OS/2壽終正寢向Linux系統全面轉移」一文為你做了相關的評析。

相關文章
Linux核心修補程式讓第五代樹莓派增速18%
多功能嵌入式系統新未來:從Android到Raspberry Pi 3
讓Windows和Linux一起跳森巴舞
Debian的系統設計哲學
Linux 開發者的最愛 - Debian
comments powered by Disqus
相關討論
  相關新聞
» 恩智浦提供即用型軟體工具 跨處理器擴展邊緣AI功能
» AMD攜手合作夥伴擴展AI解決方案 全方位強化AI策略布局
» 數智創新大賽助力產學接軌 鼎新培育未來AI智客
» 豪威集團與飛利浦合作開發車內駕駛健康監測解決方案
» 格斯科技與筑波科技合作進行高階電池檢測


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.117.7.6
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw