|
不久前,軟體業者Green Hills Software (GHS)針對嵌入式Linux發表了一篇措詞犀利的批評,以下是該文的開場白:嵌入式Linux是迄今為止最誇大其辭的嵌入式作業系統;它自稱低價、高品質、高生產力、可靠、應用廣泛以及擁有妥善支援,但卻完全不是這麼回事…」" f3 W% ]9 l/ |( `) }, f$ c
- h7 V+ z* ]1 q$ Q, _: V
Green Hills接著恭賀Linux供應商承認這種作業系統是“一片混亂”(謝謝Wind River…)且是一個“大錢坑”(這也得謝謝MontaVista…)。然而,讚揚是短暫的──據GHS透露,這種憤世嫉俗的工作方式會讓你驚恐,以至於無法利用Linux自己編寫作業系統,而最終變為Wind River或MontaVista的客戶。1 s% H1 y3 O4 t/ Q |7 J4 N
9 y; ]+ ~# x; B1 m" ?7 {以上的言論有些粗魯,但GHS並不是中立的觀察家。該公司銷售自己的作業系統,因此,該公司可說是藉由表現對Linux的恐懼、不確定性以及疑慮(fear, uncertainty and doubt,FUD)而獲益。的確,筆者所交談過的每一家供應商均在Linux上採取顯然有利於自己的立場。下面是我聽到的若干例子:: q+ [, d, q( L0 A" x
- j# _4 @8 ~ a) p7 t# `" pMIPS:自我編寫的Linux非常管用!直接連結LinuxMIPS網站並下載!我們的Linux讓我們成為贏家!
8 [. e, ^$ ]. r4 k' n: A* w9 S) H
Wind River與MontaVista:免費的Linux是一場災難。然而,我們才提供“真正”的Linux,否則的話,你將在鍵盤面前不知所措!
/ m) D8 k9 I, u" \
. h% p4 ]+ T3 ^; J1 oQNX:Linux是一場災難。然而,我們的「類Linux即時作業系統(RTOS)」是很優秀的!9 ?* X/ ^0 t( X, e" a, ]
1 B) p. Y" @1 Z" [) v' DMicrosoft:拜託…你為什麼會看上Linux?如果採用WinCE,生活會更輕鬆!% A: @- I0 u# i& s0 ]
) `! }! v7 x! SMentor Graphics;Linux?WinCE?別開玩笑了…你可以從像Nucleus那樣輕量的RTOS中獲得你想要的一切。
; C5 K7 ^4 n3 s3 ?
* ~8 p( @1 `: F. u x至少有一件事情是肯定的──沒有人說Linux存在真正的缺點。然而,哪一家供應商說的是真相呢?或者說,他們是為了促銷才撒謊的嗎?1 P6 c# v: ]3 W" X9 M6 v( j
( A: w2 ?) a4 I/ N. U$ m實際上,每一個觀點均包含合理的成分;每一個專案均具有獨一無二的要求。因此,不同的專案會尋求不同的作業系統。以下筆者(無黨派人士)列出了當你在評價嵌入式Linux時,所應該提出的問題:
6 p/ K0 f7 W" q: {1 o. w+ f E5 K5 v
你需要全功能的作業系統嗎?嵌入式Linux很大,通常程式碼長度超過2MB。當然,你可以透過裁減像網路堆疊以及文件系統這樣的功能而壓縮作業系統,但這些功能正是你要採用Linux的主要原因。如果你不需要這些功能,你最好採用精簡的RTOS。
( D' t4 |0 W' U0 H: R) _0 u( W0 S' l: {! y" q" t* c
你能夠獲得針對特定應用功能的作業系統嗎?WinCE就提供無數的版本,包括專門為汽車應用而設計的版本。(QNX也一樣)。Nucleus提供針對可攜式媒體播放器的公用特殊功能;等等。
0 B& I( o4 m9 d7 z: E9 K# o5 K, n5 H0 c# S
授權(licensing)的模式是什麼?Linux General Public License (Linux通用公共授權)存在其缺陷;如果你想修改核心(kernel),就無法把修改過的核心與其他人分享。如果未經授權的程式碼溜進核心之中會怎樣?所有者是否應該決定控訴?對於生命週期長的產品,如汽車和網路基礎設備來說,像這些問題就是主要的問題。我們當中其他人常常忽視法律問題並且在下一個產品版本中簡單地升級核心。
2 U, X: c/ `1 S* G1 r( D
% W1 w% z0 Z8 o, h( uLinux會做出響應並足夠可靠嗎?我了解你在想什麼:嵌入式Linux是專門為解決這些問題而設計嗎?是的,但嵌入式Linux無法相容像INTEGRITY這樣的作業系統。
1 ~8 q# h7 Y0 R6 x
& F% X& d, k0 _- G+ [, t" M; j你願意現在付費或是以後付費?自己編寫Linux作業系統是免版稅的,但你必須付出重大的工程投資,以建構它並讓它順利執行。相較之下,商用的Linux套裝軟體(或競爭作業系統)能夠讓你以最小的前期投資成本進入市場。+ Y0 U7 K, g# i: W+ E J/ i. g
, N$ K( V6 m1 s6 l2 _3 P1 y! x
你要開始出貨多少產品?如果你的產量小,讓你的作業系統團隊急急忙忙自己開發作業系統的做法就沒有意義。
$ `5 V5 o, C4 F0 N
& z: a/ F* k0 f6 U7 a1 S4 I你的上市時間如何?如果你趕著上市,那麼,自己編寫作業系統的方法也沒有什麼意義。4 O4 B3 S9 t; E4 P
8 F% I$ Z1 s. r g* j對你的特殊的處理器、電路板或參考設計提供技術支援嗎?提供最佳技術支援的作業系統將給予你最低的NRE以及最短的上市時間。4 ^! M# { x9 s0 n0 t+ u
7 u! Q& h- E* P( t; O
你需要對接(port)你的現有程式碼嗎?大多數專案均是在現有的程式碼上建構的。如果在對接程式碼上浪費太長時間,你就會喪失轉換作業系統所獲得的好處。(你實際上可以跳過這個問題,但是,會增加系統的另一層複雜性。)
. o+ z; J; t) o% r/ s; K2 S
4 O3 i7 g+ ^5 ]" S你的工具鏈支援作業系統嗎?如果不是,你就要轉換。這就增加了學習曲線並讓設計團隊不穩定。如果你願意轉換工具鏈,要尋找如MIPS的Linux焦點分析儀這樣的具有作業系統的功能。1 q! E5 A, { V( _$ B- w
" X& R2 n: P9 ?6 }9 z; c( t不論你對嵌入式Linux做出什麼決定,對那些軟體供應商的說法持一些保留態度總是對的。例如GHS雖然對Linux大肆批評,但該公司的MUTLI IDE自從2001年起就支援嵌入式Linux。你自己想想:如果GHS真的認為嵌入式Linux是一場災難,為什麼該公司要為它提供支援呢?
. s+ a, @' {/ _! t2 U) V& ? u# g4 m7 A$ g
(參考原文: Commentary: What's the deal with embedded Linux?)
3 B, K% Y1 }0 S& c% `- d# N& X
2 h: ~( U$ s# A: j(Kenton Williston)
& S- q* F6 M8 }8 Z% z
" N0 ^& k# }. x3 F: {" _Source URL: http://www.eettaiwan.com/ART_8800521949_676964_NT_47cee236.HTM |
|