為方便專題的后續(xù)文章聚焦開源許可協(xié)議,本文簡明扼要闡述以下兩方面的背景知識(shí):計(jì)算機(jī)發(fā)展史和操作系統(tǒng)發(fā)展史。
一、電子計(jì)算機(jī)發(fā)展史:
從上世紀(jì)40年代起,人類開始研究并創(chuàng)造了計(jì)算機(jī),從體型龐大功能簡單的計(jì)算機(jī),到超大規(guī)模集成電路的超級(jí)計(jì)算機(jī);從簡單的控制操作流程的程序,到多用戶多任務(wù)多處理器架構(gòu)的操作系統(tǒng);短短半個(gè)世紀(jì),人類在電子計(jì)算機(jī)科學(xué)領(lǐng)域,經(jīng)歷了創(chuàng)世紀(jì)歷程,并以指數(shù)級(jí)速度發(fā)展(摩爾定律),驅(qū)動(dòng)了一系列科技創(chuàng)新、社會(huì)變革、生產(chǎn)效率的提高和經(jīng)濟(jì)增長。
計(jì)算機(jī)的硬件和軟件,如同安迪-比爾定律所描述的那樣,二者像一對(duì)孿生兄弟相輔相成,互相驅(qū)動(dòng)對(duì)方升級(jí)換代,不斷提升軟硬件的能力,滿足高速發(fā)展的算力需求。
在計(jì)算機(jī)這個(gè)人類智慧結(jié)晶的創(chuàng)世紀(jì)過程中,隨著操作系統(tǒng)從無到有、隨著層出不窮的軟件被創(chuàng)造出來,版權(quán)、相關(guān)領(lǐng)域的壟斷及法律也隨之出現(xiàn),開源軟件運(yùn)動(dòng)和開源許可協(xié)議也隨之出現(xiàn)。在軟件開源的運(yùn)動(dòng)發(fā)展過程中,涌現(xiàn)出了很多動(dòng)人的故事,新的概念如開源軟件、開源許可協(xié)議、開源系統(tǒng)等,如同璀璨耀眼的明星,共同構(gòu)成了開源軟件這片璀璨的星空。
1、第一代計(jì)算機(jī):
二戰(zhàn)期間,美國為了模擬飛行訓(xùn)練,以真空管為邏輯元器件構(gòu)建了計(jì)算設(shè)備,不斷迭代最終發(fā)展出了馮·諾伊曼結(jié)構(gòu)的計(jì)算機(jī),該結(jié)構(gòu)實(shí)現(xiàn)了實(shí)用化的通用計(jì)算機(jī)。
2、第二代計(jì)算機(jī):
1958年,羅伯特·諾伊斯帶領(lǐng)團(tuán)隊(duì)發(fā)明了集成電路,不久后又推出了微處理器,1959年到1964年間設(shè)計(jì)的計(jì)算機(jī)稱為第二代計(jì)算機(jī)。
3、第三代計(jì)算機(jī):
1960年代,晶體管取代真空管,晶體管體積更小,速度更快,性能更加可靠,1964年到1972年的計(jì)算機(jī)被稱為第三代計(jì)算機(jī)。
4、第四代計(jì)算機(jī):
1970年代,基于大規(guī)模積體電路,以及后來的超大規(guī)模積體電路,計(jì)算機(jī)從此開始走向千家萬戶,1972年以后的計(jì)算機(jī)習(xí)慣上被稱為第四代計(jì)算機(jī)。
二、Unix 系統(tǒng)的發(fā)展史:
1、Multics計(jì)劃:
早期的電腦并沒有操作系統(tǒng),電腦的管理工具以及簡化硬件操作流程的程序,可以看做是操作系統(tǒng)的雛形。
到1960年代早期,商用電腦的制造商通過批處理系統(tǒng),對(duì)工作程序的初始化、參數(shù)設(shè)置和調(diào)度、以及運(yùn)行的程序進(jìn)行了序列化處理,但每臺(tái)不同型號(hào)的電腦都有自己的批處理系統(tǒng),每臺(tái)電腦上運(yùn)行的程序彼此之間也不能移植。
發(fā)展到1964年,麻省理工學(xué)院和美國通用電氣公司,共同發(fā)起了一個(gè)Multics計(jì)劃,AT&T 旗下的貝爾實(shí)驗(yàn)室也參加了這個(gè)計(jì)劃。Multics計(jì)劃的目標(biāo)是創(chuàng)建一套安裝在大型主機(jī)上的多用戶、多任務(wù)、多層次的分時(shí)多任務(wù)操作系統(tǒng)(multi-user、multi-processor、multi-level)。
2、Unix 操作系統(tǒng)的誕生:
后來因開發(fā)進(jìn)度緩慢,1969年貝爾實(shí)驗(yàn)室退出了該計(jì)劃,但貝爾實(shí)驗(yàn)室的工程師“肯·湯普遜”和“丹尼斯·里奇”在此基礎(chǔ)上繼續(xù)開發(fā),最終在1970年使用匯編語言開發(fā)出了第一版Unix系統(tǒng)??紤]到性能以及移植性問題,1971年兩人共同發(fā)明了C語言,并在1973年用C語言重寫了Unix系統(tǒng)。用C語言編寫的Unix系統(tǒng),代碼簡潔緊湊、易移植、易讀易修改,這些特性為此后Unix的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
3、BSD,伯克利軟件套裝:
此后的10年,Unix在學(xué)術(shù)機(jī)構(gòu)、大型企業(yè)中得到了廣泛的應(yīng)用,許多機(jī)構(gòu)在此源碼基礎(chǔ)上加以擴(kuò)展和改進(jìn),形成了所謂的“Unix變種”,這些變種反過來也促進(jìn)了Unix的發(fā)展,其中最著名的變種之一就是加州大學(xué)伯克利分校開發(fā)的伯克利軟件套件產(chǎn)品,即BSD(Berkeley Software Distribution)。
BSD在Unix的歷史發(fā)展中具有相當(dāng)大的影響力,成為很多商用Unix的基礎(chǔ),其不斷增大的影響力終于引起了 AT&T 的關(guān)注,于是 AT&T 和伯克利分校之間開始了一場(chǎng)持久的著作權(quán)官司,這場(chǎng)官司一直打到 AT&T 將自己的 Unix 系統(tǒng)實(shí)驗(yàn)室賣掉,新接手的 Novell 采取了一種比較開明的做法,允許伯克利分校自由發(fā)布自己的 Unix 變種,但前提是必須將來自于 AT&T 的代碼完全刪除,于是伯克利分校的師生開始重寫相關(guān)代碼,最終誕生了 4.4-BSD-Lite 版,成為了現(xiàn)代BSD的基礎(chǔ)版本。
盡管后來非商業(yè)版的Unix系統(tǒng)又經(jīng)過了很多演變,但其中有不少最終都是創(chuàng)建在BSD版本上(Linux、Minix等系統(tǒng)除外),例如蘋果公司基于BSD開發(fā)出了 Darwin 內(nèi)核,MacOS 和 iOS 系統(tǒng)的內(nèi)核就是 Darwin 內(nèi)核。從這個(gè)角度上講,4.4 BSD 又是所有自由版本Unix的基礎(chǔ),它們和 System V 及 Linux 等共同構(gòu)成 Unix 操作系統(tǒng)這片璀璨的星空。BSD 后來經(jīng)過演化,出現(xiàn)了 BSD 系統(tǒng)的三個(gè)主流版本,即 FreeBSD,NetBSD,OpenBSD。
4、Unix 發(fā)展小結(jié):
Unix 操作系統(tǒng),是一個(gè)強(qiáng)大的多用戶、多任務(wù)操作系統(tǒng),支持多種處理器架構(gòu),按照操作系統(tǒng)的分類,屬于分時(shí)操作系統(tǒng)。目前它的商標(biāo)權(quán)由國際開放標(biāo)準(zhǔn)組織所擁有,只有符合單一 Unix 規(guī)范的 Unix 系統(tǒng)才能使用 Unix 這個(gè)名稱,否則只能稱為類 Unix(Unix-like),比如后來的 Linux 系統(tǒng) 。
Unix 因?yàn)槠浒踩煽?,高效?qiáng)大的特點(diǎn)在服務(wù)器領(lǐng)域得到了廣泛的應(yīng)用。直到 GNU/Linux 流行開始前,Unix是科學(xué)計(jì)算、大型機(jī)、超級(jí)計(jì)算機(jī)等所用操作系統(tǒng)的主流?,F(xiàn)在其仍被應(yīng)用于一些對(duì)穩(wěn)定性要求極高的數(shù)據(jù)中心之上。
首發(fā)公眾號(hào)【戰(zhàn)神波波】,歡迎來交流~