听一个内行人讲云原生简史
作者 | 呂建偉
責編?| 寇雪芹
頭圖?|?下載于視覺中國
引子
1999年,發(fā)生在我自己身上的幾件事:
1、買了兩張盜版光盤:Sun Solaris OS、紅帽Linux。
2、正在用COM+、MTS,開發(fā)三層架構的局域網(wǎng)內的大型企業(yè)商用套件,由Windows客戶端、中間層中間件、后臺SQLServer數(shù)據(jù)庫構成。
3、自己嘗試基于WebSphere,開發(fā)三層架構的互聯(lián)網(wǎng)的企業(yè)應用,由瀏覽器Web(HTML/CSS/JavaScript)、JSP/servlet、EJB中間件、Oracle 數(shù)據(jù)庫構成。我1997年學習Java,但一直沒嘗試開發(fā)點什么。
Unix
1964年,IBM發(fā)布劃時代的System360大型主機,里面包含了System/36O操作系統(tǒng),這個操作系統(tǒng)可以說是人類計算機史上第一個操作系統(tǒng),也真正做到了多用戶、多計算存儲環(huán)境隔離、多分時。
在那個年月,IT產(chǎn)業(yè)剛剛開啟,很多工業(yè)時代的巨頭都想進入信息時代。如通用電氣、霍尼韋爾等等,也都設計制造計算機。為了對抗IBM,通用電氣出錢,產(chǎn)學研聯(lián)合,1964年聯(lián)合AT&T貝爾實驗室、MIT麻省理工學院一起搞一個操作系統(tǒng),這就是Multics。
但是由于IBM太厲害了,橫掃市場。1970年,通用電氣退出競爭,不干計算機業(yè)務了,所以也不資助這個項目了。
貝爾實驗室搞Multics項目的這幫人就開始無所事事了。于是,ken Tphmpson和Dennis Ritch這兩個人就開始瞎折騰。1971年,ken Tphmpson在一臺廢棄的DEC PDP-7小型機上用匯編語言花了一個月時間仿照Multics開發(fā)了簡化的、能夠在老舊性能的小型機上運行的操作系統(tǒng)。這就是UNIX。
1973年,Dennis Ritch感覺用匯編開發(fā)太麻煩了,于是他就從一個已經(jīng)存在了很久的B語言做了改良,就叫它C語言,然后就用C語言重新開發(fā)了一版,這就是UNIX第三版。1974年,他們倆對外發(fā)了一篇文章,外界這才知道了有個東西叫UNIX。
由于當時貝爾實驗室的母公司AT&T正處于被反復K反復要搞反壟斷的時候,所以AT&T當時被美國裁定不能銷售除電話電報以外任何商品。因此,1975年,貝爾實驗室搞了一個開源教學版Unix,高校可以免費學習。此后,各大公司也開始研究這份開源代碼。
1978年,還在伯克利大學上學、后來的SUN公司的創(chuàng)始人Bill Joy,在高校開源教學版UNIX第六版的開源代碼基礎上進行改造,這就是大名鼎鼎的UNIX伯克利軟件分發(fā)版本,簡稱BSD。
1979年,最后一個開源教學版Unix第七版發(fā)布以后,AT&T宣布UNIX不再開源。AT&T專門成立了一個獨立公司:USG(Unix Support Group),準備將 Unix商業(yè)化。但AT&T能想到的招兒就是保留著作權和商標權,賣商業(yè)化的Unix源代碼。
1982年,HP買了UNIX商業(yè)源代碼,改造成了自己的HP-UX操作系統(tǒng)。1984年,IBM買了UNXI商業(yè)源代碼,改造成了自己的AIX操作系統(tǒng)。
1982年,Sun公司成立,Bill Joy在BSD的基礎上開發(fā)了Sun公司的Unix商用版本,這就是后來的Solaris。
1976年,喬布斯成立蘋果公司。1977年推出AppleII,這是人類歷史上第一臺個人電腦(簡稱PC)。1985年,喬布斯被趕出蘋果公司后,在硅谷到處尋找好的東西想重建輝煌。他遇到了一家創(chuàng)業(yè)小公司叫NeXt.Inc,這幫人正是想造喬布斯最想要的最強勁的電腦。1989年,NeXT電腦發(fā)布。它也是從BSD開源代碼中發(fā)展出了操作系統(tǒng)。后來,喬布斯重返蘋果,把蘋果公司的操作系統(tǒng)廢掉,用了NeXT的操作系統(tǒng),這就是后來的Mac OS。
1977年,蓋茨把微軟公司搬到西雅圖,繼續(xù)開發(fā)BASIC編程語言。1979年,SCO公司成立,并且和微軟進行合作,基于Unix第七版,移植到Intel 當時1978年推出的最新的8088 CPU上。這就是后來的世界上第一個PC上的Unix:Xenix。
1980年,IBM受蘋果公司個人電腦的壓力準備搞開放兼容個人電腦,就想采取微軟開發(fā)的第一個PC上的Xenix。但當時Xenix還涉及到SCO合作開發(fā)的版權問題,于是蓋茨耍了一個花招,就從市面上買了一個操作系統(tǒng),這就是后來大名鼎鼎的MS-DOS。1987年,SCO買下了微軟工程師開發(fā)的那一部分Xenix代碼,SCO完全擁有了Xenix。
1984年,AT&T被拆分,貝爾實驗室由于獲得不了資助也開始衰落。1993年,Novell買下了Unix的所有資產(chǎn)。Novell是世界上第一個提出網(wǎng)絡操作系統(tǒng)、文件服務器的公司,曾經(jīng)把微軟打的很厲害。但是微軟在1993年推出了Windows NT一雪前仇。1995年,Novell頂不住了,也開始想著怎么榨干Unix最后一滴血。1995年,Novell模仿AT&T做法也把Unix源代碼賣給了SCO。后來SCO和Novell都宣稱擁有Unix的資產(chǎn)權。
這場官司從2004年打到2007年,Novell也不知道官司能不能勝利,于是Novell在2004年并購了一家德國的Linux發(fā)行公司SUSE。所幸的是,后來法官裁定Novell獲勝。
SUSE是Linux。Linux是芬蘭Linus在1990年上學時上操作系統(tǒng)課,因為要交課堂作業(yè),自己就嘗試寫了點東西,后來他覺得自己也能寫個操作系統(tǒng),于是就產(chǎn)生了Linux。當時因為AT&T已經(jīng)不再給高校開源Unix,所以荷蘭教授Tanenbaum自己搞了一個教學用的操作系統(tǒng),這就是Minix。Linus上操作系統(tǒng)課,老師用的教學系統(tǒng)就是Minix。Linus開發(fā)Linux時也是靠Minix啟發(fā)了不少思路。1994年初,Linux1.0發(fā)布。
不過,我們這里講的Linux其實是操作系統(tǒng)內核。Linux操作系統(tǒng)內核之上的東西,都是各個Linux發(fā)行公司在搞。業(yè)界有一個開源組織叫GNU,它也在開源的Linux發(fā)行版,在Linux內核上集成了當時許多開源軟件,其中就有伊利諾伊大學開源組織搞的apache Web Server。
Linux生逢其時。1994年剛推出來,世界互聯(lián)網(wǎng)熱潮就爆發(fā)了。大家都想創(chuàng)業(yè)搞互聯(lián)網(wǎng),但是Unix和Windows NT這些商業(yè)操作系統(tǒng)都很昂貴。Linux開源、免費、不涉及Unix版權,而且GNU搞的開源Linux發(fā)行版里還有Apache Web Server,正好搭建網(wǎng)站。現(xiàn)在,LAMP組合還是絕配:Linux、Apache Web Server、MySQL、PHP。
中間件
80年代,局域網(wǎng)、互聯(lián)網(wǎng)都發(fā)展的方興未艾。互聯(lián)互通成為人們的普遍訴求。所以,Novell、Sun公司都提出網(wǎng)絡操作系統(tǒng)概念。
上節(jié)提到,Sun公司的聯(lián)合創(chuàng)始人Bill Joy也是BSD的核心人物。BSD給Unix業(yè)界最重要的貢獻就是:TCP/IP的實現(xiàn),為了解決網(wǎng)絡之間的互聯(lián)互通。現(xiàn)在各大操作系統(tǒng)中的TCP/IP實現(xiàn)代碼,根源都來自于此。
Bill Joy太厲害了,他還在Sun公司于1984年搞出了一個新玩意,那就是:PRC(遠程過程調用),也用于解決應用程序之間的互聯(lián)互通。
1986年,IEEE(電氣與電子工程師協(xié)會)介于Unix版本太多,不好互聯(lián)互通,于是搞了一個開放作業(yè)系統(tǒng)標準,這就是POSIX。但IEEE有點類似學術組織,不是工程組織,制定了標準沒人執(zhí)行。1993年,從AT&T買下Unix資產(chǎn)的Novell也想解決Unix之間在操作系統(tǒng)層面的互聯(lián)互通,于是Novell聯(lián)合大家,如買了Unix源代碼的HP、IBM等,成立了一個組織——X/Open,專門負責POSIX標準定義和業(yè)界推廣、落地執(zhí)行,讓各大操作系統(tǒng)廠商都遵守POSIX標準。
這個1993年成立的X/Open組織,后來在1996年和Open Software Foundation合并,成為了The Open Group。Open Software Foundation是IBM和HP這起子購買了Unix商用源代碼的廠商們在1986年就成立的一個組織,也是一直試圖想在工程界解決POSIX落地的問題。現(xiàn)在Unix的正主Novell領頭搞了X/Open,兩個組織從職能目標和參加廠商來說大多重疊,所以這兩個組織就合并了。
咱們再說一個組織,那就是對象管理組織OMG,它由Sun、IBM、HP等廠商在1989年組建。The Open Group組織是為了在操作系統(tǒng)層面解決互聯(lián)互通,而OMG組織是為了在應用層面解決互聯(lián)互通。大家可別忘了,Sun公司這人可是既實現(xiàn)了TCP/IP,也實現(xiàn)了RPC(遠程過程調用)。
OMG組織首先在1990年發(fā)布了CORBA標準。里面有幾個好東西:
1、IDL:中立的文本可描述的接口語言
2、對象請求代理:ORB
3、網(wǎng)絡互聯(lián)互通:RPC、TCP/IP、UDP、IIOP
4、服務:目錄服務、注冊服務、事務服務、消息服務、事件通知服務、安全服務
總結
以上是生活随笔為你收集整理的听一个内行人讲云原生简史的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库怎么选择?终于有人讲明白了
- 下一篇: 数据中心 48 V 直流供电,Vicor