“自主”手機(jī)操作系統(tǒng):如何判定及怎么做
案例
本文引用地址:http://www.ex-cimer.com/article/139576.htm這里給大家介紹筆者早先和美國(guó)一家公司合作,嘗試搭建的一個(gè)操作系統(tǒng),其實(shí)在當(dāng)年這些東西的基礎(chǔ)上,搭建出來(lái)一個(gè)有別于Android的開(kāi)源“自主”操作系統(tǒng)還是非??斓?。
這個(gè)系統(tǒng)使用了Linux內(nèi)核和標(biāo)準(zhǔn)的C/C++函數(shù)庫(kù),以及一些和Android體系結(jié)構(gòu)類似的C/C++運(yùn)行庫(kù),使用了筆者公司的開(kāi)源軟件MiniGUI、WebKit瀏覽器核心引擎等等?;A(chǔ)的東西就這些。之上是開(kāi)源的KaffeJVM(后來(lái)改成了CacaoJVM),和符合J2SE規(guī)范的類庫(kù)實(shí)現(xiàn),再往上就是運(yùn)行環(huán)境和框架了。見(jiàn)下圖:

可惜的是,真正具有核心價(jià)值的運(yùn)行環(huán)境和框架,是美國(guó)合作方自己開(kāi)發(fā)的,我手里沒(méi)有源代碼。相信讀者也能明白,美國(guó)合作方掌握的才是精華。
如果要在這套系統(tǒng)基礎(chǔ)之上快速開(kāi)發(fā)一個(gè)“自主”的操作系統(tǒng),我們需要:
·重新定義類庫(kù),也就是基礎(chǔ)API,讓我們的系統(tǒng)從靈魂上有別于其他系統(tǒng)。必要的話,優(yōu)化或替代開(kāi)源的虛擬機(jī)(淘寶最近開(kāi)源了一個(gè)JDK虛擬機(jī),不過(guò)是針對(duì)J2EE的)。
·全新設(shè)計(jì)和實(shí)現(xiàn)適合于智能手機(jī)的運(yùn)行環(huán)境、框架。
·全新設(shè)計(jì)基本的智能手機(jī)應(yīng)用軟件。
·開(kāi)發(fā)模擬器,并集成到Eclipse集成開(kāi)發(fā)環(huán)境中。
·還有,這個(gè)系統(tǒng)是2006年開(kāi)發(fā)的,我們還需要將底層的內(nèi)核、基礎(chǔ)函數(shù)庫(kù)等更新到比較新的版本。
要做的工作還是蠻多的,但這個(gè)系統(tǒng)在2007年的時(shí)候,就已經(jīng)可以運(yùn)行在主頻在200MHz左右的手機(jī)上了。
當(dāng)然,這個(gè)系統(tǒng)離本人定義的真正“自主”的操作系統(tǒng)還有很大的距離。但是,起碼技術(shù)上的方向是基本正確的,要知道,這個(gè)系統(tǒng)幾乎是和Android同時(shí)發(fā)起的。后來(lái)在2007年,谷歌宣布開(kāi)源Android后,美國(guó)合作方敏銳感覺(jué)到了Android將是未來(lái)的趨勢(shì),就直接轉(zhuǎn)向了Android平臺(tái),項(xiàng)目也就終止了。
五、給相關(guān)人員的建議
1、給政策制定者:“自主”切忌急功近利
這里所說(shuō)“政策制定者”主要指的是“核高基”等政府資助項(xiàng)目的決策人。其實(shí)前面已經(jīng)說(shuō)過(guò)了,這里重申一下:
政府需要在更長(zhǎng)的周期內(nèi)(至少五年),考核受資助企業(yè)的市場(chǎng)份額是否有擴(kuò)大,是否建立了良好的生態(tài)系統(tǒng),讓使用者、開(kāi)發(fā)者欲罷不能,而不是簡(jiǎn)單的著作權(quán)證書和專利數(shù)量,或者是否達(dá)到了一個(gè)給定的出貨量(因?yàn)槌鲐浟渴强梢宰骷俚?。也就是說(shuō),我們應(yīng)該重新定義“自主”這兩個(gè)字,從“自有知識(shí)產(chǎn)權(quán)”向“有效知識(shí)產(chǎn)權(quán)保護(hù)下的自己主導(dǎo)”轉(zhuǎn)移;在知識(shí)產(chǎn)權(quán)方面,要強(qiáng)調(diào)有效專利數(shù)量,而不是著作權(quán);甚至應(yīng)該要求受資助企業(yè)按某種許可證條款開(kāi)放源代碼。
政策制定者甚至可以參照本文第三章給出的“自主”操作系統(tǒng)之定義,將整個(gè)“自主”操作系統(tǒng)的研發(fā)和推廣分為三個(gè)部分:
·科研類,兩到三年為周期,以研究新的編程語(yǔ)言及其相關(guān)設(shè)施(如虛擬機(jī)及其優(yōu)化技術(shù))為主。
·工程類,兩到三年為周期,圍繞指定的編程語(yǔ)言發(fā)展外圍工具鏈(編譯器、調(diào)試器)、開(kāi)發(fā)工具、運(yùn)行環(huán)境、框架等。
·法律類,半年到一年為周期,研究和分析采納已有編程語(yǔ)言面臨的知識(shí)產(chǎn)權(quán)風(fēng)險(xiǎn),如何規(guī)避等等。
政策制定者切忌急功近利,要按照客觀規(guī)律辦事,將科研類的課題交給研究機(jī)構(gòu),將工程類以及市場(chǎng)推廣等方面的課題交給企業(yè),將法律類的課題交給大專院校。只有這樣,才能首先讓方法正確,方法上正確,加上合理的考核制度,才能讓錢產(chǎn)生真正的效益。
在花錢方面,在一盤大棋下的統(tǒng)一部署下,初期讓多一些的企業(yè)或機(jī)構(gòu)參與,一年一驗(yàn)收,逐步淘汰那些不合格的,最后剩下來(lái)一、兩個(gè)企業(yè)就好。十億美金,外加企業(yè)自籌部分,我看基本夠了。
2、給大型企業(yè)決策者:“自主”大不易
有意開(kāi)發(fā)“自主”操作系統(tǒng)的大型企業(yè)決策者首先要明白,開(kāi)發(fā)“自主”操作系統(tǒng)是一個(gè)長(zhǎng)期、艱巨的系統(tǒng)工程。甚至,你需要準(zhǔn)備一大筆錢來(lái)和已有的巨頭打官司(微軟賠付給Sun幾十億美金之后,才讓自己的C#和.Net平臺(tái)成為“干凈”的語(yǔ)言和平臺(tái))。
另外,如前所述,不管是真心還是假意,都要拿出十足的架勢(shì)來(lái)真做,而且,對(duì)內(nèi)、對(duì)外都要強(qiáng)調(diào)這點(diǎn)。要知道,你期望得100分,下屬大多數(shù)情況下只能給你80分;你期望得1000分,下屬也許就可以給你500分。這樣才能超出決策者自己的預(yù)期,才能收到更好的效果。
3、給技術(shù)負(fù)責(zé)人:難度不亞于“兩彈一星”
這事兒如果恰好讓你負(fù)責(zé),那簡(jiǎn)直是,怎么說(shuō)呢,是個(gè)“揚(yáng)名立萬(wàn)”的機(jī)會(huì)啊!你要知道的是,這事兒和制造“兩彈一星”差不多。
首先你要掂量掂量,你有沒(méi)有這個(gè)本事。所謂“沒(méi)有金剛鉆,不攬瓷器活”,說(shuō)的就是這個(gè)道理。有興趣的也別來(lái)找我,我做點(diǎn)小項(xiàng)目可以,真要我負(fù)責(zé),我沒(méi)這個(gè)本事。
另外一方面,你要是違背知識(shí)分子的良知,幫助一些不良人員騙取國(guó)家的資助款項(xiàng),就更不應(yīng)該了。這可是要被人戳脊梁骨的;有沒(méi)有錢拿永遠(yuǎn)是小事,昧了自己的良心可是大事。
4、工程上的建議
在具體的研發(fā)實(shí)施過(guò)程當(dāng)中,開(kāi)發(fā)負(fù)責(zé)人必須特別注意工程方面的問(wèn)題:
先做什么、后做什么,或者那些可以并行做。
不同的軟件模塊,應(yīng)采取不同的軟件開(kāi)發(fā)管理模型。API設(shè)計(jì)、框架等的開(kāi)發(fā),適合采用瀑布法模型;應(yīng)用軟件或者小型模塊的開(kāi)發(fā),適合采用敏捷開(kāi)發(fā)模型。但整個(gè)系統(tǒng),應(yīng)要不停迭代,所以版本控制非常重要。
特別要注意代碼的質(zhì)量控制以及文檔的全面、完備、簡(jiǎn)潔和邏輯性。
評(píng)論