昨天看文章時發現本身對 linux 操做系統不夠了解,還記得 17 年時聽過老師的一些課,對 linux 的歷史有一點了解,不過當時並無記錄筆記,如今已經忘的差很少了。php
此次從網上找資料,又從新看了一遍,同時作了一些筆記。linux
此次看的是鳥哥的文章,他把 unix linux 的起源歷史講的至關細緻,讀起來很是有意思,並且原本他們的歷史也是一個很是複雜曲折的過程,認真讀一讀也是收貨頗多。git
Unix 算是操做系統的鼻祖,儘管如今移動平臺中的 Android、iOS 操做系統,電腦中的 MAC OS 以及 windows 操做系統都很流行,可是他們其實都是後來纔出現的,何況蘋果的 mac os 實際也是 Unix 的一個分支而來。github
## Unix 起源shell
Unix 誕生在上世紀 60 年代,但它的誕生並非有意爲之,而是從貝爾實驗室、麻省理工學院、通用電器合做的一個失敗的項目(Multics)演變而來。當時他們作的項目因爲資金問題以及延期等緣由失敗了,後來項目中的另外一我的在作本身的我的項目時,想到了以前的舊項目,以爲能夠拿過來改一改,有可用的地方,因此本身大幅度更改了舊項目,讓其簡化,並起名 Unics ,不過一開始他用的是彙編語言,因此它的可移植性並很差。windows
後來實驗室的同事發現這個東西太好用了,可是移植性差,後來便把它用更高級的 C 語言重寫了一遍,同時把名字改成 Unix,這纔是 Unix 的開始,這一年是 1973 年。模塊化
這時 Unix 正式登上歷史舞臺,不過當時版權、軟件許可證等等條件都不完善,Unix 在變得流行的同時,也出現了不少問題,Unix 一開始比較 open,源代碼你們能夠相對輕鬆的看到,後來貝爾實驗室的母公司 AT&T 發佈了一條禁令,禁止大學用 Unix 源碼進行教學。這條禁令讓一個大學教授 Tanenbaum 很費神,由於他的工做就是教學生 Unix。工具
可是方法總比問題多,他本身曲線救國,想到了本身造一個相似 Unix 的操做系統,畢竟他對 Unix 已經十分熟悉,爲了防止版權問題,他在寫操做系統時徹底不看 Unix 源碼,後來本身耗時兩年,在 1984 年開始寫,到 1986 年寫完了這個類 Unix 的操做系統,並起名 Minix,意思就是迷你 Unix 系統。另外這個系統徹底兼容 Unix,也就是說在 Unix 上運行的軟件,也能夠在 Minix 上運行。優化
不過 Tanenbaum 開發 Minix 初衷是爲了方便本身教學,因此完成 Minix 後,他並不去推廣,並且它並難免費,你想看必須經過購買光磁帶才行,不過當時很便宜,與此同時磁帶中還附帶了源碼,很是良心啊,可是這樣傳播仍是很慢,這是 1986 年。操作系統
慢慢的你們發現這個 Minix 也很好用啊,有不少人在論壇裏給 Tanenbaum 提建議,以爲 Minix 還能夠變得更好,可是教授太忙,本身也無意去繼續完善。
終於歷史即將迎來起色...
Richard Stallman 是一個自由軟件的追求者,同時是一個即刻,他信仰自由軟件,相比商業軟件,自由軟件能夠更加快速的傳播,能夠團結更多優秀工程師的力量,可是 Unix 在是一個商業軟件,因此他但願建立一個真真自由而開放源代碼的專有 Unix 系統替代品。可是建立一個操做系統談何容易,他開始以 GUN 的名義開發 Unix 平臺上的工具程序和軟件,Unix 源碼不開源,可是我開發的這些軟件套件開源。當時也有一個內核項目在進行,但倒是是一件很難的是。沒有內核,
自由軟件和開源就很難進行,可是他的工做仍是很是有意義的,他開發了 GUN 套件以及一些 Unix 平臺上的編譯程序,主要有:
後來不少軟件開發者都在這些基礎上用這些工具進行程序開發,進一步壯大自由軟件團體,不過相比最初的構想,創建一個自由的 Unix 操做系統,這些還遠遠不夠,由於沒有內核,因此那些軟件依舊只能運行在有專利的 Unix 平臺上,一直到 Linux 的出現...
1988 年 芬蘭人 Linus Torvalds 進入了本身外祖父的大學-赫爾辛基大學,就讀計算機科學,由於專業關係,他在大學時接觸到了 Unix,可是當時機器資源緊張,學校的機器不夠他玩,他就像本身搞一個 Unix,可是這東西那是那麼容易就搞,一個操做系統至關的複雜。
不過很快,他就知道了 Minix 的消息,因此他跟不少人同樣也購買了 Minix 磁帶,而後把 Minix 安裝在了本身貸款購買的 Intel 386 電腦上,終於能夠愉快的玩耍了,並且磁帶中是有源碼的,因此他就能夠更改優化它,畢竟是大牛,很快他就讓 Minix 支持了多任務。
後來他在 BBS 上也留言,說 Minix 能夠變得更好更強大,可是 Tanenbaum 依舊不肯意去作這件事,後來 Linus Torvalds 就想,何不本身搞一個內核玩,並且如今還有 Minix 可借鑑,站在巨人的肩膀上,一切作起來就簡單多了,因此他就開始了核心程序的開發。
好在那時的不少軟件條件都已經具有,很重要的就是GNU 的自由軟件, 他用GNU 的自由軟件(上一節提到的)將核心程序代碼與386牢牢的結合在一塊兒,最終寫出他所須要的核心程序。而後發佈在了校內 BBS 上。
同時提供了下載,有趣的是因爲 FTP 上下載目錄的名稱爲: Linux,因此你們都開始叫它 Linux。
後來爲了兼容 Unix,Linus Torvalds 決定修改 Linux,以便讓全部 Unix 上能運行的軟件均可以在 Linux 上運行,並且那時已經有成熟的 POSIX 規範,因此他按照這個規範,實現了這個規範,慢慢的 Linux 變得愈來愈好,愈來愈好...
咕咚,Android 工程師,我的博客 gudong.name,公衆號:咕喱咕咚
本篇文章由一文多發平臺ArtiPub自動發佈