Unix
傳奇(下篇)
陳皓 ?
?
Unix 與黑客文化
黑客的文化和 Unix 的商業(yè)化存在著必然的聯(lián)系。自從 Unix 出現(xiàn),黑客文化就與之而來。
1993 初,一個悲觀的觀察家撰文指出,已經(jīng)有理由認(rèn)為 Unix 的傳奇故事連同他帶有黑客文明將一同破產(chǎn)。許多人預(yù)測,從那時起 Unix 將在六月內(nèi)死亡。他們很清楚,十年的 Unix 商業(yè)化,使自由跨平臺的 Unix 夢以失敗告終。 Unix 允諾的跨平臺可移植性,在一打大公司專有的 Unix 版本之間不停地斗嘴中丟失,一個完美的操作系統(tǒng)最終淪為多種版本的一團(tuán)亂麻,這應(yīng)該說是人類文明史上的一個重大悲劇。
在專有軟件社會中,只有像微軟一樣的“集權(quán)制,大教堂”生產(chǎn)方式才能成功。那個時代的人悲觀地相信,技術(shù)世界的個人英雄主義時代已經(jīng)結(jié)束,軟件工業(yè)和發(fā)展中的互聯(lián)網(wǎng)絡(luò)將逐漸地由像微軟一樣的巨型企業(yè)支配,再也沒有“佐羅”,世界是愷撒大帝的世界,計(jì)算機(jī)文明將進(jìn)入黑暗的帝國時代。黑客已經(jīng)死了,自由不付存在。
自從 Unix 出現(xiàn)以來,第一代的 Unix 黑客似乎垂垂老矣,衣食不飽 ( Berkeley 計(jì)算機(jī)科學(xué)研究組在 1994 丟失了自己基金 ) 。這是一個抑壓的時代。專有的商業(yè) Unix 的結(jié)果證明那么沉重、那么盲目、那么不適當(dāng),以致微軟能夠用那次等技術(shù)的 Windows 搶走他們生存的空間,拿走他們的干糧。黑客世界的殘余力量被逼到了世界上的角落里,茍延殘喘。
就在黑客文化日漸衰落之時,美國新聞周刊的資深記者 Steven Levy 完成了著名的《黑客列傳》一書,書中著力介紹了一個人物: Richard M. Stallman 的故事,他是麻省理工學(xué)院( MIT )人工智能實(shí)驗(yàn)室領(lǐng)袖人物,堅(jiān)決反對實(shí)驗(yàn)室的研究成果商業(yè)化。他是商業(yè)軟件社會中堅(jiān)強(qiáng)的一員,決不隨波逐流,建立了全新的黑客文化。
Richard M. Stallman (他的登陸名 RMS 更為人熟知)早在 1970 年代晚期就已經(jīng)證明他是當(dāng)時最有能力的程序員之一。 Emacs 編輯器就是他眾多發(fā)明中的一項(xiàng)。 RMS 的目標(biāo)是將后 1980 的松散黑客社群變成一臺有組織的社會化機(jī)器以達(dá)到一個單純的革命目標(biāo)。也許他未意識到,他的言行與當(dāng)年卡爾·馬克思號召產(chǎn)業(yè)無產(chǎn)階級反抗工作的努力如出一轍。 RMS 宣言引發(fā)的爭論至今仍存于黑客文化中。他的綱要遠(yuǎn)不止于維護(hù)一個代碼庫,已經(jīng)暗含了廢除軟件知識產(chǎn)權(quán)主張的精髓。 RMS 通過“自由軟件( free software )”讓黑客文化更加有自我意識。當(dāng)然,這個充滿魅力又具爭議的人物本身已經(jīng)成為了一個黑客文化英雄。
只有癡迷的“黑客”和具有創(chuàng)造力的怪人結(jié)成的反叛聯(lián)盟才能把我們從愚蠢中拯救出來——他們接著教導(dǎo)我們,真正的專業(yè)和奉獻(xiàn)精神,正是我們在屈服于世俗觀念的“合理商業(yè)做法”之前的所作所為。
——
《
The Art of Unix Programming
》
RMS 讓世界上所有的人都知道,入侵電腦系統(tǒng)只是低級不入流的黑客干的事,真正的黑客,是為了自由,為了軟件的自由,為了挑戰(zhàn)計(jì)算機(jī)世界中的霸權(quán)主義而斗爭。他們不是街頭小混混,他們更像是綠林好漢,更像是羅賓漢,更像是佐羅。就像渴望民主的人民同專制的政府斗爭一樣。 RMS 領(lǐng)導(dǎo)著許多的黑客通過互聯(lián)網(wǎng)向?qū)S熊浖l(fā)出宣戰(zhàn)。
X Windows 是首批由服務(wù)于全球各地不同組織的許多個人以團(tuán)隊(duì)形式開發(fā)的大規(guī)模開源項(xiàng)目之一。電子郵件使創(chuàng)意得以在這個群體中快速傳播,問題由此得以快速解決,而開發(fā)者可以人盡其才。軟件更新可以在數(shù)小時之內(nèi)發(fā)送到位,使得每個節(jié)點(diǎn)在整個開發(fā)過程中步調(diào)一致。網(wǎng)絡(luò)改變了軟件的開發(fā)模式。
另一方面, RMS 的理論體系有許多東西非常有爭議,他的 GPL 被認(rèn)為是一種“病毒式”的協(xié)議, BSD 的 fans 和老牌 Unix 黑客們認(rèn)為,他們編寫 Unix 的年頭都比 GPL 聲明要長得多, GPL 依然有太多的限制,而 BSD 協(xié)議則比 GPL 更加的自由。另一方面, RMS 走向了另一個極端,他是完全反版權(quán)的,反商業(yè)化的。把軟件產(chǎn)品從強(qiáng)制收費(fèi)推向了強(qiáng)制免費(fèi)、共享和開源,這也為他帶來了許多許多的爭議。
在 RMS 組織黑客鬧革命的年代里,沒有多少黑客認(rèn)同于 RMS 的理論體系,更多的他們參與 GNU 只是為了體現(xiàn)那種在互聯(lián)網(wǎng)上協(xié)同工作,令人激動的工作模式。自從 GNU 設(shè)立以來,爭議不斷,而黑客文化卻從未有統(tǒng)一在他的理想體系之下。
自從 Linux 出現(xiàn)以后,一個新的黑客領(lǐng)袖出現(xiàn)了, Linus Torvalds 的中庸態(tài)度網(wǎng)聚了世界上頂尖的黑客,其繞過了 GPL 和反 GPL 的派系之爭,他使用 GNU 的工具從而以 GPL 的“傳染性”保護(hù)了 Linux ,但他同時也不承認(rèn) RMS 的理論思想體系,他即開源,又支持商業(yè)化。雖然,他沒有帶給黑客們什么重要的思想體系或統(tǒng)一的價值觀,但他整合了全世界黑客的陣營,讓所有的黑客的行為都圍繞著 Linux 這一事物進(jìn)行。他以“用自由軟件是因?yàn)樗\(yùn)行得更好”輕而易舉地蓋過了“用自由軟件是因?yàn)樗熊浖荚撌亲杂傻摹薄?
1998 年初,這種新思潮促使網(wǎng)景公司( Netscape Communications )公布了其 Mozilla 瀏覽器的源碼。媒體對此事件的關(guān)注促成了 Linux 在華爾街的上市,推動了 1999 - 2001 年間科技股的繁榮。事實(shí)證明,此事無論對黑客文化的歷史還是對 Unix 的歷史都是一個轉(zhuǎn)折點(diǎn)。
Unix 的歷史教訓(xùn)
下面的文字出自《 The Art of Unix Programming 》( Unix 編程藝術(shù))。令今天我們所有人所反思。
在 Unix 歷史中,最大的規(guī)律就是:
距開源越近就越繁榮。任何將 Unix 專有化的企圖,只能陷入停滯和衰敗。
回顧過去,我們早該認(rèn)識到這一點(diǎn)。 1984 年至今,我們浪費(fèi)了十年時間才學(xué)到這個教訓(xùn)。如果我們?nèi)蘸蟛凰蓟诟模赡苓€得大吃苦頭。
雖然我們在軟件設(shè)計(jì)這個重要但狹窄的領(lǐng)域比其他人聰明,但這不能使我們擺脫對技術(shù)與經(jīng)濟(jì)相互作用影響的茫然,而這些就發(fā)生在我們的眼皮底下。即使 Unix 社區(qū)中最具洞察力、最具遠(yuǎn)見卓識的思想家,他們的眼光終究有限。對今后的教訓(xùn)就是: 過度依賴任何一種技術(shù)或者商業(yè)模式都是錯誤的 ——相反,保持軟件及其設(shè)計(jì)傳統(tǒng)的的靈活性才是長存之道。
另一個教訓(xùn)是: 別和低價而靈活的方案較勁 。或者,換句話說,低檔的硬件只要數(shù)量足夠,就能爬上性能曲線而最終獲勝。經(jīng)濟(jì)學(xué)家 Clayton Christensen 稱之為“破壞性技術(shù)”,他在《創(chuàng)新者窘境》( The Innovator's Dilemma ) [Christensen] 一書中以磁盤驅(qū)動器、蒸汽挖土機(jī)和摩托車為例闡明了這種現(xiàn)象的發(fā)生。當(dāng)小型機(jī)取代大型機(jī)、工作站和服務(wù)器取代小型機(jī)以及日用 Intel 機(jī)器又取代工作站和服務(wù)器時,我們也看到了這種現(xiàn)象。開源運(yùn)動獲得成功正是由于軟件的大眾化。 Unix 要繁榮,就必須繼續(xù)采用吸納低價而靈活的方案的訣竅,而不是去反對它們。
最后,舊學(xué)派的 Unix 社區(qū)因采用了傳統(tǒng)的公司組織、財(cái)務(wù)和市場等命令機(jī)制而最終未能實(shí)現(xiàn)“職業(yè)化”。只有癡迷的“黑客”和具有創(chuàng)造力的怪人結(jié)成的反叛聯(lián)盟才能把我們從愚蠢中拯救出來——他們接著教導(dǎo)我們,真正的專業(yè)和奉獻(xiàn)精神,正是我們在屈服于世俗觀念的“合理商業(yè)做法”之前的所作所為。
Unix 族譜
Unix 的故事仍舊延續(xù)著……,許多網(wǎng)站也為這段歷史留下記錄。一個詳細(xì)記錄 Unix 歷史的網(wǎng)站( http://www.levenez.com/unix/ ),這個網(wǎng)站忠實(shí)記載著 1969 ~ 2005 年 Unix 發(fā)展的大事,而且還有 PDF 檔案可供下載,上面有一個龐大的 UNIX 家族版本樹,讓人嘆為觀止。網(wǎng)站的首頁陳列每個時期 Unix 的歷史,也代表著無數(shù)工程師的心血與努力。
下面是一個簡單的 Unix 的族譜:
????
|--
AT&T
(1969)-----\
????
|
?????????????????
|
????
|
?????????????
V6 (1976)
????
|
?????????????????
|
????
|
?????????????
V7 (1979)
????
|
?????????????????
|
????
|
??
Novell
owns AT&T's Unix (by 1994)
???? | ???? _____________|____________________
????
|
????
|
??????
|
?????
|
??
?????
|
????
??
??
|
????
|
???
AIX
???
IRIX
???
SCO
??
HP-UX
??
Solaris
2.X
????
|
??
(
IBM
)
??
(
SGI
)
?????????
(
HP
)
????
(
Sun
)
????
|
????
|
????
|--
?
???
|
????????????????????
|
????
|
?????????????????
1
BSD
(1977)
UNIX
-|
????????????????????
|
????
|
???????????????
4.4BSD (1993)
????
|
????????????????????
|
????
|
??????????????????
Net/2
????
|
????????????????????
|
????
|
??????????????
4.4BSD-Lite (by 1995)
????
|
????
________________|____________________________________
????
|
????
|
??????
|
???????
??
|
????????
|
??????
?
??
|
??????
?????
|
????
|
??
SunOS
??
Ultrix
??
NetBSD
???
OSF/1
??
NeXTSTEP
??
Mac OS X
????
|
??
(Sun)
??
(
DEC
)
??
(Various)
?
(DEC)
???
(
NeXT
)
???
(
Apple
)
????
|
??????????????????
(
FreeBSD
)
????
|
????
|
????
|--Hybrids----\
??????????????????
|
???????????????
Linux
(Various)
??????????????????
|
??????????????????
|____________________________________________
??????????????????
|
???
|
?????
|
????
??
???
|
??????
??????
?
|
??????
|
??????????????????
|
RedHat
?
Debian
?
Mandrake
??
Slackware
???
S.u.S.E.
??????????????????
|
?????????????????????????
(
??????????????????
|
??????????????????
|_____________________________________________
??????????????????????
|
???????
|
????????
???
|
??????? ?
|
???????
?
|
???????????????????
MkLinux
?
LinuxPPC
?
TurboLinux
?
OpenLinux
?
CorelLinux
???????????????????
(Apple)
???????????????????????
(
Caldera
)
??
(
Corel
)
Unix 的特點(diǎn)
現(xiàn)在的文獻(xiàn)中提到 Unix 基本上是說,由 Ken Thompson 和 Dennis Ritchie 共同開發(fā)的。而通過歷史我們也能發(fā)現(xiàn), Unix 的主要是由 Ken Thompson 寫下的。但在學(xué)術(shù)界, Dennis Ritchie 的名字往往被排在了 Ken Thompson 前面的。這就是因?yàn)椋? Dennis Ritchie 不但發(fā)明了 C 語言,而且當(dāng)時他設(shè)計(jì) Unix 操作系統(tǒng)的設(shè)計(jì)思想,影響了整個世界,直到今天。
當(dāng)時,他們開發(fā) UNIX ,沒有正式立項(xiàng),是 Ken Thompson 和 Dennis Ritchie 等少數(shù)幾個人偷偷干的,如果一切都要從頭從新設(shè)計(jì),那幾乎是不可能的。所以, Unix 吸取與借鑒了 Multics 的經(jīng)驗(yàn),如內(nèi)核,進(jìn)程,層次式目錄,面向流的 I/O ,把設(shè)備當(dāng)作文件,……等等。但是 Unix 在繼承中又有創(chuàng)新,比如 Unix 采用一種無格式的文件結(jié)構(gòu),文件由字節(jié)串加 \0 組成。這帶來兩大好處:一是在說明文件時不必加進(jìn)許多無關(guān)的“填充物”,二是任何程序的輸出可直接用作其他任何程序的輸入,不必經(jīng)過轉(zhuǎn)換。后面這一點(diǎn)叫做“管道” (piping) ,這就是 Unix 首創(chuàng)的。此外,像把設(shè)備當(dāng)作文件,從而簡化了設(shè)備管理這一操作系統(tǒng)設(shè)計(jì)中的難題,雖然不是 UNIX 的發(fā)明,但是實(shí)現(xiàn)上它采用了一些新方法,比 Multics 更高明一些。
下面是 Unix 的特點(diǎn):( 30 多年過去了,這些東西早已變成經(jīng)典)
l
????????
Everything (including hardware) is a file
所有的事物(甚至硬件本身)都是一個的文件。
l
????????
Configuration data stored in text
以文件形式儲存配置數(shù)據(jù)。
l
????????
Small, single-purpose program
程序盡量朝向小而單一的目標(biāo)設(shè)計(jì)
l
????????
Avoid captive user interfaces
盡量避免令人困惑的用戶接口
l
????????
Ability to chain program together to perform complex tasks
將幾個程序連結(jié)起來,處理大而復(fù)雜的工作。
Unix 的影響和哲學(xué)
Unix 是第三次工業(yè)革命中計(jì)算機(jī)軟件領(lǐng)域最具代表性的產(chǎn)物。在這近 40 年中,由 Unix 造成的影響是最有深遠(yuǎn)意義的。就我看來, Unix 為軟件領(lǐng)域帶來了至少以下有積極的東西,由這些東西所引發(fā)的直接或間接的事物更是舉不勝數(shù)。
1) ? 軟件開發(fā)的若干哲學(xué)和思想。
2) ? 全民參與推動軟件,代碼共享的模式。
3) ? 開啟了黑客文化和開源項(xiàng)目。
4) ? 免費(fèi)和商業(yè)的完美結(jié)合的 Linux 。
5) ? C 語言,而后發(fā)展的 C++ , Java 等等類 C 的語言和腳本。
6) ? TCP/IP ,其的 Socket 編程已成為今天通用的網(wǎng)絡(luò)編程主流。
不能不說, AT&T 雖然發(fā)展了 Unix ,但今天 Unix 的混亂的局面也和 AT&T 有著直接原因。但反過來說,如果沒有 AT&T 的反面教材,今天的 GNU/Linux 很有可能也不會出現(xiàn)。 AT&T 究竟是限制了 Unix 的發(fā)展,還是以反面示例促進(jìn)了 Unix 社區(qū),已不好評說。今天,軟件是商業(yè)化好還是開源好的爭論還在繼續(xù),縱觀這幾十年來 Unix 的歷史, Linux 的劃時代地出現(xiàn)。相信你會得出自己的結(jié)論。不管怎么樣, Unix 的經(jīng)歷對計(jì)算機(jī)領(lǐng)域貢獻(xiàn)的不單單是技術(shù),他給我們提供了豐富而生動的教材。特別是 Unix 引發(fā)的哲學(xué),讓今天的我們依然受益不淺。
說到 Unix 為我們所帶來的軟件開發(fā)的哲學(xué),我必需要說一說。 Unix 遵循的原則是 KISS ( Keep it simple, stupid )。在 http://en.wikipedia.org/wiki/Unix_philosophy 上有很多的基本上大同小異的 Unix 哲學(xué),都是很經(jīng)典的。
Doug McIlroy 是認(rèn)為 UNIX 的哲學(xué)是這樣的:三條哲學(xué),簡明扼要,就是這三條哲學(xué)貫穿著整個 Unix 世界。尤其是第一條“ do one thing and do it well ”真是相當(dāng)精彩!
l
????????
Write programs that do one thing and do it well.
l
????????
Write programs to work together.
l
????????
Write programs to handle text streams, because that is a universal interface.
只要是 Unix 的程序員,他們會比別的程序員在任何時候都會不停地強(qiáng)調(diào)著這三條哲學(xué)。
而《 The Art of Unix Programming 》總結(jié)了下面這些哲學(xué),都是至理名言啊。
- Rule of Modularity: Write simple parts connected by clean interfaces.
- Rule of Clarity: Clarity is better than cleverness.
- Rule of Composition: Design programs to be connected to other programs.
- Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
- Rule of Simplicity: Design for simplicity; add complexity only where you must.
- Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
- Rule of Transparency: Design for visibility to make inspection and debugging easier.
- Rule of Robustness: Robustness is the child of transparency and simplicity.
- Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.
- Rule of Least Surprise: In interface design, always do the least surprising thing.
- Rule of Silence: When a program has nothing surprising to say, it should say nothing.
- Rule of Repair: When you must fail, fail noisily and as soon as possible.
- Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
- Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
- Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
- Rule of Diversity: Distrust all claims for "one true way".
- Rule of Extensibility: Design for the future, because it will be here sooner than you think.
X Windows 的設(shè)計(jì)者 Mike Gancarz 給出了下面九條哲學(xué)思想
- Small is beautiful.
- Make each program do one thing well.
- Build a prototype as soon as possible.
- Choose portability over efficiency.
- Store data in flat text files.
- Use software leverage to your advantage.
- Use shell scripts to increase leverage and portability.
- Avoid captive user interfaces.
- Make every program a filter.
在今天,這種思想依然被傳承著,在影響著世界上各個角落的每一個程序員。
Unix 痛恨者手冊
這里還需要值得一提的是一本叫《 The Unix-Haters Handbook 》,中文譯做《 Unix 痛恨者手冊》。可以在這里下載: http://research.microsoft.com/~daniel/uhh-download.html 。 其中以調(diào)侃的語氣聲討了 Unix 的種種不是。雖然這是十年前的一本書了,但還是值得一讀。這本書指出了許多 Unix 的設(shè)計(jì)錯誤,指出了種種看起來很合理的設(shè)計(jì)走向了荒謬,還這樣調(diào)侃了 C 語言——“如果說 C 語言給足了讓你上吊的繩子,那么, C++ 在給了你足夠的繩子把你的鄰居全部捆起來之后,還給了你足夠的繩子讓你為一艘小帆船裝上帆,最后你還有足夠的繩子把自己吊死在帆船的桅桿上”。呵呵,相當(dāng)?shù)募馑峥瘫“伞@锩嬗幸痪鋵Σ僮飨到y(tǒng)的評價是這樣的:“ The fundamental difference between Unix and the Macintosh operating system is that Unix was designed to please programmers , whereas the Mac was designed to please users. (Windows, on the other hand, was designed to please accountants. ”( Windows 設(shè)計(jì)給會計(jì)人員?!連計(jì)算機(jī)用戶都不是了,呵呵 )
不過,我可以感覺得到這本書的作者在書中對 Unix 的感情是比較復(fù)雜的,愛恨交加,在書的最后有這樣一句話“ would anyone have spent this much time and effort writing about how much they hated Unix if they didn't secretly love it? I'll leave that to the readers to judge, but in the end, it really doesn't matter: If this book doesn't kill Unix, nothing will ”。是的,如果 Unix 能夠存活這么長的時間,那么,不會有什么東西可以把他消滅了。
從《 Unix 痛恨者手冊》這本書,再加上 Unix 的歷史,我們可以感到 Unix 的經(jīng)歷的風(fēng)風(fēng)雨雨,在 Unix 上面出現(xiàn)有種種教訓(xùn),近 40 年的歷程, Unix 歷經(jīng)磨難,幾近夭折,一路走來的確很不容易,讓人由衷感嘆。今天的 Unix ,今天的軟件工業(yè)和以前相比已是不可同日而語。很大程度上,這些都要?dú)w功于這個充滿蒼桑的 Unix 。
后記
?????? 在中國我們開始學(xué)習(xí)計(jì)算機(jī)的時候,我們被 Microsoft 所創(chuàng)造的文化所籠罩里。就在 Unix 出現(xiàn)革命性的轉(zhuǎn)變,在 Unix 影響計(jì)算機(jī)世界文化的那幾年里,科班出生專業(yè)開發(fā)人員學(xué)習(xí)的是 MS-DOS 和微軟的文化,我們猶如一個井底之蛙一樣,對外面的翻天覆地的變化無動于衷。微軟創(chuàng)造的文化在我們這里尤其地根深蒂固,我們幾乎忘記了另外一邊的 Unix 。
在那充滿激情的 Unix 的歲月里,大伙為了科研目的或個人興趣在 Unix 上進(jìn)行各種開發(fā),并且不計(jì)較金錢利益,將這些源碼公開,互相共享。在那里,開發(fā)和自由成為主題,正因?yàn)槿绱耍?dāng)今的世界才如此豐富多采。在近 40 年 Unix 文化和技術(shù)積淀的里面,蘊(yùn)涵著比較純正的計(jì)算機(jī)文化和思想。
縱觀整個 Unix 的歷史過程中,許許多多的程序員、工程師前輩們在 Unix 中所摸爬滾打,他們的辛勤地、他們嘔心瀝血地跟隨 Unix ,努力建立一個繁榮的計(jì)算機(jī)世界的文明。 Unix 不是一個簡簡單單的操作系統(tǒng)。有人說, Unix 是程序員設(shè)計(jì)給程序員的,一點(diǎn)沒錯。 Unix 的近 40 年歷史造就了它的博大精深,它給程序員們帶來的絕不僅僅只是技術(shù)上的知識。它的失誤,它的無奈,它的精神,它的榮耀,它從技術(shù)和思想上都啟迪著我們。對于程序員來說,學(xué)習(xí) Unix 就等同于向前輩程序?qū)W習(xí)。無論你是什么樣的程序員,你都應(yīng)該了解 Unix ,這是開發(fā)人員的根,前面的開發(fā)者造就了它,而它又在引領(lǐng)后面的開發(fā)人員,它是前輩程序員們交給我們的一份禮物,一個接力棒,它是開發(fā)人員賴以生存的土壤,是上一輩程序員留給我們這一代程序員開啟未來的鑰匙。 Unix 就像一個程序員教父一樣,理當(dāng)受到我們的尊敬和崇拜。
參考資料
l ???????? Peter H. Salus 的《 A Quarter Century of UNIX 》,這被認(rèn)為是 UNIX 的標(biāo)準(zhǔn)歷史。
l ???????? Eric S. Raymond 的《 The Art of Unix Programming 》
l ???????? http://www.wikipedia.org/ ? 維基百科
l ???????? http://www.computerhope.com/history/ ? Computer History
l ???????? http://www.lotsir.com/Blog/article.asp?id=494 ? Lotsir's Blog — 《 Unix&Linux 歷史重溫 》
l ???????? http://www.aka.org.cn/Docs/hacker-history.html 《 黑客文化簡史 》
l ???????? http://www.simson.net/ref/ugh.pdf ? 《 The UNIX-HATERS Handbook 》
l ???????? http://free-electrons.com/doc/free_software/img0.html 《 GNU/Linux Free Software 》幻燈片
l ???????? http://cm.bell-labs.com/cm/cs/who/dmr/hist.html ? Dennis M. Ritchie 《 The Evolution of the Unix Time-sharing System 》
(
轉(zhuǎn)載時請注明作者和出處。未經(jīng)許可,請勿用于商業(yè)用途
)
更多文章請?jiān)L問我的 Blog: http://blog.csdn.net/haoel
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1542353
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
