鴻蒙系統(tǒng)好寫嗎?
單從技術(shù)上講,開發(fā)一個(gè)單獨(dú)的操作系統(tǒng)內(nèi)核并沒有想象中的那么困難。網(wǎng)上搜一下 至少能找到幾十個(gè)甚至上百個(gè)OS內(nèi)核實(shí)現(xiàn),雖然絕大多數(shù)只是玩具級(jí)別的,但很多都是麻雀雖小,五臟俱全,基本的功能都有實(shí)現(xiàn)。
開發(fā)OS內(nèi)核真的遙不可及嗎先說下自己的一些經(jīng)歷吧。
我在幾年前曾經(jīng)從零開始寫過一個(gè)簡(jiǎn)單的操作系統(tǒng)內(nèi)核,實(shí)現(xiàn)了基本的boot, 內(nèi)存管理,進(jìn)程管理,中斷管理,IPC,簡(jiǎn)單的文件系統(tǒng),簡(jiǎn)單的磁盤驅(qū)動(dòng),鍵盤驅(qū)動(dòng),簡(jiǎn)單的終端等基本功能,還實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的調(diào)試器,支持?jǐn)帱c(diǎn)等基本功能。當(dāng)時(shí)對(duì)操作系統(tǒng)簡(jiǎn)直達(dá)到了癡迷的程度,只要工作上的事情一做完就去看操作系統(tǒng)方面的書籍資料,晚上下班和周末更是幾乎宅在家里不出門,真的可謂是廢寢忘食。
終于在參考了Linux, VxWorks還有國(guó)外一些大牛寫的OS內(nèi)核之后,最后搞出來了一個(gè)玩具級(jí)的OS內(nèi)核,前后大概持續(xù)了半年左右。當(dāng)時(shí)也純粹是為了學(xué)習(xí)的目的,也是覺得比較好玩,基本功能實(shí)現(xiàn)后,就慢慢遺忘在在磁盤的角落里積灰了。。。
所以,從技術(shù)上說,開發(fā)一個(gè)OS內(nèi)核并沒有想象中的那么困難,很多大公司其實(shí)技術(shù)上都完全有能力開發(fā)一個(gè)具備基本功能的OS內(nèi)核。當(dāng)然,功能完備性、安全性、性能等方面能不能搞好就另說了。
我現(xiàn)在所在的公司,就有完全自主開發(fā)的微內(nèi)核OS,并且在公司上百萬臺(tái)的電信級(jí)的分布式集群服務(wù)器產(chǎn)品上已經(jīng)穩(wěn)定運(yùn)行了二十多年。并且,還圍繞這個(gè)OS建立了一系列配套生態(tài),比如基礎(chǔ)開發(fā)庫(kù),一系列配套的開發(fā)調(diào)試工具,甚至還有專門為這個(gè)系統(tǒng)開發(fā)的編程語(yǔ)言和編譯器等。我曾經(jīng)有幾年的主要工作,就是在維護(hù)這個(gè)OS內(nèi)核。可惜的是,這幾年公司已經(jīng)在慢慢用Linux替換這個(gè)OS了,估計(jì)幾年之后就要徹底退役了。
難點(diǎn)在哪里開發(fā)一個(gè)操作系統(tǒng)的真正難點(diǎn)在于創(chuàng)建圍繞在這個(gè)內(nèi)核周邊的生態(tài)系統(tǒng)。一個(gè)單獨(dú)的內(nèi)核遠(yuǎn)遠(yuǎn)不能構(gòu)成一個(gè)完整的系統(tǒng),它需要大量的支持環(huán)境,如系統(tǒng)支持庫(kù),應(yīng)用程序,開發(fā)調(diào)試工具等等,此外還要能夠推廣出去,要有其他上下游的公司愿意使用,能夠被廣大開發(fā)者認(rèn)可并愿意為其開發(fā)新的應(yīng)用等等,這才是真正的難點(diǎn)所在,是需要投入大量人力物力財(cái)力才有可能完成的。
很多公司也正是從技術(shù)積累上,時(shí)間上,成本上,風(fēng)險(xiǎn)上來考慮,不愿意花大力氣在這上面。所以才有了如今Windows,Linux,Apple三分天下的局面。
國(guó)內(nèi)現(xiàn)狀咱們國(guó)家雖然急切渴望能有一個(gè)自研的OS,但現(xiàn)狀是,有實(shí)力的廠商更愿意投資一些能看得到摸得著的實(shí)實(shí)在在的應(yīng)用產(chǎn)品上,這樣來錢快,才能在最短的時(shí)間內(nèi)看到收益回報(bào),也就是更高的投入回報(bào)比。
對(duì)于像操作系統(tǒng),編譯器之類的基礎(chǔ)軟件,除了需要雄厚的技術(shù)實(shí)力外,還需要耗費(fèi)大量的人力財(cái)力物力,而且失敗的風(fēng)險(xiǎn)較大。即便開發(fā)成功,還要花大力氣進(jìn)行推廣,建立周邊生態(tài),這更是需要更大投資,時(shí)間成本也更大,往往需要幾年甚至十幾年時(shí)間才能看得到收益。
這對(duì)于習(xí)慣吃快餐、賺快錢的國(guó)內(nèi)企業(yè)來說,根本無法接受。這也需要企業(yè)決策層領(lǐng)導(dǎo)具有很大的魄力和戰(zhàn)略眼光,但現(xiàn)實(shí)中,這樣的領(lǐng)導(dǎo)簡(jiǎn)直是鳳毛麟角。
這也正是國(guó)內(nèi)廠商大都不愿觸碰自研OS的主要原因,也造成了我國(guó)至今仍沒有自己的操作系統(tǒng)編譯器的局面。
此外,現(xiàn)在市場(chǎng)上對(duì)一個(gè)新的OS的需求其實(shí)也沒有那么急迫,沒有需求,就沒有利益,自然就沒有動(dòng)力。尤其在快餐文化盛行的今天,更是很少有公司愿意去觸碰這吃力不討好的事情。
未來在哪里當(dāng)然也無須太過悲觀,任何東西,只要有需求,就會(huì)有利益吸引力,就會(huì)給企業(yè)研究機(jī)構(gòu)足夠的動(dòng)力。相信將來某一天,一旦Windows, Linux, Apple三巨頭不再適用市場(chǎng)需求,馬上就會(huì)有新的操作系統(tǒng)出現(xiàn)。
或許也用不了等很久吧,畢竟微軟已經(jīng)宣布Win10之后將不會(huì)再有大的Windows更新版本,而Linux雖然現(xiàn)在社區(qū)的開發(fā)仍然很活躍,新的功能仍在被源源不斷的添加進(jìn)去,但也正是由于這個(gè)原因,它現(xiàn)在變成了一個(gè)大而全的通用操作系統(tǒng),已經(jīng)變得越來越臃腫,很多場(chǎng)景其實(shí)已經(jīng)不是很適用了,只是沒有更好的替代品,很多公司又不愿意投入自研OS,所以只能選擇相對(duì)成熟并且生態(tài)資源豐富的Linux。
Google不是幾年前就已經(jīng)開始開發(fā)Fuchsia了嗎? 咱們拭目以待吧。也希望國(guó)內(nèi)有實(shí)力的企業(yè)和科研機(jī)構(gòu)能夠迎頭趕上,早日實(shí)現(xiàn)自研OS夢(mèng)。
github上放出來的只是一個(gè)迷你的嵌入式OS內(nèi)核LiteOS,翻看過代碼,本身并沒有很大的難度。至于鴻蒙OS,源碼還沒開放,目前為止還只是在PPT上出現(xiàn)過,所以不好評(píng)價(jià),但愿能夠不負(fù)眾望吧。
如果覺得有用,就點(diǎn)個(gè)贊唄:) 歡迎留言討論。
我最近會(huì)更新一些內(nèi)核,編譯器,虛擬化等一些底層方面的東西,有興趣的童鞋不妨關(guān)注一下。