最近我看到好多人說deepin只不過是linux 的發行版,國產操作系統必須要內核也是國產的,不知道大家怎麼看?


取決於你自己的看法吧。這個問題我私下裡引進兩個定義:

基於Linux的發行版,可以作為防禦性的國產系統。也就是說,這種系統屬於全人類,外國人沒法不讓中國人用,中國人也沒法不讓外國人用,它可以起到防禦作用。

完全自主內核的國產系統,那屬於進攻性國產系統,也就是說,這種系統可以規定不允許出口給外國人用,在關鍵時刻,它可以起到壓制其他國家的用處。

如果防禦性國產就足夠,那麼使用開源軟體這種,權屬全人類的軟體,就可以。

如果我們需要進攻性國產,那使用開源確實是不行的,只有完整權屬自己的國產才能用於進攻性。

所以,你覺得有沒有必要從內核寫起,取決於我們是開發國產系統是防禦性用途還是進攻性用途。


Deepin確實是Linux發行版,算是很用心做事並且做得已經非常好的了,有很多組件是自己重做的,算是自主可控的產品。

」國產「這個定義本身比較含糊:

1、要求每一行代碼都國人寫的?背後涉及的演算法、規範、標準怎麼算?有的壓根不是某一個國家的產物。

2、構建系統過程中使用的工具,也要求都是國人製作嗎?那shell、編譯器都沒有現成可用的,這些東西本身又跟系統內核密切相關,循環依賴。

3、萬一1和2真的都滿足了,造出來的東西大概率是個玩具,可以自嗨一下。

要嚴格摳「國產」,世界上大概只有完完全全made by 美帝的系統,畢竟計算機科學的理論、軟硬體規範、編程語言等幾乎都是源自美帝。

建議:遵守協議辦事,做到自主可控即可


火藥是中國發明的,外國人因此不用了嗎?

能用的東西不用,是向大家證明自己是個傻逼。除此以外,還證明什麼別的嗎?

下面這個是當前Linux的的代碼量數據:

如果你不懂軟體開發,可以把它想像為一篇小說,行數就是小說的文字有多少行,Linux(僅僅是內核)的代碼行數是1千8百萬行,按這裡給出的COCOMO模型來估計,完成這個開發的開發費用超過8億美元。

這僅僅是內核,內核的功能只是調度計算機的資源給其他程序用,作為我們一般理解的操作系統,我們至少還需要10倍以上的代碼負責畫圖,算多項式,和用戶對話,處理字體,加密……等等等等。此外,我們還需要其他人比如做資料庫的,做網站的,做網路前端的,做銀行的,做基因測序的,做金融的,做政府工作流的,做Office的,把他們的軟體移植(用新系統的介面來調用)過來。

多不多呢?對一個企業來說,太多的,但對國家來說,還給得起。

問題是,小說是只要碼字就能看的嗎?

我昨天看Linux內核的一個功能,發現年初的時候,有人在進行異常處理的時候,在裡面增加了幾行代碼,把所有通用寄存器都清成0了。這個事情很影響效率,我很奇怪它為什麼,所以我又查了一下歷史記錄,發現這是為了防止Cache側信道攻擊的第4種變體的一種輔助動作。這個第4種變體是什麼個原理呢?——我為此看了一天的論文,而且沒有完全看懂細節,只是知道原理,接受這種修改是必須的……

用普通人能聽懂的話說:就算我寫完了這一千八百萬行代碼了,我還需要花可能10到100倍的時間去打磨它,才能達到今天的水平,然後我還要追上Linux本身每天的發展。Linux、Windows、Mac等肯定走過一些錯路,我們確實可以少走一部分,但至少也要一半的工作量才能走上來。而歷史一次次證明,所有錯誤都是要重新犯一次的,比如最近某小島以為自己不同制度就會免了大字報的歷史階段,現在不是一樣的補課?——只要規模上去了,整個組織都會脫離人的意志,走入一種客觀規律。所謂「黑暗森林」,本質就是這樣這個模型:一個人是否對未知開槍,這有隨機性,但一大群人,是否對未知開槍,這是有肯定性的。

Windows對此都氣喘吁吁(搞到要集成Linux到自己的方案中),你讓我們國家另做一個東西去追趕?——在這個東西直接可用的情況下?有這麼揮刀自宮的神功的嗎?

Linux不是不能放棄,那要等整個計算機發生質的改變,Linux設計的基礎都不存在了的時候,才有可能,但顯然不是現在。

