Linux核心變遷雜談 感知市場的力量

2021-08-27 12:57:40 字數 1890 閱讀 9039

jack:什麼是作業系統?

我:你買了一台筆記本,然後把整塊硬碟徹底格式化,然後再自己編譯出一塊**,這塊**能讓這台筆記本具備任務(task)管理或者檔案管理功能、或者兩者兼而有之——這段**就是作業系統了。

jack:這種解釋比較妖孽啊。

我:你可以認為我的說法比較妖孽,不過這是我自己的說法,是我的。這比只會背書、沒有自己的想法要好。你可以犯錯,每個人都會犯錯,但是不能一直被意淫。

jack:那,從你的角度來說,linux核心的發展是什麼樣子的呢?未來它會怎麼走呢?

我:這是乙個非常難回答的問題。因為linux的文化是自由(free),它並不像openbsd那樣專注於安全,也不想netbsd那樣專注於網路,linux是自由的,只要你有idea並實現它,linus就會考慮是否把它加入核心包裡,即便linus不容易把它加入官方核心包,你也可以自由發布出去。所以,功能性**幾乎是不可能做出來的,不過,在大方向上,可以泛泛而談。

jack:你泛泛地談一下呢。

我:首先,不言而喻的,它會對既存在的功能進行維護(maintain)和加固(enhancement)。舉個例子,linux的檔案系統ext3到ext4的enhancement大概增加了13種功能,其中extent的功能基本上是從oracle的extent裡借鑑過來的。這樣的事情還會不斷發生,直到有人宣布linux核心專案不再繼續(?)。其次,ieee這樣的權威機構每年都在制定新的標準、規程,自然而然會有新的**產生(無論是驅動層次還是協議層次),這樣的**自然而然會新增到以自由著稱的linux核心裡。

jack:你說的這些都不是本質的作業系統的核心。在本質的作業系統的核心上,會有哪些發展空間呢?

我:你說的本質的作業系統核心是指任務管理、檔案系統?

jack:是的。

我:在任務管理、檔案系統這兩塊,只能做maintain、enhancement。因為這是linux作業系統的根本、基石,15年前就已經奠基好了,不可能再有什麼大的創新和改動——除非作業系統理論上有巨大的理論革命。不過,即便是有巨大的作業系統理論革命,也幾乎不可能有什麼改動了。

jack:為什麼?

我:因為任務和檔案系統是作業系統的根基,這兩塊一出現革命,上層的資料庫、web server等都會出現相應的革命,整個it行業既定利益格局將會打破、洗牌重來。

jack:這不是挺好嗎?也是技術革命的最好結果。

我:理想是美好的,不過,既得利益體不會允許洗牌重來的事情發生,簡單的說,即便有這麼完美的理論出現,也不會有資金投入將這理論付諸現實,更別說實現出來的**能否大面積應用到生產中占領市場。典型的例子是——網際網路的osi七層模型與tcp/ip模型。前者在理論上更完美,不過,這麼多年來基本只停留在意淫階段,而後者則真正佔據了市場,成為了事實標準。

jack:按照你的意思,linux核心其實已經相對是比較飽和了,不會再有巨大的突破了嗎?

我:是否會有巨大的突破,是個技術層面的問題。而是否朝巨大的突破方向走,是個利益問題。從目前情況來看,linux核心在伺服器市場上的功能性元件已經夠用了,僅僅是穩定性、高階市場份額與aix等還有些差距。假設核心開發人員開發出一些核心元件功能,而這些功能又能給企業帶來哪些巨大的利益呢?如果沒有巨大的利益,這些功能就是多餘的,你覺得核心開發人員會去做一些多餘的事情嗎?

jack:額。

我:在嵌入式領域,專業的嵌入式作業系統已經夠多了,如vxworks、uclinux等,其功能也已經夠用了,缺乏的,只是針對具體的應用的專案流程管理而已。

jack:那豈不是linux核心研發能做的事情已經很少很少了。

我:相比於20年前,核心研發做的事情是少很多了——每乙個行業都是這樣,發展了20年之後,能做的事情肯定比剛開始要少很多——在**尤其如此。不過,作業系統、資料庫核心等是基礎軟體,每個國家為了鞏固基礎,都會投入巨大的資金,我國的核高基投入大概在1000億rmb左右。

jack:那麼,搞基礎軟體豈不是很掙錢?

Mybatis核心雜談

本文主要介紹mybatis的配置解析對應的class mybatis的全域性配置等,每個點都不會講太多細節的東西,只是提一下對應的點,更多細節的東西請有興趣的讀者自己去挖掘。來解析的,具體如下。型別 解析器 mybatis全域性配置檔案 xmlconfigbuilder xmlstatementbu...

Linux的發展歷程與變遷

最開始,linux 作為創作者 linus torvalds 的 乙個愛好 如今,已然擁有超高的人氣,這過程值得一講。1991 linux 開始於 linus torvalds 在 usenet 上的乙個帖子,說它 只是乙個愛好 1992 linux 發布第乙個 gpl 版本,最初是依據一些商業限制...

linux方面的雜談

1.在shell指令碼中會用到if判斷,事實上就是test加引數執行的結果,比如 if test f then yyy fi,但是還有另一種寫法,那就是if abc then yyy,實際上 也是乙個命令,用whereis 可以證實,該 程式中必然要有乙個 作為引數,然後判斷 1到 之間的引數的正確...