對MINIX與LINUX的一點思考

2021-09-24 23:43:58 字數 1296 閱讀 8450

為什麼linux在全世界範圍內得到了廣泛的應用,而比linux出現得更早的minix沒有像linux一樣流行呢?

回過頭看,本來unix已經在高校中流行開來,但是unix的所有者認為這種不給錢就拿來用的作法是一種侵犯版權的行為,禁止了對unix的自由研究(或者說無償使用)。tanenbaum教授感到沒有乙個實際的作業系統可以做為教學的例項,於是自已動手,和他的學生一道開發出來乙個與unix相容的微型作業系統minix。

事後看來,minix系統有兩個硬傷。

一.它是為了教學而研發的,而不是為了實際使用而研發,所以在指導理論上有點超前,過於強調微核心的理論先進性而導致實際執行效能不高。

二.儘管很便宜,但仍然不是免費的,它隨教材銷售,並且沒有意識到完全開源的重要意義。

linux的開創者一開始是因為沒有免費的unix可用,而選擇了minix,在使用過程中對minix不滿意而決定自己開發乙個新作業系統。

linux與minix最大的策略區別就是:linux並不是為了講授作業系統這門課而開發的,而是為了折騰386晶元而開發的。它是乙個計算機發燒友的激情創造,並且利用網際網路免費傳播,順迎了開源軟體運動的潮流。真可謂時勢造英雄,英雄造時勢。

如果unix一開始就走上開源之路,就沒有minix,linux什麼事了。如果minix一開始就完全開源免費,不搞什麼隨書贈送那一套,並且聽從網友的呼聲,積極地向乙個實用作業系統改進,也就沒有linux什麼事了。

但實事證明乙個大學教授與乙個計算機發燒友的思維就不在乙個頻道上。教授想的是傳道授業解惑,讓學生更好地理解作業系統,所以作業系統越簡單越好,效能不是第一位考慮的。而發燒友第一考慮的是效能,至於有沒有人拿這個當教學樣例,他是一點都不會關心的。所以才不會受理論的限制,一定要採用什麼最先進的微核心。

其實作業系統理論上的問題,或者效能上的問題都不是關鍵的問題,一開始做出來的作業系統都很不好用,最關鍵的一點是linux肯順應網友的呼聲,不斷地改進,而minix卻固守著教學需要,基本上不肯做改進,當minix最後轉向完全開源,並且向實用作業系統轉變時,歷史的視窗已經關上了。

歷史不可以假設,linus 也並非先知先覺,只不過他的所作所為,順乎了網際網路發展的大潮。所謂天下大勢,浩浩湯湯,順之者昌,逆之者亡。讀史至此,真讓人掩卷太息。

補記之:minix最新的版本是minix3, 完全開源,並且被intel公司改造後加入了新出產的每個cpu中。因為現在cpu也變成了乙個很複雜的體系,也需要乙個微作業系統進行管理。intel選中了minix3而不是linux,tanenbaum教授的微核心理論終於找到了用武之地。 要知道2023年以後出產的每乙個intel晶元中都內建了minix3 ,那麼你,我以及世界上的廣大電腦使用者其實都在不知不覺地使用著minix3作業系統。

對因與果的一點感悟

對因與果的一點感悟 紅朝儒生 2016 10 26 關鍵字 因果 感悟 簡介 萬事有因必有果,有果必有因。世界宇宙萬事萬物,沒有無果之因,亦沒有無因之果。萬事有因必有果,有果必有因。世界宇宙萬事萬物,沒有無果之因,亦沒有無因之果。好。那麼人生在世,是果,那麼因在 有的人混得好,有的人混得差,這也是果...

對需求的一點看法

需求是什麼,如何來做好需求,在cmmi 模型裡都給予了說明。模型將需求分為兩個部分,乙個是二級的需求管理,另乙個是 的需求開發 之後又看了rup 對需求的描述,它沒有明確對需求管理與開發進行劃分,它的工作流包括了以下幾個部分 問題分析,理解涉眾需要,定義系統,管理專案規模,改進系統定義,管理需求變更...

對 threadfence的一點理解

一直沒搞清楚,cuda 2.2版增加的 threadfence到底有何作用,直到今天看到sdk 3.0手冊 中的下面例子才恍然大悟.中文為我的理解,嘿嘿 乙個求和的例子 device unsigned int count 0 統計有幾個block結束的變數 shared bool islastblo...