麒麟系統(tǒng)為何飽受非議?
由國(guó)防科大開(kāi)發(fā)的麒麟操作系統(tǒng)有很多,與國(guó)防科大混亂的 CPU 產(chǎn)品線(xiàn)一樣,這些麒麟操作系統(tǒng)彼此之間技術(shù)延續(xù)性也有限,比較有名的是銀河麒麟、優(yōu)麒麟和中標(biāo)麒麟操作系統(tǒng)。
另外,華為準(zhǔn)備推出的可能被用于手機(jī)或物聯(lián)網(wǎng)的操作系統(tǒng)也被命名為麒麟。
銀河麒麟
銀河麒麟是國(guó)防科大、中軟公司、聯(lián)想公司、浪潮集團(tuán)和民族恒星公司合作研制的開(kāi)源操作系統(tǒng)。
銀河麒麟系統(tǒng)操作系統(tǒng)借鑒了 Linux、FreeBSD、Mach 和 K42 等操作系統(tǒng)內(nèi)核技術(shù),兼顧宏內(nèi)核和微內(nèi)核結(jié)構(gòu)的優(yōu)點(diǎn),自主設(shè)計(jì)了層次式內(nèi)核結(jié)構(gòu)。
銀河麒麟的內(nèi)核結(jié)構(gòu)由基本內(nèi)核層和系統(tǒng)服務(wù)層組成,基本內(nèi)核層包括硬件初始化、基本任務(wù)管理、基本存儲(chǔ)管理、中斷與異常處理等。系統(tǒng)服務(wù)層基于 FreeBSD 進(jìn)行改進(jìn)和優(yōu)化,充分利用 BSD 操作系統(tǒng)的穩(wěn)定性和豐富的工業(yè)標(biāo)準(zhǔn)接口,為用戶(hù)提供工業(yè)標(biāo)準(zhǔn)的網(wǎng)絡(luò)、文件系統(tǒng)等服務(wù)接口,實(shí)現(xiàn)了 Linux 二進(jìn)制兼容模塊、高可用模塊和各種內(nèi)核安全機(jī)制等。
銀河麒麟系統(tǒng)操作系統(tǒng)核外工具環(huán)境基于 Linux 開(kāi)發(fā),采用 XWindow 作為系統(tǒng)的基本圖形環(huán)境,支持 Gnome 或 KDE 桌面環(huán)境,設(shè)計(jì)了 Windows 風(fēng)格的桌面環(huán)境和控制面板。
(銀河麒麟)
銀河麒麟曾經(jīng)飽受非議的原因并不是因?yàn)榛?FreeBSD 進(jìn)行修改——2006 年的銀河麒麟操作系統(tǒng)內(nèi)核與 FreeBSD 在源代碼上比較相似。
事實(shí)上,F(xiàn)reeBSD 是完全免費(fèi)開(kāi)源的,F(xiàn)reeBSD 允許他人修改并使用其源代碼,但必須聲明是修改自 FreeBSD。而銀河麒麟雖然聲明過(guò)修改自 FreeBSD,但在最初卻聲稱(chēng)是自主知識(shí)產(chǎn)權(quán),這顯然是對(duì) FreeBSD 的不尊重,也是在被國(guó)外程序員非議的地方。
那國(guó)防科大為何如此作為呢?用爆紅網(wǎng)絡(luò)的一句話(huà)就是“妥妥的體制問(wèn)題”!
現(xiàn)在大家耳熟能詳?shù)牟僮飨到y(tǒng)都是幾十年技術(shù)積累和站在巨人肩膀上的產(chǎn)物,而非憑空冒出來(lái)或從零開(kāi)始從新開(kāi)發(fā)的。
以國(guó)內(nèi)各單位、公司目前的實(shí)力,用2-3 年的研發(fā)周期,有限的人力資源,4000 萬(wàn)人民幣的研發(fā)經(jīng)費(fèi),要從零開(kāi)始獨(dú)立開(kāi)發(fā)一個(gè)擁有自己內(nèi)核的操作系統(tǒng)是絕對(duì)不現(xiàn)實(shí)——WindowsXP 有代碼 4000 萬(wàn)行,微軟開(kāi)發(fā) WindowsXP 調(diào)集了 5000 余名程序員,在開(kāi)發(fā) vista 所花費(fèi)的研發(fā)費(fèi)用超過(guò)了 200 億美元。
雷軍執(zhí)掌的金山軟件重寫(xiě) WPS 也足足用了 3 年時(shí)間,耗資 3000 萬(wàn)人民幣,而且雷軍重寫(xiě) WPS,微軟開(kāi)發(fā) Vista,國(guó)防科大開(kāi)發(fā)銀河麒麟大致處于同一歷史時(shí)期,因此,等于是要國(guó)防科大用與開(kāi)發(fā) WPS 相當(dāng)?shù)臅r(shí)間和 1.3 倍的財(cái)力,開(kāi)發(fā)一個(gè)操作系統(tǒng)……
因此,基于 FreeBSD 進(jìn)行二次開(kāi)發(fā)/深度定制就成為理所當(dāng)然的選擇。但是某些領(lǐng)導(dǎo)非常喜歡“自主知識(shí)產(chǎn)權(quán)”,在各種文件和規(guī)定中也要求必須完全“自主知識(shí)產(chǎn)權(quán)”,于是就出現(xiàn)了明明是基于 FreeBSD 的二次開(kāi)發(fā),卻聲稱(chēng)是完全自主知識(shí)產(chǎn)權(quán)的情況。
再次澄清一下,基于 FreeBSD 進(jìn)行修改并非污點(diǎn),基于 Linux 或 FreeBSD/Unix 進(jìn)行二次開(kāi)發(fā)/深度定制,做出自己的操作系統(tǒng),這其實(shí)大多軟件廠(chǎng)商通行做法,比如谷歌和蘋(píng)果。污點(diǎn)是基于 FreeBSD 進(jìn)行二次開(kāi)發(fā)/深度定制后宣稱(chēng)自主知識(shí)產(chǎn)權(quán)。
事實(shí)上,大部分基于 BSD 內(nèi)核或 Linux 內(nèi)核的操作系統(tǒng)都不會(huì)對(duì)系統(tǒng)內(nèi)核做多少修改,銀河麒麟系統(tǒng)為了適配國(guó)產(chǎn) CPU 和設(shè)備以及保障系統(tǒng)安全可控,自主設(shè)計(jì)了層次式內(nèi)核結(jié)構(gòu),對(duì)系統(tǒng)內(nèi) XWindow 核進(jìn)行修改、加固,并于操作系統(tǒng)中添加自己的內(nèi)核模塊,自主化程度相對(duì)于國(guó)內(nèi)其他國(guó)產(chǎn)系統(tǒng)算是比較高了,如果能沿著這條路一直走下去,不斷提升自己的代碼 比例,替換國(guó)外開(kāi)源代碼,開(kāi)發(fā)自己的內(nèi)核模塊,未嘗不是一條出路。可惜的是,已經(jīng)沒(méi)有如果了。
其實(shí)基于 FreeBSD/Unix 進(jìn)行修改的操作系統(tǒng)有很多,最有名的就是被小清新奉為圭臬的 IOS。但有意思的是,在國(guó)內(nèi)黑銀河麒麟的人相當(dāng)大一部分是攻擊它基于 FreeBSD 進(jìn)行修改,而不是沒(méi)有聲明該系統(tǒng)基于 FreeBSD,當(dāng)銀河麒麟已經(jīng)聲明是基于 FreeBSD 后,依舊被黑得不依不饒。
歸根結(jié)底,銀河麒麟的原罪僅僅是因?yàn)樗菄?guó)產(chǎn)。
至于為何不從 0 開(kāi)始寫(xiě)自己的操作系統(tǒng),這個(gè)話(huà)題以后再說(shuō)。
優(yōu)麒麟
優(yōu)麒麟是工信部、國(guó)防科大和 Ubuntu 系統(tǒng)開(kāi)發(fā)商 Canonical 合作的產(chǎn)物。其實(shí)是 Ubuntu 系統(tǒng)的中文發(fā)行版,國(guó)防科大在其中添加了安全模塊。
操作系統(tǒng)的編寫(xiě)要有很深的技術(shù)積累,其實(shí),現(xiàn)在大家耳熟能詳?shù)牟僮飨到y(tǒng)都不是從零開(kāi)始,都是站在巨人的肩膀上,比如 IOS 基于 FreeBSD、安卓基于 Linux,而 FreeBSD、Linux 追根溯源都是源自 unix,即使是微軟的 NT 內(nèi)核也和 unix 有著千絲萬(wàn)縷的聯(lián)系。
下圖為 Unix 發(fā)展史:
因此,Ubuntu 系統(tǒng)也是站在巨人隊(duì)肩膀上,Ubuntu 系統(tǒng)源自 Debian 系統(tǒng),Debian 是 linux 一個(gè)發(fā)行版。
中標(biāo)麒麟
因 2006 年沸沸揚(yáng)揚(yáng)的銀河麒麟抄襲事件導(dǎo)致銀河麒麟名聲掃地,出于未知的原因,國(guó)防科大逐漸放棄了 BSD 內(nèi)核版的銀河麒麟的繼續(xù)開(kāi)發(fā)與完善,轉(zhuǎn)而研發(fā) Linux 內(nèi)核的麒麟(也有可能基于 BSD 的麒麟純粹軍用,不向民間推廣了)。
雖然都叫麒麟,但是原來(lái)基于 BSD 內(nèi)核修改的系統(tǒng)已經(jīng)不再推廣,麒麟系統(tǒng) 3.0 版之后開(kāi)始使用 Linux 內(nèi)核,天河 1 號(hào)上運(yùn)行的很可能也是 Linux 內(nèi)核的麒麟。
2010 年,民用的中標(biāo) Linux 操作系統(tǒng)和國(guó)防科大研制的銀河麒麟操作系統(tǒng)在上海正式宣布合并,雙方今后將共同以“中標(biāo)麒麟”的新品牌統(tǒng)一出現(xiàn)在市場(chǎng)上,并將開(kāi)發(fā)軍民兩用的操作系統(tǒng)。
平心而論,當(dāng)初的基于 BSD 內(nèi)核的銀河麒麟被放棄著實(shí)令人惋惜,如果當(dāng)時(shí)能頂住壓力,繼續(xù)完善開(kāi)發(fā)麒麟系統(tǒng),而不是朝秦暮楚的話(huà),現(xiàn)在麒麟操作系統(tǒng)的自主化程度、安全可控程度和系統(tǒng)成熟水平可能會(huì)好得多。
中標(biāo)麒麟有面向中標(biāo)麒麟桌面操作系統(tǒng)、中標(biāo)麒麟服務(wù)器操作系統(tǒng)、中標(biāo)麒麟云操作系統(tǒng)等產(chǎn)品。能支持 X86、ARM、MIPS、Alpfa、Sparc,龍芯、申威、眾志、飛騰等國(guó)產(chǎn) CPU 均可運(yùn)行中標(biāo)麒麟操作系統(tǒng)。
雖然中標(biāo)麒麟操作系統(tǒng)軟件生態(tài)貧乏,但已能基本滿(mǎn)足上網(wǎng)、影音、辦公需求。雖然在民用市場(chǎng)毫無(wú)競(jìng)爭(zhēng)力,但在黨政軍市場(chǎng)已得到一定程度的推廣和應(yīng)用。 舉例來(lái)說(shuō),在 2015 中國(guó)計(jì)算機(jī)大會(huì)上,航天科工集團(tuán) 706 所研究員孔雷的發(fā)言中提到“航天科工集團(tuán)將 18 個(gè)核心經(jīng)營(yíng)管理類(lèi)應(yīng)用系統(tǒng)進(jìn)行了國(guó)產(chǎn)化遷移、適配、優(yōu)化,實(shí)現(xiàn)了從處理器、操作系統(tǒng)到數(shù)據(jù)庫(kù)、中間件的全國(guó)產(chǎn)化替代,并在真實(shí)科研生產(chǎn)環(huán)境下開(kāi)展了廣泛應(yīng) 用。”
龍芯中科 CEO 胡偉武曾在接受媒體采訪(fǎng)時(shí)透露,“航天科工的核心業(yè)務(wù)都轉(zhuǎn)移到國(guó)產(chǎn)平臺(tái)上,像這樣的應(yīng)用還有一些,這只是其中一個(gè)。比如航天科工的桌面和服務(wù)器 CPU 大部分都是龍芯,也有部分申威飛騰,操作系統(tǒng)是中標(biāo)麒麟,數(shù)據(jù)庫(kù)是達(dá)夢(mèng),辦公軟件 WPS……”
目前,中標(biāo)麒麟主要有兩個(gè)版本,一個(gè)版本由國(guó)防科大在維護(hù),主要是針對(duì)飛騰進(jìn)行優(yōu)化;另一個(gè)版本是中標(biāo)軟件在做,主要針對(duì)龍芯優(yōu)化。另外,還有針對(duì)申威優(yōu)化的版本,但不能和前兩者相比。
對(duì)于中標(biāo)麒麟的市場(chǎng)前景,短時(shí)間內(nèi)還是非常渺茫的,雖然惠普、戴爾、聯(lián)想都有預(yù)裝中標(biāo)麒麟的電腦,其中戴爾中國(guó)高達(dá) 40% 以上的電腦預(yù)裝中標(biāo)麒麟國(guó)產(chǎn)操作系統(tǒng),但軟件生態(tài)的貧乏使其根本無(wú)法與 Windows 競(jìng)爭(zhēng),預(yù)裝中標(biāo)麒麟的電腦大多在銷(xiāo)售過(guò)程中,被零售商安裝盜版 Windows 系統(tǒng)出售。
因此,中標(biāo)麒麟的崛起必須是整個(gè)產(chǎn)業(yè)的崛起,哪怕操作系統(tǒng)做得比微軟更好,也只能孤芳自賞,何況目前的中標(biāo)麒麟還有很大的改良空間。只有當(dāng)龍芯/飛 騰與中標(biāo)麒麟建立類(lèi)似于 Wintel 同盟的關(guān)系,并在中國(guó)半導(dǎo)體產(chǎn)業(yè)整體實(shí)力能與美國(guó)抗衡的情況下,才有可能在民用市場(chǎng)占據(jù)一席之地。
基于 Linux 開(kāi)發(fā)是否安全可控?
開(kāi)源軟件,顧名思義,該軟件源代碼是開(kāi)放的,該軟件也是免費(fèi)使用的,而且你還可以基于開(kāi)源軟件進(jìn)行修改。比如 Linux,是全世界程序員共同維護(hù)的,在遵守協(xié)議的前提下,中國(guó)人可以免費(fèi)獲得源代碼和使用或修改 Linux。
至于 Liunx 是否安全可控,雖然 linus 表示曾經(jīng)有西方情報(bào)部門(mén)要求往 Linux 里面加一點(diǎn)東西,但 Liunx 的 1500 萬(wàn)行代碼都是開(kāi)源的,如果只是給 Linux 換層皮,穿馬甲,不對(duì)內(nèi)核進(jìn)行修改、加固,那顯然是無(wú)法保證安全可控的。但只要自己技術(shù)過(guò)硬,仔細(xì)審核源代碼,完全可以將自己認(rèn)為有問(wèn)題的代碼替換掉,對(duì) 系統(tǒng)內(nèi)核進(jìn)行修改,添加內(nèi)核安全模塊,就能保障安全可控。
目前,Linux 內(nèi)核有全世界程序員和國(guó)外巨頭共同維護(hù),本身就是比較先進(jìn)的內(nèi)核,在技術(shù)層面上也看不到革命性變革的可能性。因此,技術(shù)層面上沒(méi)有推翻 Linux 內(nèi)核,重寫(xiě)新內(nèi)核的必要性,何況 Linux 還是開(kāi)源的、免費(fèi)的。
國(guó)產(chǎn)操作系統(tǒng)的研發(fā)單位工作重點(diǎn)不是給 Liunx 換皮、穿馬甲,而是加強(qiáng)對(duì)開(kāi)源代碼的審核力度,發(fā)現(xiàn)可能存在的漏洞和風(fēng)險(xiǎn),對(duì)內(nèi)核進(jìn)行修改和加固。
比如為提升安全性或適配龍芯、飛騰、申威等國(guó)產(chǎn) CPU 開(kāi)發(fā)某個(gè)內(nèi)核模塊,并向開(kāi)源社區(qū)申請(qǐng)后被采納,加入到最新版本的 Linux 內(nèi)核中。目前,已經(jīng)有不少華人以這種方式實(shí)現(xiàn)了對(duì) Linux 內(nèi)核的修改。
即使開(kāi)源社區(qū)未采納國(guó)人提交的代碼,國(guó)人也可以用自己編寫(xiě)的代碼替換掉可能存在風(fēng)險(xiǎn)的代碼,并將新代碼集成到基于 Linux 的國(guó)產(chǎn)操作系統(tǒng)中。而這正是基于 Linux 二次開(kāi)發(fā)的國(guó)產(chǎn)操作系統(tǒng)正在走路。
結(jié)語(yǔ)
誠(chéng)然,如中標(biāo)麒麟等國(guó)產(chǎn)操作系統(tǒng)目前還不夠成熟,軟件生態(tài)也比較匱乏。但目前國(guó)內(nèi)有個(gè)很不好的怪現(xiàn)象——很多國(guó)人對(duì)洋貨無(wú)比包容,對(duì)國(guó)產(chǎn)卻無(wú)比苛刻——客觀實(shí)際的指出洋貨的某些缺點(diǎn)和國(guó)產(chǎn)的少許進(jìn)步,對(duì)某些人而言,仿佛殺了他親爹似的。
這種怪現(xiàn)象非常不利于國(guó)產(chǎn)操作系統(tǒng)的推廣。
國(guó)產(chǎn)操作系統(tǒng)的發(fā)展壯大,離不開(kāi)每個(gè)國(guó)人的支持,這種支持可以是精神上的支持,也可以是情感上的包容,更現(xiàn)實(shí)的支持是自己使用國(guó)產(chǎn)操作系統(tǒng),而這些都不會(huì)花費(fèi)一分錢(qián)。
路漫漫,其修遠(yuǎn)。在國(guó)產(chǎn)操作系統(tǒng)開(kāi)發(fā)者們上下而求索的同時(shí),希望全國(guó)人民能給國(guó)產(chǎn)操作系統(tǒng)一點(diǎn)時(shí)間,多幾分支持和包容,少幾分惡言相向。