所以,Deepin的問題不是用不用Linux的問題,而是基於Linux怎麼能解決我們夠不夠用的問題,這個對這樣一個小公司來說,已經是巨大的挑戰了,它本身不能靠政府和社會幫,但這樣一個生態的營造,需要政府和社會去幫,我們才能頂住未來的競爭。

這種時候還談要不要從內核寫起這種蠢問題,根本就沒有腦子,你別理他們就行了。給傻逼講道理,只會讓自己變成傻逼的。

補充1:討論里有讀者誤會我的意思,以為我反對寫非Linux Kernel的內核。我不是認為寫非Linux Kernel是傻逼,我是說,用這個東西是不是自己寫的覺得用不用它,這是傻逼思維。Linux Kernel有它的缺點,或者說,它的長處就是它的缺點。比如太大了,一個VxWorks的內核100k以下,一個Linux的內核,正常編譯16M左右,裁剪後也一兩兆,再裁就不是Linux了,如果正經用,加上用戶態的東西,可能要16M以上的存儲空間才能用,這就已經帶來很多問題了。它大量使用的Lazy演算法,保證了處理性能,但對時延帶來很多問題,要立即反應的地方(比如機械控制),它也不合適。但Linux Kernel長成今天這樣,和他包容最大的市場有關係的。在主力市場上,你想繞過他,是非常困難的。我一點都不反對在特定市場上使用特定的OS(實際上我們自己就針對特定的市場開發好幾種OS),但在主力市場上,你給自己設限,非要說自己重新搞一次,我只能認為你是個神經病。

補充2:看到其他回答中在鬼扯什麼微內核的問題,我附一個關於這個問題的討論在這裡:Linux 為什麼還要堅持使用宏內核?。微不微內核這種問題,根本就是學院派的YY,就不值得討論。新做一個系統,以微內核為基礎沒有什麼不行的,但這個不是設計一個操作系統最關鍵的問題。

補充3:還有人覺得,自己寫一個操作系統就沒有後門或者漏洞了。這完全是外行。你們沒有構架經驗的話,想像一下你怎麼設計一個公園的安全方案的——安全漏洞不來自你的設計,安全漏洞來自你的預防。一個公園安不安全,不看你要不要買票,在於你在入門,圍牆,維護人員管理……所有功能上的防Bug手段。沒有一個基礎重新設計,你的Bug只會更多,不會讓你更安全好不好?你認為linux哪裡不安全重新設計那個地方好了,重寫就會沒bug的嗎?或者你可以看看這個:in nek:給普通人解釋Spectre和Meltdown安全漏洞 對安全是什麼有點直觀感覺。

補充4:再說一個誤區,操作系統只是個名字,操作系統和操作系統不是一個東西,我們談的是大型操作系統,不是十幾萬行代碼的嵌入式系統,而且就是嵌入式系統,在技術上實現領先也是一件很困難事情,請不要把你們那些玩具拿出來丟人,說什麼「你也有」。你一個月賺一兩萬個也叫賺錢,人家一個月賺幾個億也叫賺錢,這是一個東西嗎?

補充5:這個問題下,Pansz的進攻防禦說我也是反對的。用不用Linux是個起點平台問題,進攻防禦是個技術本身的問題,你有一個好的調度技術,在一個玩具操作系統上實施,就算有技術優勢,這個技術也沒有進攻性。要不要進攻,要看你的技術,不是看你用不用Linux開發。


任何開源協議下的軟體,都是全人類共同擁有的財富,不用擔心被制裁。

中國人真正「必須自主研發」的東西,必須是開源世界裡沒有替代品的東西。Linux是全人類的操作系統,不存在被中國人「自主研發」、「全面國產」的可能性。

我對deepin非常有感情,但壓根不是因為他們是「國產」,而是因為deepin是第一個中國人的團隊,像canonitcal、redhat一樣在開源Linux領域的國際舞台上肉搏打拚搶奪市場——這是他們獨一無二的地方。

還是那句話,中國人真正必須解決的「自主研發」,一個是指令集(擁抱RISC-V,同時守住MIPS),一個是頂級計算性能的處理器和GPU,整個軟體生態都有開源方案可以用的時候,你「自主研發」等於是在放屁。


很久前就回答過一個類似的,當時有人以鴻蒙被炒的沸沸揚揚為背景,不平的問道「國產系統之光deepin為什麼沒有火起來」。我在下面的回答簡述了Deepin等系統的由來,以及個人觀點認為的什麼是真正的國產系統:

國產知名 Linux 發行版 Deepin 為什麼沒有火起來??

www.zhihu.com圖標
推薦閱讀:
相关文章