原文來自 Ars Technica,原標(biāo)題《Unix at 50: How the OS that powered smartphones started from failure》,作者 RICHARD JENSEN,36 氪神譯局編譯。
你或許不知道,安卓和 iOS 兩個(gè)充滿競爭的操作系統(tǒng),其實(shí)是源自于同一個(gè)系統(tǒng) ——Unix,直到現(xiàn)在,還在為這兩個(gè)操作系統(tǒng)提供著支撐力量。
Unix 誕生 50 周年了。當(dāng)時(shí),這個(gè)幾乎驅(qū)動(dòng)著所有智能手機(jī)的操作系統(tǒng),其實(shí)是一個(gè)項(xiàng)目失敗的產(chǎn)物,開發(fā)者這個(gè)系統(tǒng)的程序員,并沒有的獲得支持,只能夠使用別人閑置下來不用的計(jì)算機(jī)。
從一個(gè)失敗的項(xiàng)目,到無處不在,Unix 誕生的早期,到底發(fā)生了什么?
也許它的無處不在早已掩蓋了它的起源。 但是 Unix ,這個(gè)幾乎驅(qū)動(dòng)所有智能手機(jī)的操作系統(tǒng),其實(shí)是 50 年前一個(gè)充滿野心的項(xiàng)目失敗后的產(chǎn)物。
當(dāng)時(shí),這個(gè)項(xiàng)目的團(tuán)隊(duì)陣容也非常豪華,有貝爾實(shí)驗(yàn)室、通用電氣和麻省理工學(xué)院。
具體來說,Unix 主要是貝爾實(shí)驗(yàn)室中一些程序員的想法,它不可思議的故事,開始于一次會(huì)議,舉辦地點(diǎn)是新澤西州默里山貝爾實(shí)驗(yàn)室中一個(gè)不起眼的附屬建筑頂層。
1969 年 3 月的最后一天,是一個(gè)陽光明媚、天氣寒冷的星期一,這個(gè)計(jì)算機(jī)科學(xué)部門接待了兩位來賓:貝爾實(shí)驗(yàn)室副主任比爾?貝克(Bill Baker)和研究主任埃德?戴維(Ed David)。
貝克準(zhǔn)備終止 Multics (一種復(fù)合信息和計(jì)算服務(wù)的縮寫) —— 這是一個(gè)計(jì)算機(jī)科學(xué)部門已經(jīng)研究了四年的軟件項(xiàng)目。當(dāng)時(shí),Multics 已經(jīng)延期兩年了,遠(yuǎn)遠(yuǎn)超出預(yù)算,而且只能在最寬松的條件中發(fā)揮作用。
為了盡可能好地解釋這個(gè)明顯失敗的項(xiàng)目,貝克在一次演講中聲稱,貝爾實(shí)驗(yàn)室已經(jīng)完成了它在 Multics 中試圖完成的所有事情,他們不再需要繼續(xù)這個(gè)項(xiàng)目。
正如出席會(huì)議的伯克?塔格(Berk Tague)后來在普林斯頓大學(xué)所說的那樣,‘和越南一樣,他宣布了勝利,并退出了 Multics。’
在部門內(nèi)部,這一聲明并不出人意料。程序員們敏銳地意識到,項(xiàng)目范圍和他們被要求為之開發(fā)的計(jì)算機(jī)存在各種問題。
盡管如此,這仍然是一件值得努力的事情,而且只要貝爾實(shí)驗(yàn)室還在研究 Multics,他們就有一臺價(jià)值 700 萬美元的大型計(jì)算機(jī)可以在業(yè)余時(shí)間使用。
在 Multics 項(xiàng)目上工作的程序員之一丹尼斯?里奇后來說,他們都覺得這個(gè)項(xiàng)目想要成功,要承擔(dān)一定的風(fēng)險(xiǎn),而且成功的可能性非常渺茫。
取消 Multics 意味著,計(jì)算機(jī)科學(xué)部的程序員們必須從事的唯一項(xiàng)目的終結(jié)了,也意味著計(jì)算機(jī)科學(xué)部門失去了唯一一臺計(jì)算機(jī)。
在 GE 645 的主機(jī)被拆卸下來運(yùn)走之后,計(jì)算機(jī)科學(xué)部門的資源被削減到只剩下一些辦公用品和幾臺終端機(jī)。
正如另一位參與這個(gè)項(xiàng)目的程序員肯?湯普森在 Unix Oral History 項(xiàng)目中挖苦地評論的那樣,‘我們的個(gè)人生活方式變得更加簡樸。’
幸運(yùn)的是,對計(jì)算機(jī)愛好者來說,約束有時(shí)會(huì)產(chǎn)生巨大的創(chuàng)造力。
所以,有史以來最有影響力的操作系統(tǒng)不是由風(fēng)險(xiǎn)資本家投資的,而且寫這個(gè)系統(tǒng)的人也不會(huì)因此成為億萬富翁。
Unix 的出現(xiàn),是因?yàn)樨悹枌?shí)驗(yàn)室雇傭了聰明的人,并給予他們自由的空間,相信他們的項(xiàng)目是有用的。
在 Unix 之前,貝爾實(shí)驗(yàn)室的研究人員已經(jīng)發(fā)明了晶體管和激光,以及在計(jì)算機(jī)圖形學(xué)、語音合成和語音識別領(lǐng)域有許多創(chuàng)新。
為 Multics 讓路
一開始的時(shí)候,大家都對 Multics 充滿希望,盡管乍看之下,它的目標(biāo)有點(diǎn)含糊,甚至有點(diǎn)夸張。
作為一個(gè)由通用電氣、麻省理工和貝爾實(shí)驗(yàn)室共同參與的項(xiàng)目,Multics 被宣傳為一個(gè)將計(jì)算能力轉(zhuǎn)化為像電力或電話服務(wù)一樣容易獲得的項(xiàng)目。
在未來,貝爾實(shí)驗(yàn)室的研究人員只需要在他們的辦公室里安裝一個(gè)插孔,將他們的終端與 Multics 主機(jī)連接起來,就能夠?qū)崟r(shí)訪問主機(jī)的全部資源,還可以在主機(jī)上存儲(chǔ)文件并隨意檢索。
盡管這些聽起來都是微不足道的,但證明了即使對于簡單的計(jì)算任務(wù)來說,這些功能也十分重要。
但是,當(dāng) Multics 在 20 世紀(jì) 60 年代初被首次構(gòu)想出來時(shí),文件存儲(chǔ)是一個(gè)新鮮事物,而‘分時(shí)’(即多個(gè)用戶共享一臺計(jì)算機(jī)資源的能力)只是在實(shí)驗(yàn)中完成的,并不是在擁有大量用戶的生產(chǎn)環(huán)境中實(shí)現(xiàn)的。
在 20 世紀(jì) 60 年代早期,計(jì)算機(jī)只是一個(gè)接一個(gè)地運(yùn)行程序。貝爾實(shí)驗(yàn)室的研究人員要編寫一個(gè)程序,并把它轉(zhuǎn)換成計(jì)算機(jī)接受的任何形式的輸入 (穿孔卡片、紙帶或者花哨的機(jī)器磁性介質(zhì)) ,然后把它傳輸?shù)接?jì)算機(jī)中心。
計(jì)算機(jī)操作員會(huì)把程序排好隊(duì),運(yùn)行它,然后把打印出來的結(jié)果和原始程序交給研究人員。
如果代碼中有錯(cuò)誤,打印出穿孔卡片,把它們帶到計(jì)算機(jī)中心,等待的結(jié)果可能就會(huì)是一個(gè)上面寫著類似‘SYNTAX ERROR’的打印輸出。也許你還可以得到一個(gè)線索或其它可能有用的信息。
隨著程序變得越來越復(fù)雜,這種調(diào)試代碼的方法變得更加令人沮喪。
但沒有哪家公司或大學(xué),甚至貝爾實(shí)驗(yàn)室,能夠?yàn)槊课谎芯繂T購買一臺主機(jī) ——1965 年,貝爾實(shí)驗(yàn)室用于開發(fā) Multics 的 GE 645 的成本幾乎與一架波音 737 相當(dāng)。
因此,人們對分時(shí)技術(shù)(譯者注:對計(jì)算機(jī)資源的一種共享方式,利用多道程序與多任務(wù)處理使多個(gè)用戶可以同時(shí)使用一臺計(jì)算機(jī)。)產(chǎn)生了廣泛的興趣,這種技術(shù)允許多個(gè)研究人員同時(shí)在大型主機(jī)上運(yùn)行程序,并在他們的遠(yuǎn)程終端上立即得到結(jié)果。
通過分時(shí),程序不會(huì)被打印在穿孔卡片上,而是被編寫并存儲(chǔ)在主機(jī)上。理論上,研究人員可以在不離開辦公室的情況下動(dòng)態(tài)地編寫、編輯和運(yùn)行他們的程序。 Multics 的構(gòu)想就是為了這個(gè)目標(biāo),它開始于 1964 年,最初定下的交付期限是 1967 年。
當(dāng)時(shí),麻省理工學(xué)院已經(jīng)開發(fā)出了一種名為 CTSS 的原始分時(shí)系統(tǒng)正在使用。
具體的項(xiàng)目實(shí)施中,麻省理工學(xué)院提供規(guī)范,通用電氣提供硬件,通用電氣和貝爾實(shí)驗(yàn)室將分擔(dān)編程任務(wù)。
Unix 團(tuán)隊(duì):聚集!
陸克文?凱納迪(Rudd Canaday)是 Multics 項(xiàng)目的首批程序員之一。凱納迪在 1964 年被貝爾實(shí)驗(yàn)室聘用,在 1966 年被調(diào)到 Multics 項(xiàng)目上之前,還為耐克導(dǎo)彈防御計(jì)劃編寫了一個(gè)簡單的分時(shí)系統(tǒng)。
第二年,實(shí)驗(yàn)室雇傭了里奇和肯?湯普森,前者是哈佛大學(xué)畢業(yè)生,父親是貝爾實(shí)驗(yàn)室的校友,后者自稱是軍人,據(jù)他自己承認(rèn),至少在一個(gè)月的時(shí)間內(nèi),他都在 Cal-Berkeley 的校區(qū)躲避貝爾實(shí)驗(yàn)室的招聘人員。
凱納迪、里奇和湯普森來自不同的地方,但最終卻來到了同一個(gè)地方:貝爾實(shí)驗(yàn)室大樓的頂層,在狹窄的空間里工作。沒有空調(diào),但他們可以訪問價(jià)值數(shù)百萬美元的大型主機(jī),而且監(jiān)管相當(dāng)寬松。
這三個(gè)研究人員都是 MTS,或者說是實(shí)驗(yàn)室的技術(shù)人員。
這個(gè)稱號帶來了一種隱含的信任,即他們有能力找到自己的項(xiàng)目,并且 —— 如果讓他們自行決定的話 —— 從事對實(shí)驗(yàn)室的母公司 AT & T 有利的研究。
幸運(yùn)的是,這份工作也給了他們很大的自由。
馬爾科姆?道格拉斯?麥克羅伊(Malcolm Douglas McIlroy)是名義上的監(jiān)督人員,畢業(yè)于麻省理工學(xué)院,自 1958 年以來一直在貝爾實(shí)驗(yàn)室工作。
湯普森、里奇、卡納迪和麥克羅伊都很清楚麻省理工學(xué)院的規(guī)范中存在的缺陷 —— 到這個(gè)時(shí)候已經(jīng)有幾千頁了 —— 他們知道,至少他們面臨的一些挑戰(zhàn)可以歸咎于 GE 645 的架構(gòu)。
隨著時(shí)間的推移,他們四個(gè),特別是湯普森,開始相信如果給他們一個(gè)新的開始,他們可以開發(fā)出一個(gè)比 Multics 更好的操作系統(tǒng)。
舒適的環(huán)境
▲ 肯·湯普森 (Ken Thompson,坐著) 和丹尼斯·里奇 (Dennis Ritchie,站著) 在 PDP-11 前(譯者注:PDP-11 是最著名的計(jì)算機(jī)之一,是數(shù)字設(shè)備公司(DEC)從 1960 年代早期開始制造的產(chǎn)品之一)。
里奇開玩笑說,與 1999 年 3 月《科學(xué)美國人》(Scientific American) 等雜志刊登自己的照片時(shí)相比,他那時(shí)的頭發(fā)‘更加茂密’。
對于貝爾實(shí)驗(yàn)室的程序員來說,Multics 并不是他們的全職工作,他們使用的通用電氣主機(jī)也可以用于其他項(xiàng)目。
湯普森的操作系統(tǒng)就是其中之一。 那年冬天他一直在做這個(gè)程序,并且想出了如何讓每個(gè)終端同時(shí)連接到機(jī)器上打印‘HELLO’。
但是在他能夠進(jìn)一步發(fā)展之前,Multics 項(xiàng)目被取消了,大型機(jī)被打包并搬出了他所在的計(jì)算機(jī)科學(xué)部門。
貝克和戴維斯取消 Multics 項(xiàng)目的時(shí)候,并沒有給麥克羅伊的團(tuán)隊(duì)提供新的工作,這讓他們有點(diǎn)忐忑不安。 他們擔(dān)心,隨著 Multics 的消亡,自己在貝爾實(shí)驗(yàn)室的職位也不會(huì)持續(xù)很長時(shí)間。
然而,這個(gè)蓬勃發(fā)展的開發(fā)團(tuán)隊(duì)恰好處于適合 Unix 蓬勃發(fā)展的環(huán)境中。 貝爾實(shí)驗(yàn)室與其他地方不同,它的資金來自美國幾乎所有電話線路的月收入的一部分。
把一小部分程序員放在默里山綜合樓的頂層并不會(huì)讓公司破產(chǎn)。湯普森所在的部門,也有一個(gè)有理想的經(jīng)理人來支持他們追求好奇心。
管理計(jì)算機(jī)科學(xué)研究部門 (由麥克羅伊的程序員和一群數(shù)學(xué)家組成) 的山姆?摩根也沒打算依靠麥克羅伊的團(tuán)隊(duì),因?yàn)樗麄兺蝗粵]有什么特別的事情可做。
摩根是一名受過專業(yè)訓(xùn)練的應(yīng)用數(shù)學(xué)家,1967 年被提升為部門主任。
‘我不認(rèn)為管理是他最喜歡的活動(dòng),’布萊恩?科尼漢 (Brian Kernighan) 告訴 Ars,他的辦公室就在湯普森對面。‘但他非常努力地把它做好。 他很善良,試圖善待每一個(gè)人。’
‘這里的管理原則是雇傭聰明的人,然后向他們提供環(huán)境,’摩根自己在 Unix 口述歷史項(xiàng)目中回憶道。‘你給他們大致的指示,告訴他們需要什么樣的東西,給他們很多自由。’
因此,摩根沒有提供具體的方向,而是傾向于運(yùn)用他所說的‘選擇性熱情’來鼓勵(lì)一個(gè)特定的研究項(xiàng)目,他指出,‘如果你錯(cuò)誤地阻止或沒有回應(yīng)一些后來證明是好的東西,如果它真的是一個(gè)好的想法,它會(huì)回來。’
‘他讓人們做自己的事情,從不告訴任何人他們應(yīng)該做什么,’科尼漢回憶說。 當(dāng)時(shí),貝爾實(shí)驗(yàn)室也強(qiáng)調(diào)跨學(xué)科的合作。‘每個(gè)人都一直開著門,所以如果你有什么問題,附近有個(gè)專家,你可以走進(jìn)去尋求幫助,’科尼漢回憶道。
盡管如此,對于湯普森和他的同事們來說,目前還有一個(gè)小問題 —— 沒有人有計(jì)算機(jī)。雖然實(shí)驗(yàn)室管理人員對計(jì)算機(jī)本身沒有問題,但麥克羅伊的程序員無法說服他們的老板給他們購買一臺計(jì)算機(jī)。
由于 Multics 的慘敗,他們沒法說服任何人給他們一臺新計(jì)算機(jī),以便他們繼續(xù)操作系統(tǒng)的研究和開發(fā)。
但從實(shí)驗(yàn)室管理人員的角度來看,湯普森和其他團(tuán)隊(duì)成員似乎只想繼續(xù)從事 Multics 項(xiàng)目。
共享計(jì)算財(cái)富
計(jì)算機(jī)科學(xué)部門與聲學(xué)和行為研究部門共用一層樓。這個(gè)部門更大,由電子音樂、聲音合成和聲音識別領(lǐng)域的先驅(qū)馬克斯?馬修斯(Max Mathews)領(lǐng)導(dǎo)。
聲學(xué)部門,明顯應(yīng)用于 AT&T 的核心業(yè)務(wù),顯然比計(jì)算機(jī)科學(xué)部門資金更充足。
此外,這里還有一種似乎有意激怒里奇和湯普森的情況 —— 聲學(xué)部門并不缺少計(jì)算機(jī)。里奇和湯普森本來就對公司的官僚作風(fēng)有一定的不屑。 事實(shí)上,聲學(xué)的計(jì)算機(jī)數(shù)量遠(yuǎn)遠(yuǎn)超過了他們的需要。
而且,只要聲學(xué)部門的程序變得過于復(fù)雜,無法在他們的計(jì)算機(jī)上高效運(yùn)行時(shí),他們只需要向?qū)嶒?yàn)室管理人員索要新的計(jì)算機(jī)就可以了。
▲馬克斯?馬修斯在貝爾實(shí)驗(yàn)室的模擬電子實(shí)驗(yàn)室里演奏一把電子小提琴。
盡管他們對隔壁能夠獲取大量資金存在一定程度的嫉妒,但在 60 年代和 70 年代聲學(xué)和計(jì)算機(jī)科學(xué)部門之間也有一些合作。其實(shí),貝爾實(shí)驗(yàn)室在計(jì)算機(jī)技術(shù)方面的許多創(chuàng)新,實(shí)際上來自聲學(xué)系。
例如,在 60 年代早期,聲學(xué)研究員 Bill Ninke 用 DEC PDP-7 微型計(jì)算機(jī)演示了一個(gè)基本圖形用戶界面。
雖然聲學(xué)仍然保留著那臺計(jì)算機(jī),但是他們已經(jīng)把它閑置,沒有使用它,并把它放在了六樓的某個(gè)偏僻的地方。
因此,湯普森,不知疲倦地將實(shí)驗(yàn)室的角落和縫隙扒了一個(gè)遍以后,終于發(fā)現(xiàn)了 PDP-7,這個(gè)時(shí)候,戴維斯和貝克也剛剛宣布取消 Multics 項(xiàng)目后不久。
在團(tuán)隊(duì)其他人的幫助下,湯普森把 PDP-7 的各種零件打包起來,把它放進(jìn)了一個(gè)指定給音響部門的壁櫥里,然后開始運(yùn)行。
PDP-7 的大小相當(dāng)于一個(gè)冰箱,并不算終端機(jī)。而且,他們還說服聲學(xué)部門為計(jì)算機(jī)提供空間,并讓這個(gè)部門從預(yù)算中支付機(jī)器的日常修理費(fèi)用。
麥克羅伊的程序員們,突然有了一臺電腦。 因此,在 1969 年夏天,湯普森、里奇和卡納迪在 PDP-7 上研究出了一個(gè)基本的文件管理器。
這不是一件簡單的任務(wù)。 批量計(jì)算 (一個(gè)接一個(gè)地運(yùn)行程序) 很少能讓計(jì)算機(jī)能夠永久地存儲(chǔ)信息,許多大型主機(jī)上沒有任何永久存儲(chǔ)設(shè)備 (無論是磁盤還是硬盤)。
但是,這些程序員所喜歡的分時(shí)環(huán)境,必需要附加存儲(chǔ)器。當(dāng)多個(gè)用戶同時(shí)連接到同一臺計(jì)算機(jī)時(shí),文件管理器必須編寫得足夠好,以防止一個(gè)用戶的文件被寫到另一個(gè)用戶的文件上。
而且,還要求當(dāng)讀取一個(gè)文件時(shí),必須將該文件的輸出發(fā)送給打開該文件的用戶。
這是一個(gè)麥克羅伊的團(tuán)隊(duì)愿意接受的挑戰(zhàn)。
他們已經(jīng)看到了計(jì)算機(jī)的未來,并且想要探索它。他們知道 Multics 是個(gè)死胡同,但是他們發(fā)現(xiàn)了共享開發(fā)、共享訪問和實(shí)時(shí)計(jì)算所帶來的可能性。
20 年后,里奇在普林斯頓大學(xué)這樣描述說:‘我們想要保留的不僅僅是一個(gè)做編程的好環(huán)境,而是一個(gè)可以能夠讓團(tuán)隊(duì)合作的系統(tǒng)。’
‘在 20 世紀(jì) 60 年代后期,我還在使用普林斯頓的 IBM 7094 和貝爾實(shí)驗(yàn)室的 GE 635 進(jìn)行批處理計(jì)算,’布萊恩?科尼漢告訴 Ars。
‘但我在 1966 年夏天,在麻省理工學(xué)院用上了 CTSS,這揭示了交互式計(jì)算是多么美好。’
一旦 Unix 開始運(yùn)行,科尼漢就從研究抽象主題轉(zhuǎn)向編寫程序,最終與里奇合作研究 C 語言,問世之后,其立即成為了編程手冊的黃金標(biāo)準(zhǔn)。
從貝爾實(shí)驗(yàn)室的自助餐廳到我們的現(xiàn)代手機(jī)
盡管實(shí)驗(yàn)室沒有密切關(guān)注研究人員什么時(shí)候上下班,但在那個(gè)夏天,凱納迪盡了最大努力保持正常的工作時(shí)間。但湯普森和里奇則稍微放松了一些。
他們倆的工作時(shí)間都極不規(guī)律。湯普森告訴 Unix Oral history 項(xiàng)目,他當(dāng)時(shí)把每天當(dāng)做 27 個(gè)小時(shí)來工作,這使他與其他人的每天 24 小時(shí)工作不同步。
里奇只是一個(gè)傳統(tǒng)的夜貓子。
因此,這三位開發(fā)者聚在一起的時(shí)間大多是在午餐時(shí)間,甚至在那個(gè)時(shí)候,有時(shí)凱納迪會(huì)打電話到湯普森和里奇家里,提醒他們貝爾實(shí)驗(yàn)室的自助餐廳什么時(shí)候關(guān)門。
在自助餐廳,三位開發(fā)者討論了這個(gè)新操作系統(tǒng)的文件管理器的基本原理,幾乎沒有注意到員工清理他們周圍的午餐垃圾。
他們還在計(jì)算機(jī)科學(xué)部門的辦公室里研究這個(gè)系統(tǒng)。 麥克羅伊的辦公室就在凱納迪對面,他記得那年夏天,他們總是圍著一塊黑板工作。
最終,當(dāng)他們在概念上或多或少地完善了文件管理系統(tǒng)后,就到了真正編寫代碼的時(shí)候了。這三個(gè)人的字寫得都很糟糕,他們決定使用實(shí)驗(yàn)室的口述服務(wù)。
其中一人打電話給實(shí)驗(yàn)室分機(jī),將整個(gè)代碼庫錄入磁帶錄音機(jī)。 因此,一些身份不明的辦公室工作人員或工作人員很快就遇到了一個(gè)麻煩的任務(wù),試圖將其轉(zhuǎn)換成打印用的文件。
當(dāng)然,這個(gè)過程并不完美。 在各種各樣的錯(cuò)誤中,‘inode’作為‘eye node’返回,但是輸出仍然被看作是對各種涂鴉的明顯改進(jìn)。
1969 年 8 月,湯普森的妻子和兒子去伯克利度假三周,看望家人。湯普森決定用這段時(shí)間編寫一個(gè)匯編程序、一個(gè)文件編輯器和一個(gè)管理 PDP-7 處理器的內(nèi)核。
這將使這一組文件管理器成為一個(gè)成熟的操作系統(tǒng)。 他慷慨地為每項(xiàng)任務(wù)分配了一個(gè)星期的時(shí)間。
湯普森差不多按時(shí)完成了他的任務(wù)。 到了 9 月,貝爾實(shí)驗(yàn)室的計(jì)算機(jī)科學(xué)部門已經(jīng)有了一個(gè)運(yùn)行在 PDP-7 上的操作系統(tǒng),而且不是 Multics。
PDP-7 當(dāng)時(shí)沒有磁帶驅(qū)動(dòng)器或硬盤驅(qū)動(dòng)器,系統(tǒng)是通過向其輸入一個(gè)打孔紙來‘啟動(dòng)’。 由于沒有附加的驅(qū)動(dòng)器,他們辛苦開發(fā)的文件系統(tǒng)不得不再等待一段時(shí)間面世,但他們有一個(gè)良好的多用戶分時(shí)環(huán)境可以運(yùn)行。
這個(gè)團(tuán)隊(duì)還是覺得這是一項(xiàng)成就,并將其操作系統(tǒng)命名為‘UNICS’,即‘聯(lián)合信息與計(jì)算系統(tǒng)’(UNIplexed Information and Computing System)的縮寫。
▲第七版 Unix 是從 1979 年開始的 Unix 操作系統(tǒng)的重要早期版本。這是在 AT & T 將 Unix 商業(yè)化之前,貝爾實(shí)驗(yàn)室推廣的最后一個(gè)版本。
那年 11 月,湯普森進(jìn)行述職報(bào)告中,包含了對他構(gòu)建的這個(gè)新操作系統(tǒng)的描述。
到了 1970 年夏天,這個(gè)團(tuán)隊(duì)已經(jīng)在 PDP-7 上安裝了一個(gè)磁帶驅(qū)動(dòng)器,而且他們蓬勃發(fā)展的操作系統(tǒng)也為程序員提供了越來越多的工具選擇 (其中一些至今仍然存在)。
但是,盡管取得了成功,湯普森、卡納迪和里奇在申請全新的計(jì)算機(jī)時(shí),仍然被實(shí)驗(yàn)室管理層拒絕。
直到 1971 年末,計(jì)算機(jī)科學(xué)系才擁有了一臺真正現(xiàn)代化的計(jì)算機(jī)。 在過去一年左右的時(shí)間里,Unix 團(tuán)隊(duì)已經(jīng)開發(fā)了幾個(gè)工具來自動(dòng)格式化文本文件以便打印。
他們這樣做是為了簡化他們所鐘愛的項(xiàng)目的文檔制作,但是他們的工具傳播出去了了,被頂層其他地方的幾個(gè)研究人員使用。
與此同時(shí),實(shí)驗(yàn)室的法律部門準(zhǔn)備在一個(gè)名為‘AstroText’的大型主機(jī)程序上花一大筆錢。
聽到這個(gè)風(fēng)聲,Unix 的工作人員意識到他們只需要一點(diǎn)點(diǎn)努力,就可以升級他們自己編寫的工具,使之成為法律部門可以用來準(zhǔn)備專利申請的東西。
這時(shí),計(jì)算機(jī)科學(xué)部門提出了實(shí)驗(yàn)室管理購買 DEC PDP-11,用于文檔生產(chǎn)。馬克斯?馬修斯提出從聲學(xué)部門的預(yù)算中來買。
最后,管理層讓步了,買了一臺電腦給 Unix 團(tuán)隊(duì)使用。
最終,關(guān)于這個(gè)操作系統(tǒng)的消息泄露了出去,擁有 PDP-11 的企業(yè)和機(jī)構(gòu)開始與貝爾實(shí)驗(yàn)室聯(lián)系,想購買他們的新操作系統(tǒng)。 這家實(shí)驗(yàn)室同意免費(fèi)提供副本,只收取郵資和存儲(chǔ)費(fèi)用。
就這樣,他們創(chuàng)造了科技的歷史。
到了 20 世紀(jì) 70 年代末,這個(gè)操作系統(tǒng)的一個(gè)副本傳到了加州大學(xué)伯克利分校,在 20 世紀(jì) 80 年代早期,那里的程序員把它改裝成可以在 PC 上運(yùn)行。
他們開發(fā)的 Unix 版本,也就是 BSD 操作系統(tǒng),被 NeXT 的開發(fā)人員選中。
NeXT 是史蒂夫?喬布斯在 1985 年離開蘋果公司后創(chuàng)立的公司,當(dāng)蘋果在 1996 年收購 NeXT 時(shí),BSD 成為了 OS X 和 iOS 的起點(diǎn)。
Unix 的免費(fèi)發(fā)行在 1984 年停止,當(dāng)時(shí)美國政府拆分 AT & T,之前禁止該公司從貝爾實(shí)驗(yàn)室的許多發(fā)明中獲利的協(xié)議也到期了。
然而,Unix 社區(qū)已經(jīng)習(xí)慣了免費(fèi)軟件,所以當(dāng)?shù)弥?AT & T 將很快對 Unix 的所有副本收費(fèi),并禁止修改源代碼時(shí),理查德?斯托曼(Richard Stallman)和其他公司開始使用免費(fèi)分發(fā)給任何人的軟件重新創(chuàng)建 Unix,他們稱他們的項(xiàng)目為‘GNU’,而且對修改沒有任何限制。
1991 年,芬蘭赫爾辛基的一名大學(xué)生林納斯?托瓦茲(Linus Torvalds)使用幾個(gè) GNU 工具,編寫了一個(gè)可以在 PC 上運(yùn)行的操作系統(tǒng)內(nèi)核。
他的軟件,最終被稱為 Linux,在 2004 年成為 Android 操作系統(tǒng)的基礎(chǔ)。
特別提醒:本網(wǎng)內(nèi)容轉(zhuǎn)載自其他媒體,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,并請自行核實(shí)相關(guān)內(nèi)容。本站不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如若本網(wǎng)有任何內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系我們,本站將會(huì)在24小時(shí)內(nèi)處理完畢。