“要想成為計算機(jī)的主人,,而不是它的奴隸,,你就應(yīng)該使用Linux!” ——甘卡茲(美國佐治亞州亞特蘭大市的高級編程及應(yīng)用顧問) 為自由而生的Linux操作系統(tǒng)1991年8月25日,Linux Torvalds宣告Linux操作系統(tǒng)的誕生,。此后,,開源的Linux系統(tǒng)吸引了各路開發(fā)商和研究人員的關(guān)注。如今,,Linux已經(jīng)深入到我們生活中的方方面面,,存在于你的手機(jī)中、ATM機(jī)中,、你的桌面,、電影中、你的汽車中等等許許多多的地方及領(lǐng)域內(nèi),,可以說是無處不在,。 一、Linux前傳Linux的起源可以追溯到操作系統(tǒng)的鼻祖——UNIX,。1969年,,AT&T貝爾實驗室的Ken Thompson(圖1右側(cè)人物)開始利用一臺閑置的PDP-7計算機(jī)開發(fā)一種多用戶、多任務(wù)的操作系統(tǒng),。沒過多久,,Dennis Richie也加入了這個項目,并吸取了麻省理工學(xué)院更早的一個名為MULTICS操作系統(tǒng)項目失敗的教訓(xùn),。在他們二人的共同努力下,UNIX誕生了,。 C語言之父——Ken Thompson(右一) 早期UNIX是用匯編語言編寫的,,但從其第三個版本開始,他們?yōu)榱颂岣呦到y(tǒng)的可移植性和開發(fā)效率,,專門為UNIX開發(fā)了一種嶄新的編程語言——C語言,,并用C語言重新編寫大部分代碼。 通過這次重新編寫,,UNIX得以移植到更為強(qiáng)大的DEC PDP-11/45與11/70計算機(jī)上運行,。在UNIX發(fā)展早期,其源代碼是公開的,,并且開發(fā)文檔也十分詳細(xì),,所有這些都為人們進(jìn)行進(jìn)一步的研究提供了方便,因此UNIX很快成為當(dāng)時歐美各大高校講解操作系統(tǒng)的藍(lán)本,,成為當(dāng)時校園最流行的操作系統(tǒng),。不僅如此,,加州大學(xué)伯克利分校還根據(jù)UNIX源代碼開發(fā)出了鼎鼎大名的BSD,即UNIX著名的“變種”之一,。不過好景不長,,從UNIX的Version 7開始,AT&T將UNIX商業(yè)化,,更換了許可協(xié)議,,不再允許先前自由開放的做法。 為了方便教學(xué)和研究,,1997年圖靈獎(計算機(jī)界的諾貝爾獎)的獲得者Andrew S. Tanenbaum((圖2,,該人也是Linux創(chuàng)始人Linus的老師)以Version 7為藍(lán)本開發(fā)了基于Intel X86平臺的Minix。此外,,Andrew Tanenbaum還著有一本被世界各大高校廣泛采用的經(jīng)典操作系統(tǒng)教材——《現(xiàn)代操作系統(tǒng)》(《Modern Operating System》(圖3),。 操作系統(tǒng)的經(jīng)典之作
Minix與Version 7在系統(tǒng)調(diào)用級兼容,但沒有任何UNIX代碼,。因此,,可以不受AT&T許可協(xié)議約束,不僅如此,,Minix還公開源代碼,,允許用于教學(xué)科研目的。 可能是Linux過于光彩奪目,,掩蓋了其啟蒙前輩Minix的風(fēng)采,,以至于大家對它知之甚少,了解它的人寥寥無幾,,最新的Minix是3.0版本,,這個版本的圖形用戶界面也于2007年1月10日正式發(fā)布,Minix不僅僅是一個教學(xué)系統(tǒng),,它的應(yīng)用范圍也越來越廣,。 Minix 3界面 二、Linux傳奇而Linux,,則源于一個芬蘭赫爾辛基大學(xué)學(xué)生——Linus Torvalds(Andrew S. Tanenbaum的學(xué)生)的簡單需求:由于當(dāng)時的UNIX是十分昂貴的操作系統(tǒng),,而Linus Torvalds 當(dāng)時只是個學(xué)生,并希望能在個人電腦上使用類似UNIX的系統(tǒng),,所以Linus在上大學(xué)時主要使用Minix,。在使用中Linus對Minix許多地方都不是很滿意,但由于受到Minix協(xié)議的限制,,無法修改和完善,,后來Linus決定自己編寫一個操作系統(tǒng),他以自己熟悉的Minix和UNIX作為原型,,在一臺Intel 386 PC上開始了他的工作,。 由于Linus的進(jìn)展很快,,受工作成績的鼓舞,他決定將這個項目通過互聯(lián)網(wǎng)與其他人分享,。1991 年8 月25 日,,Linus向所有Minix用戶詢問"What would you like to see in Minix?"("你最想在Minix中見到什么?"),在該消息中(圖5)他首次透露出正在開發(fā)一個(免費的)386(486)操作系統(tǒng),,并且說只是興趣而已,,代碼不會很大,也不會象GNU 的那樣專業(yè),。開發(fā)免費操作系統(tǒng)這個想法從4 月份就開始醞釀了,,希望大家反饋一些對于Minix 系統(tǒng)中喜歡那些特色不喜歡什么等信息,由于實際的和其它一些原因,,新開發(fā)的系統(tǒng)剛開始與Minix很象(并且使用了Minix的文件系統(tǒng)),。并且已經(jīng)成功地將bash(1.08 版)和gcc(1.40 版)移植到了新系統(tǒng)上,而且在過幾個月就可以實用了,。 Linus在1991年8月25日,,向所有Minix用戶詢問的部分信息 最后,Linus 聲明他開發(fā)的操作系統(tǒng)沒有使用一行Minix 的源代碼;而且由于使用了386 的任務(wù)切換特性,,所以該操作系統(tǒng)不好移植(沒有可移植性),,并且只能使用AT 硬盤。對于Linux 的移植性問題,,Linus 當(dāng)時并沒有考慮,。但是目前Linux 幾乎可以運行在任何一種硬件體系結(jié)構(gòu)上。 到了1991 年的10 月5 日,,Linus 在comp.os.minix 新聞組上發(fā)布消息,,正式向外宣布Linux 內(nèi)核系統(tǒng)的誕生(Free minix-like kernel sources for 386-AT)。這段消息可以稱為Linux 的誕生宣言,,并且一直廣為流傳,。 1991年10月,Linus在USNET新聞組——comp.os.minix上發(fā)的文章,。 其中比較重要的內(nèi)容翻譯過來是:“我正在寫一個類似Minix的基于AT-386的免費操作系統(tǒng),現(xiàn)在終于到了可用的狀態(tài),,我愿意公開代碼以便使它得到進(jìn)一步的發(fā)展……” 也就是因為這篇文章,,Linux才開始了以后的快速發(fā)展。其實此時發(fā)表的版本,,也就是第一個Linux內(nèi)核的Release(正式版本)——Linux Kernel 0.0.2,。從上面的文章可以了解到Linus Torvalds本人設(shè)計Linux的初衷以及Linux的精神: Linux是基于Andrew S. Tanenbaum開發(fā)的Minix,但Linux比其更加開放和自由,。 最初,,Linux是以Linus的386硬件平臺為設(shè)計平臺,,但目前Linux支持的平臺幾乎涵蓋了所有的主流硬件平臺,例如Intel X86系列,、AMD64系列,、IBM PowerPC系列和Sun SPARC系列。需要注意的是,,雖然Linux和UNIX有很大的淵源,,但Linux并沒有包括標(biāo)準(zhǔn)UNIX的源代碼,它是按照公開的POSIX標(biāo)準(zhǔn)重新編寫的,。不過,,Linux使用了大量的GNU軟件。 Linux從1991年發(fā)布到互聯(lián)網(wǎng)以后,,得到了越來越多的黑客,、程序員的青睞和支持。他們來自于世界各地,,通過互聯(lián)網(wǎng),,無私地為人類奉獻(xiàn)自己的智慧,正是他們積極地推動了Linux的高速發(fā)展,,成就了一個自由軟件世界,。經(jīng)過這么多年的高速發(fā)展,Linux無論從可用性上還是功能上都日趨成熟,,基本形成了與UNIX,、Windows三分天下的局面。 由于Linux是由Linus開發(fā)的,,所以這個操作系統(tǒng)的名稱自然也以Linus’s UNIX來命名,,它的英語發(fā)音類似于“麗尼克思”,重音在第一個字上,,大家可以模仿Linus Torvalds本人的Linux發(fā)音,,該文件可從UbuntuChina互動社區(qū)下載,下載地址為:http:///dnb3320,,其內(nèi)容是:“Hello,This is Linus Torvalds and I pronounce Linux as Linux.”同時Linux以一只可愛的企鵝作為自己的Logo,,它的名字叫做Tux。標(biāo)志的由來是因為Linus在澳洲時曾被一只動物園里的企鵝咬了一口,,便選擇了企鵝作為Linux的標(biāo)志,。 三、Linux的全稱-GNU/LinuxGNU/Linux是Linux的全稱,,通常大家都習(xí)慣于將GNU/Linux簡稱為Linux,。也許正是大家習(xí)慣于使用簡稱,所以就淡忘了其全稱,。嚴(yán)格說來Linux只是一個內(nèi)核(Kernel),,如果沒有GNU提供的豐富軟件什么也干不了,,而大家使用的各種Linux發(fā)行版本其實只是Linux內(nèi)核配以GNU豐富的應(yīng)用的軟件而已,所以作為一個Linux使用者,,首先要知道Linux的全稱——GNU/Linux,,這很重要。 上面提到Linux的全稱是GNU/Linux,,其嚴(yán)格說來只是個內(nèi)核(Kernel)而已,。內(nèi)核主要負(fù)責(zé)管理、分配計算機(jī)軟件和硬件資源,,具體包括管理和控制硬件設(shè)備,、內(nèi)存管理、虛擬文件系統(tǒng),、系統(tǒng)進(jìn)程等比較核心和底層的工作,。 隨著內(nèi)核的發(fā)展,其功能范圍已經(jīng)不僅僅局限于此,,還實現(xiàn)了很多其他重要功能,,如聲卡驅(qū)動功能ASLA、網(wǎng)絡(luò)包過濾功能Netfilter,、虛擬化支持功能KVM等,,但這不包括大家經(jīng)常使用的程序,如瀏覽器,、OpenOffice.org辦公套件,、多媒體播放或制作程序,以及系統(tǒng)和網(wǎng)絡(luò)維護(hù)管理工具等,。與這些程序相比,,內(nèi)核就顯得“底層和原始”得多了。 需要強(qiáng)調(diào)的是,,一個優(yōu)秀的操作系統(tǒng),,不僅需要強(qiáng)大的核心功能,更需要眾多優(yōu)秀的應(yīng)用程序,,否則僅有一個好的內(nèi)核,,也是無法充分發(fā)揮其優(yōu)秀功效的。 講到這里,,就不能不提著名的GNU(Gnu is Not UNIX)項目了,,可以說正是這個著名項目才有了后來轟轟烈烈的自由軟件運動。GNU項目創(chuàng)立于1984年,,創(chuàng)始人為Richard Stallman,,其近照如圖7所示,。 Richard Stallman近照 Stallman先生1974年畢業(yè)于哈佛大學(xué),,獲得物理學(xué)MBA學(xué)位,。1971年,年輕的Stallman 進(jìn)入麻省理工學(xué)院(MIT)人工智能實驗室工作,,成為軟件共享社區(qū)的重要成員,。作為實驗室的系統(tǒng)黑客,Stallman的工作就是改進(jìn)系統(tǒng),。在20世紀(jì)70年代中期,,當(dāng)時的軟件是鼓勵自由復(fù)制,而計算機(jī)業(yè)的傳統(tǒng)就是一切為人人所共享,。但好景不長,,20世紀(jì)70年代末,以微軟公司創(chuàng)始人比爾蓋茨的《至電腦業(yè)余愛好者的一公開信》為標(biāo)志,,以世界知識產(chǎn)權(quán)組織制定的《伯爾尼公約》為框架,,軟件進(jìn)入了版權(quán)時代,這種制度是通過一個偶然的事件影響了Richard Stallman先生,。 事情是這樣的,,當(dāng)時施樂(Xerox)公司贈送了一臺激光打印機(jī)給實驗室,要知道20世紀(jì)70年代的激光打印機(jī)大得如吉普車一樣,,放置這么一個龐然大物就成了問題,,最后發(fā)現(xiàn)只有實驗室的9樓有地方放下它,激光打印機(jī)的打印速度自然沒得說,,只是一旦出了問題,,哪怕只是像卡紙這樣的小問題,人們都不得不爬上九樓,,于是乎,,一天的工作時間就這樣爬上爬下,這誰受得了,,好在施樂公司隨激光打印機(jī)附帶了驅(qū)動程序,,實驗室的人就把控制打印的驅(qū)動程序功能做了修改,問題才得以解決,。但到了1978年,,一切都改變了,施樂又送了一臺名為Dover的新打印機(jī)給實驗室,,可這次,,他們不再提供打印機(jī)的驅(qū)動的源代碼。Staman先生想獲得驅(qū)動代碼,,從而改進(jìn)打印機(jī)功能,,結(jié)果被嚴(yán)正拒絕,由此,Stallman再也無法說不公開協(xié)議是純潔清白的了,。 Stallman希望做一名程序員并能為這個社會作出更大的貢獻(xiàn),,所以他認(rèn)為當(dāng)時最需要的是開發(fā)一個自由的操作系統(tǒng)來改變這種狀態(tài),于是GNU項目應(yīng)運而生,,通過從其采用程序設(shè)計中遞歸方式命名就可以看出,,其目標(biāo)是開發(fā)一個類UNIX但又不是UNIX的免費操作系統(tǒng)。該項目包括內(nèi)核,、Shell和應(yīng)用程序等多個項目,,幾乎涵蓋了應(yīng)用的方方面面。這里著重介紹的是GNU的內(nèi)核Hard項目,,由于其開發(fā)過程中因種種原因而一再滯后,。而這時,恰好Linux誕生了,,填補(bǔ)了GNU應(yīng)用平臺的空缺,。 Linux免費的內(nèi)核推出后,由于其寬松的授權(quán),,允許用戶或廠商自行定制內(nèi)核和應(yīng)用程序的特性,,再加上GNU數(shù)量巨大、功能豐富的應(yīng)用程序,,所以很多廠商或個人紛紛推出自己的定制和組合方案,,這就構(gòu)成了我們當(dāng)今能夠看到的豐富多彩的Linux發(fā)行版本。所以不論Linux發(fā)行版的名稱或開發(fā)廠商是什么,,它們都同屬于Linux范疇,,因為它們有著相同的內(nèi)核。這個內(nèi)核就是源自Linus Torvalds維護(hù)Linux Kernel項目,,其官方網(wǎng)站地址為http://www./,,最新的內(nèi)核都在這里發(fā)布,對于內(nèi)核“喜新厭舊”的朋友可以來這里下載最新的內(nèi)核進(jìn)行編譯和升級,。 四,、Linux內(nèi)核的進(jìn)化 從狹義來說,Linux其實只是一個內(nèi)核-kernel,,大家可以到https://www./去查看內(nèi)核的詳細(xì)信息,。 用Chrome瀏覽器Linux內(nèi)核的網(wǎng)站,可以看到有很多內(nèi)核可供下載,,最新的穩(wěn)定內(nèi)核 3.10.7(Latest Stable kernel)最為醒目,,單擊那個黃色按鈕即可下載到內(nèi)核的源代碼。再仔細(xì)看看,,下面還有一些列內(nèi)核版本,,有stable字樣的是內(nèi)核的穩(wěn)定版本,,大家如果要自己動手編譯Linux內(nèi)核首選就是帶有stable字樣的版本,而有l(wèi)ongterm字樣則是長期維護(hù)版本,。此外,,每個Linux內(nèi)核版本都有一個版本號,通常的版本號形式為X.Y.Z,,如最新穩(wěn)定版本為3.10.7,其中X表示內(nèi)核的主版本號,Y則是輔助版本號,,奇數(shù)為開發(fā)版本,,偶數(shù)為穩(wěn)定版本,而Z則為內(nèi)核修訂編號,。 此外,,Linux內(nèi)核對于Linux來說還有更重要的意義,正是由于Linux有一個統(tǒng)一的并有Linus本人維護(hù)的內(nèi)核,,才使得Linux不會重蹈UNIX四分五裂的覆轍,,才有Linux繁榮的今天。 五,、Linux在高性能計算(HPC)和超級計算機(jī)領(lǐng)域大顯身手 與其他操作系統(tǒng)相比,,Linux還具有以下三大突出優(yōu)勢: · 可靠性高實踐證明,Linux是能夠達(dá)到主機(jī)可靠性要求的少數(shù)操作系統(tǒng)之一,,許多Linux主機(jī)和服務(wù)器在國內(nèi)和國外大中型企業(yè)中每天24小時,,每年365天不間斷地運行。這是Microsoft Windows Server等操作系統(tǒng)所不能比擬的,。 · 徹底的開放性這是Linux系統(tǒng)最重要的特征之一,,也是Linux強(qiáng)大生命力所在。開放系統(tǒng)的概念已被計算機(jī)業(yè)界普遍接受,,而且成為今后發(fā)展的主要趨勢,。所有的計算機(jī)廠商都聲稱自己的產(chǎn)品是開放系統(tǒng),而且開放的概念也在不斷發(fā)展和完善,,幾乎所有的系統(tǒng)都能在其中找到自己的位置,。但程序上是有明顯差別的,我們認(rèn)為系統(tǒng)最本質(zhì)的特征應(yīng)該是其所有技術(shù)的規(guī)格說明是可以公開并且自由使用的,,而且是不受某一家具體廠商所壟斷并控制的,。Linux是最能充分體現(xiàn)這一本質(zhì)特征的開放式操作系統(tǒng),正是這種較為徹底的開放性,,使Linux的發(fā)展充滿動力和生機(jī),。 · 強(qiáng)大的網(wǎng)絡(luò)功能實際上,Linux誕生于互聯(lián)網(wǎng),,并且也是依靠互聯(lián)網(wǎng)才迅速發(fā)展起來的,,因此Linux具有強(qiáng)大的網(wǎng)絡(luò)功能也就不足為奇了。它支持所有標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議(事實上,Linux是第一個支持IPv6的操作系統(tǒng)),,可以輕松地與TCP/IP,、LANManager、Windows for Workgroups,、Novell Netware或Windows NT網(wǎng)絡(luò)集成在一起,,還可以通過以太網(wǎng)或調(diào)制解調(diào)器連接到Internet上。由于低成本,、高可靠,、豐富的Internet應(yīng)用軟件,Linux成為互聯(lián)網(wǎng)服務(wù)提供商ISP中最流行的服務(wù)器操作系統(tǒng),。任何Linux發(fā)行版都提供了電子郵件,、文件傳輸、網(wǎng)絡(luò)新聞等服務(wù)軟件,,使得Linux不僅能夠作為網(wǎng)絡(luò)工作站使用,,更可以充當(dāng)各類服務(wù)器,如應(yīng)用服務(wù)器,、文件服務(wù)器,、打印服務(wù)器、郵件服務(wù)器,、新聞服務(wù)器等,。 為Linux而設(shè)計的服務(wù)器 正式由于linux這三大突出優(yōu)勢,使得Linux在世界超級計算機(jī)500強(qiáng)排行榜中占據(jù)了462個席位,,比率高達(dá)92%,。基于Windows的超級計算機(jī)僅有2個席位,,還有1個基于BSD的系統(tǒng),,11個基于混合操作系統(tǒng),另外24個基于UNIX系統(tǒng),。 六,、Linux在智能手機(jī),平板電腦以及游戲機(jī)領(lǐng)域 Linux系統(tǒng)是世界上唯一能夠在嵌入式設(shè)備,,如智能手機(jī),、平板電腦、游戲機(jī)上運行的操作系統(tǒng),,沒有其他操作系統(tǒng)能夠做到這一點,。 Linux的低成本、強(qiáng)大的定制功能以及良好的移植性能,,使得Linux在嵌入式系統(tǒng)方面也得到廣泛應(yīng)用,。流行的TiVo數(shù)字視頻錄像機(jī)還采用了定制的Linux,,思科在網(wǎng)絡(luò)防火墻和路由器也使用了定制的Linux。 Korg OASYS,、Korg的KRONOS,、雅馬哈的YAMAHA MOTIF XS/Motif XF音樂工作站、雅馬哈的S90XS/S70XS,、雅馬哈MOX6/MOX8次合成器,、雅馬哈MOTIF-RACK XS音源模塊,以及Roland RD-700GX 數(shù)碼鋼琴均運行Linux,。 Linux也用于舞臺燈光控制系統(tǒng),,如WholeHogIII控制臺。在游戲領(lǐng)域SONY利用Linux系統(tǒng)為其著名的游戲機(jī)Play station打造了操作系統(tǒng),。 目前最為流行的Android系統(tǒng)正是基于Linux內(nèi)核 在手機(jī)、平板電腦等移動設(shè)備方面,,Linux也得到重要發(fā)展,,基于Linux內(nèi)核的操作系統(tǒng)也成為最廣泛的操作系統(tǒng)。從2007年起,,手機(jī)和掌上電腦上運行基于Linux的操作系統(tǒng)變得更加普遍,,例如諾基亞N810 , Openmoko的Neo1973 ,,摩托羅拉的ROKR E8,。Palm(后來被HP公司收購)推出了一個新的基于Linux的webOS操作系統(tǒng),并使用在新生產(chǎn)的Palm Pre智能手機(jī)上,。MeeGo是諾基亞和英特爾于2010年2月聯(lián)合推出的基于Linux的操作系統(tǒng),,諾基亞也推出了使用MeeGo操作系統(tǒng)的N9手機(jī)。2011年9月28日,,繼諾基亞宣布放棄開發(fā)MeeGo之后,,英特爾也正式宣布將MeeGo與LiMo合并成為新的系統(tǒng)Tizen。Jolla Mobile公司成立并推出了由MeeGo發(fā)展而來的Sailfish操作系統(tǒng),。 基于Linux內(nèi)核的智能手機(jī)系統(tǒng)Android已經(jīng)成為世界上最為流行的移動操作系統(tǒng),,基于Android系統(tǒng)的智能手機(jī)以及平板電腦大量涌現(xiàn),Android應(yīng)用總數(shù)超過100萬,,應(yīng)用次數(shù)超過100億次,,標(biāo)志著Android生態(tài)系統(tǒng)基本成熟。而所有這些輝煌的成就都離不開Linux這個幕后英雄,。Linux發(fā)行版沒有實現(xiàn)的桌面夢想已經(jīng)被后起之秀Android實現(xiàn)了,。 |
|