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