1. 程式人生 > >異數OS談發展國產作業系統的問題

異數OS談發展國產作業系統的問題

異數OS談發展國產作業系統的問題


為什麼寫本文


最近中興被美製裁的問題以及紅芯使用開源技術宣稱國產自主技術引發了輿論不少對國產CPU以及國產作業系統自主技術的討論,為什麼我們國家有BAT,有原子彈,能去月球,卻沒有自己的作業系統,有人質疑異數OS的存在意義,是不是又是一個欺騙國人感情的Logo打磨品,所以這裡有必要再次說明一下異數是什麼鬼。


不得不說的國產作業系統


1.漢芯紅芯是一切國產註定失敗的開始,卻還沒有結束, 要開發作業系統,技術是其次,名譽和智慧財產權歸屬才是第一位要解決的問題,所以Linux開源,各種著作權智慧財產權保護授權成為你開始編碼之前就應該考慮確認的事情,要建軟體生態,這是頭等重要的事情,而我們的一些所謂國產作業系統卻選擇了不建生態,卻做著一些繁重的修改著作權資訊的工作,這種不尊重版權的做法缺少正能量,負能量滿滿,要是能夠成功,那這個世界真的是缺乏公平。

2.國產作業系統為什麼是Linux?,因為這是個技術問題,他不涉及道德和智慧財產權,我們從小學開始學習的作業系統理論知識告訴我們,用這套理論,不管你做什麼作業系統,他其實就是一個Linux或者Windows,他們在基礎理論方面沒有什麼很大區別,所以各類嵌入式作業系統並沒有發展成為一個類似Linux的生態,原因是理論基因問題,做成複雜的Linux,也不會比Linux帶來更多優勢,最終也僅僅是一個Linux,為了減少生態建設帶來的地球資源消耗,所以我們有必要再做一個作業系統? 那麼如何才能不做一個Linux呢? 其實這個問題很簡單,只有你在作業系統基礎理論方面做到了顛覆式創新,提供了Linux Windows不能提供的能力特性,那麼才有希望做一個作業系統,所以國產作業系統的路唯有基礎理論創新。

3.國產作業系統就是Linux, 這是一個沒有繞出的怪圈,他甚至否定了國產作業系統的存在意義,在作業系統基礎理論沒有突破之前,如果我們不做作業系統,那國產作業系統怎麼來,為了不反人類,所以我們為Linux做點貢獻,我們國產的CPU支援他好了,但為了突出我們自主的作業系統,所以得改著作權啊,這部分工作還是挺大的,但把製作Linux面板庫說成國產自主作業系統就有些牽強了,生態開發者對此並不買賬。

4.生態系統建設之謎,很多人說國產作業系統建生態系統很難,但這麼多年下來卻已經有好幾套流行的生態系統, windows 安卓 ios,這中間中國人的貢獻太大,僅僅是因為有一個新的需求叫做手機,重複的建設其實已經不是問題,而各種模式的創新驅動下可以讓作業系統這個東西迭代重複開發100次,花費上千億去重複嘗試失敗,而國產作業系統由於體制問題,很糾結失敗的問題,所以新的需求以及破解體制問題對於開發一個作業系統來講很重要。

5.開源之謎 這其實最主要的問題是紅旗歸屬問題,當紅旗歸屬出現問題時,你做的一切工作無非都是為別人做了嫁衣,無法貼上國產自主的外衣,龍芯紅芯等都是這一矛盾問題,很顯然,龍芯紅芯等都有自主創新技術,並且還是中國為數不多的有自主技術能力的企業,但很遺憾,他們的帝國建設在開源基礎上,站在巨人肩膀上的螞蟻,螞蟻麼就是螞蟻,你不能把它宣傳成google ms intel那樣的巨人,因此要說國產自主,那請你先從巨人的肩膀上下來變成巨人在與巨人的戰爭中獲得巨人的尊嚴才有望貼上自主國產的標籤,而在巨人眼中,開源永遠都是被自己利用的一個毒品集市,這些巨人的核心利益從來都不是建立在開源之上的,他們僅僅是利用開源中的下游使用者為自己的利益謀福利,開源就像鴉片戰爭,發起者製毒販毒而不吸毒,而紅芯的失敗卻恰恰是因為他是個吸毒者,他將自己的帝國建設在這個開源的毒品交易所中,這個毒品交易所對於吸毒者來講就是一個無間地獄,無論你如何貢獻都是給人做嫁衣,永遠無法貼上國產自主的巨人標籤。


為什麼是異數OS


異數OS的立項不僅僅是因為愛國,更是客觀的總結了國產作業系統的失敗原因之後,做出的立項,立項過程反反覆覆經歷了16年,解決了上述國產作業系統的問題:

1.智慧財產權保護,異數OS借鑑IOS windows的成功,所以大力推薦發展閉源社群建設,異數OS在授權的閉源社群共享example SDK, 並提供理論應用設計指導。

2.作業系統的基礎理論顛覆式創新,他帶來的是全新的作業系統以及應用設計理論,因此從核心以及上層應用設計來講,他都是與Linux windows完全不同的,用這種理論帶來了新的傳統作業系統不能提供的特性,微秒級的延遲,10到100倍的IO效能提升,以及1000倍的併發容量提升。

3.新的需求, 隨著硬體技術的發展,很多新硬體都被傳統作業系統理論約束而無法發揮:

  1. 高效能IO裝置需求,Linux Windows實際上僅僅能發揮100M網絡卡的極限效能,1000M都很勉強,而10G網絡卡已經普及近10年,目前最新的網絡卡是400G,未來兩年還會普及5G移動網(10G接入)即便是老的硬體比如Uart,在1M以上波特率由於OS IO能力不足,必須要硬體流控才能穩定工作。
  2. 低延遲應用技術瓶頸約束解除,Linux windows IOS 安卓都只能提供ms精度的IO,導致一些實時低延遲感測器類以及一些低延遲應用都不能走向實用化,比如AR,VR裝置,遊戲,高頻交易,機器人AI類等需要實時低延遲工作的應用都不能較好的穩定工作,異數OS在軟體層提供小到100ns精度的低延遲應用響應能力,真正釋放硬體裝置能力,比如在10G網絡卡交換機環境,提供最低10us的延遲響應能力,無硬體流控的Uart,實時GPIO等,所以新的OS在實時低延遲應用體驗中將得到大大的提升。
  3. 真正解決問題的中介軟體,由於傳統作業系統理論中的錯誤,導致上層應用的設計出現很多併發應用障礙,所以導致一些被約束在這個障礙下的新技術誕生,比如erlang go,以及各類抽象易用的中介軟體技術誕生,這類技術希望本質上是為了解決傳統作業系統的理論錯誤,但由於被限制在宿主作業系統中而無法真正解決問題,我們需要一個真正能解決了這個問題的OS.

異數OS的前世今生


混沌的未來,失敗的輪迴

  1. 2002 年, 一種基於 RTOS 理論的非搶佔阻塞執行緒模型的實時作業系統,和usosii類似,雖然是實時,但主要原因是負載輕,如果負載達到linux級別負載,則和linux區別不大。
  2. 2003年,混合非同步 IO 模型的同步邏輯, 最終由於業務邏輯設計複雜而放棄,發現設計模型, 設計語義很重要。
  3. 2005 年, 引入非同步微核心思想, 引入設計期執行緒原語(DSL), 簡化執行緒業務邏輯設計。
  4. 2008 年, 設計去中心的資源分享系統(磁性連) 由於非同步執行緒邏輯表達複雜而失敗。
  5. 2008 年, 設計百萬 NPC AI 系統(使用 UDP包佇列) 由於延遲過高,佇列規模無法控制, 錯誤處理複雜失敗。
    教訓: 非同步佇列的微核心作業系統,內部太多 DDOS,佇列太深, 延遲過高, 錯誤處理代價
    高, 只能用於不需要錯誤處理, 不需要同步響應, 全非同步的業務。

伯樂的指點,尋找新的藍圖

  1. 2009年,母親是一位易經國學大師,她總是講一些我不愛聽的矛盾違反自由原則的故事,什麼叫魚和熊掌的關係,人生為何要這樣曲折,發現OS也同樣存在這這些問題,顯然我病了,我不知道OS的未來在哪。
  2. 2011年,母親得癌症要去世,從我小學開始,她總是說喜歡說48歲她讓要走,這一年,她想留下來,但她還是不能不走,我需要繼承她唯一留下來的遺產(易經國學),儘管我不是很情願,但還是接受了她的易經佛理基礎課程。
  3. 2013年,開始Lisp機尋找易經哲學理論的應用場景,收穫較大。

浴火重生,從零開始

  1. 2015年,工作需要,開始做一個網路方面產品,驚奇的發現原來那個OS還是有需求的,在評估完ppl erlang go等併發設計技術後,毅然冒著失業的風險開始從0開始使用易經思維設計這個OS。
  2. 2016年,網友討論後給這個OS起名東邪OS,比較貼切,但由於並不是很通用的名字,所以改名異數OS(異教徒的意思)。
  3. 2017年,根據異數OS作業系統基礎理論,設計了TCP協議棧,製作了異數OS軟體交換機。
  4. 2018年,適配netmap DPDK等網絡卡驅動技術,應用效果不錯,伺服器領域如果能站穩腳步後,以後可能會考慮進入桌面,為未來感測器技術,VR之類遊戲提供技術解決方案。