歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 詳談Linux

詳談Linux

日期:2017/2/25 10:36:42   编辑:Linux教程
"Linux"這個名字我想大家現在都不會陌生了,這一年多來隨著國內各種媒體的爭相的宣傳與報導,Linux已經成為了一個熱門的話題。
我想就這幾個方面談談Linux:Linux的歷史和發展歷程、設計宗旨和方法、主要特點、構成、Linux上的常用軟件、Linux的應用,最後是Linux的發展趨勢。

我們今天的第一件事情或許是要了解Linux這個單詞的讀法。我們很多人對Linux的讀音都不盡相同,大致有這麼幾種: “來那克斯”與“林你克斯”“裡扭克斯“等,這幾種發音我們大家可能都聽過。不僅僅是在我們大家之間,在世界范圍內人們對Linux的讀音差別也是很大。由於是這樣的原因Linus本人自己錄了一段他對Linux的發音放到互聯網上,讓大家下載。這段錄音的內容是這樣的: "Hello,this is Linus Torvalds and I pronounce Linux as Linux"。他念的讀音是['li:nэks], 所以我們認為還是應當以Linus Torvalds本人的發音為准。

那麼什麼是Linux呢?


Linux有兩種不同的含義。從嚴格的技術定義講,Linux指的是開放源代碼的Unix類操作系統的內核。然而,目前大多數人用它來表示以Linux內核為基礎的整個操作系統。從這種意義講,Linux指的是開放源代碼的,包含內核、系統工具、完整的開發環境和應用的Unix類操作系統。

它是一個支持多用戶, 多進程,實時性好的功能強大而穩定的操作系統。它可以運行在x86 PC,Sun Sparc,Digital Alpha,680x0,PowerPC, MIPS等平台上,可以說Linux是目前運行硬件平台最多的操作系統.,但是它主要還是面向Intel PC硬件平台。 所以也可以這樣的說:Linux是Unix在Pc機上的完整實現。

Linux的歷史

Linux的又是怎樣發展起來的呢?
最早期的Linux是Linus Torvalds於1991年開始著手進行開發的,當時他是芬蘭赫爾辛基大學計算機系的學生,23歲。最初,他是在Minix環境下用匯編語言寫了一個在80386保護模式下處理多任務切換的程序,後來從Minix(Andy Tanenbaum教授所寫的很小的Unix操作系統,主要用於操作系統教學)得到靈感,進一步產生了一個想法----寫一個比Minix更好的Minix,於是開始寫了一些硬件的設備驅動程序,一個小的文件系統,......, 這樣幾個月後0.0.1版本的Linux就出來了,其實Linus開始想把這個系統命名為"freax",只是他把所有的源代碼放到了芬蘭最大的ftp站點中的Linux(它的意思就是Linus 的Minix)目錄下,後來Linux這個名字就被大家接受並保留下來了。我們知道軟件要到理論上已經完備或者基本上沒有毛病的時候才能給予1.0版本,可見這個時候推出的0.01版是相當簡陋的了。它只具有操作系統內核的勉強的雛形,甚至不能運行,你必須在有Minix的機器上編譯以後才能用。所以這個版本從來沒有正式宣布發布過。這時候Linus已經完全著迷於這個系統的開發上了,他決定完全拋開Minix。於是在1991年10月5號他象世界公布了Linux 0.0.2版本,並在comp.os.minix新聞討論組裡發布消息Linux 0.0.2。在這個版本中已經可以運行不少的程序了。其中包括bash(the GNU Bourne Again Shell----一種用戶與操作系統內核通訊的軟件)和gcc(GNU C 編譯器)和GNU-make,sed,compress。

從0.02版以後,越來越多的人參與到該系統的開發工作,所以Linux的發展越來越快,這樣只過了一年多,到1994年Linux1.0就問世了。而Linus Toralds在今年的Linuxworld專業會議上宣布到今年年中Linux可以升級到2.4.x版本,我們知道Linux是通過互聯網發展的現在真是日新月異,基本上每幾個月就有一個新的版本,尤其是第三位數變化實在太快所以很難定位現在的版本。 我們剛才看到2.4.x,它這個是什麼意思呢?
Linux的版本號要比其他的軟件復雜一些,它分為兩類:內核(kernel)版本與發行(distribution)。目前最新的內核版本號大約是2.2.x:發行版本最常Slackware3.5RedHat6.0,Turbolinux4.0等:實際上,我們看到市場上銷售的發行版本就是Linux的一個大軟件包,相當與內核版本,發行版本號隨發行者的不同而不同,與系統內核的版本號是相對獨立的。例如Slackware3.5,RedHat6.5,Debian1.3等。

我們主要講講Linux的內核版本

Linux從1.0版本後就具有兩種不同的版本號,叫做版本樹。 一個版本樹是由一個是實驗版本,一個是產品版本。 每一個版本是由三位數字組成的,第二位數字說明版本類型。如果第二位是偶數,則說明這種版本是產品化版本,如果是奇數,則是實驗版本,比如說版本1.2.0是產品化的版本,而1.3.0則是實驗版本。這兩種版本是有關聯的,是一前一後完成的。每一個版本樹開始時間都是相同的,然後呢,這兩個版本不斷的擴充增長,穩定代碼會添加到產品化版本中,而測試階段的代碼則添加到實驗版本中。當linus確定實驗版本具有足夠的新功能並且性能穩定的時候,他就稱為代碼凍結(code freeze)。這時候穩定的實驗版本成為新的x.y.0,開發又按新的版本進行。

比如說:1.0.0和1.1.0是相同的,1.0.1是對1.0版代碼的第一次錯誤修復,而1.1.1是往1.1版中第一次添加新功能。最後到1.0.9中的錯誤在1.0中得到修復,1.1.9最終為1.1。最後隨著新功能的不斷增加到達足夠有足夠的新功能時,代碼凍結,版本一同升級為 1.2.0和1.3.0,然後繼續1.2.0修復錯誤,1.3.0添加功能。
我們可以看到Linux的發展歷程要比其他的操作系統短暫的多,它的原因是多方面的,但談到Linux的發展歷程我們不得不先來談一下自由軟件基金會和它的GNU計劃。 我們知道當前流行的軟件按其提供方式可以大致劃分為三種模式:商業軟件、共享軟件、自由軟件。 商業軟件是由開發者出售拷貝並提供技術服務,用戶只有使用權,但不能進行非授權的拷貝、擴散、修改或添加新功能; 共享軟件則是開發者提供軟件試用程序拷貝,用戶在使用一段時間後,必須向開發者交納使用費用,開發者則提供相應的升級和技術服務;
自由軟件則是由開發者提供軟件全部的源代碼,任何用戶都有權使用、拷貝、擴散、修改該軟件。同時用戶也有義務將自己修改過的程序源代碼公開。

其實在計算機工業發展的初期,是沒有這三種模式的,當時軟件只是硬件的附屬品。公司只賣硬件,隨系統贈送軟件。在這一時期,軟件的設計思想,新的算法和軟件的源代碼在專家和公司技術人員之間自由交流,促進了軟件的迅速發展。但是,公司很快認識到軟件的價值,對軟件實施了版權控制,並限制源代碼的發布。許多原本屬於公眾創造的知識財富現在成為公司的私有財產。軟件的開發方式也發生了變化,變成以公司為主體的封閉的開發模式。Unix就是這樣的例子。 雖然AT&T開創了Unix的歷史,但是Unix的發展與完善卻與許多大學的專家、技術人員的努力分不開。事實上,Unix是在協作基礎上開發的。當AT&T在70年代末期對Unix的使用和發布強制實施版權控制後,使早期對Unix發展做出貢獻的人們感到失望。
Richard Stallman,與BillGates曾經同是哈佛大學的學生,他就這個時候就在軟件開發團體中發起支持開發自由軟件的運動。自1984年起,麻省理工學院(MIT)開始支持他,這就導致了自由軟件基金會(Free Software Foundation,FSF)的建立。

在同年Richard Stallman組織開發了一個完全基於自由軟件的軟件體系計劃——GNU(GNU's Not Unix)計劃,這個計劃的目的就是要開發一個完全自由的,與Unix類似的但功能更強大的操作系統,以便為所有的計算機使用者提供一個功能齊全性能良好的基本系統。GNU的名稱很有意思,它采用了一個無限遞歸的法則來命名的,它的全稱是“GNU's Not Unix”,意思是說GNU不是Unix。取它的每個單詞的首寫字母就組成了“GNU”。 當開始實施GNU項目時,當時沒有多少高質量的自由軟件可供項目使用。所以,為GNU項目做出貢獻的人們(Member of FSF)先從系統的應用軟件和工具入手,開發了大量的自由軟件。但是對核心GNU HURD的開發速度卻很遲緩,直到現在還沒有正式發布,仍處於測試階段。

Richard Stallman針對這個GNU計劃還組織擬訂了一份通用公共許可證書GPL(General Public License),用它來規范這些“自由軟件”的發行、復制和修改等一系列行為。GPL許可證可能大家也聽說過,但是也有不少人對他還不是很清楚或者還有誤解。很多人認為GPL許可證下的軟件是公共領域的軟件,沒有任何的版權,屬於公眾的。其實GPL是有版權的,它的版權屬於開發者,並且受到標准國際版權法的保護。GPL條款的目的是保證軟件自由地發行和修改。禁止在發行和使用上進行交易獲利,並且不允許任何人限制其他人在發布和修改方面的權利。但是GPL條款讓許多人迷惑的地方是它允許團體或個人從買賣GPL版權的軟件中獲利,換句話說,就是允許他們在發行時收取一定的費用,甚至贏利。

這乍起來一看好象自相矛盾,為什麼允許賣軟件贏利而另一方面允許任何人自由免費的獲取呢?其實這不難理解。免費並不意味著它不花錢。盡管通常情況下是這樣的。代碼的獲得是免費的,我們可以想一下,如果某個公司准備把大量的免費軟件裝到CD-Rom上發行,那這個公司肯定要收取一定的費用來支付生產和發行CD-Rom的成本。如果這個公司從中獲利,這也是GPL條款所允許的。允許公司發行和銷售免費軟件是一件相當好的事情,我們可以想一下,並非所有的人都能夠有機會通過Internet來免費獲取GPL軟件,GPL條款允許公司或團體銷售GPL軟件從而擴大了這些軟件的發行范圍,極大的拓展了這些軟件的全球用戶基礎。自由軟件基金會的GNU計劃為後來的Linux操作系統迅速發展奠定了堅實的基礎。

在1994年,Linus發布Linux的第一個“產品”版Linux1.0的時候,它是按照完全自由發布的版權進行發布的。這種版權它要求所有的源代碼都必須公開,而且任何人均不得從Linux交易中獲利。這種純粹的自由軟件的方式對於Linux的發布和發展實際上是一種阻礙,因為它限制了Linux以磁盤或CD-Rom等媒體的形式進行發布的可能,同時也限制了一些商業公司參與Linux的進一步開發並提供技術支持的良好願望。於是半年以後,Linus決定把Linux轉向GPL版權。這一步對Linux發展十分重要。它贏得了許多專業人員的支持,這些人將GNU項目的許多成果移植到Linux系統上來。包括很多系統工具包,程序開發環境,應用程序等等,甚至標准文件工具(如ls,mv,cp和rm等)都是GNU實用工具包的一部分。所以我們一開始說什麼是Linux的時候有一種比較科學的說法是Linux只是一個操作系統的內核,其實也是這樣的,Linux本身只有一些磁盤訪問代碼和很少的幾個軟件。它從GNU中得到了許多的益處。



Linux的應用

個人Unix工作站 :

Linux對於那些負擔不起Sun或是HP工作站的公司,對於每一個工程師和所有在X 終端上遇到困難的人來說都是極棒的產品,可以同時保留一些舊格式文件和繼續使用原有程序的DOS和Windows混合環境下用戶使用。
X應用服務器 :

使用Linux作為應用服務器去加快RISC工作站與使用Linux作為工作站一樣,都是非常合理的選擇。如果把Linux配置成應用服務器,就能通過運行DOS X服務器把286、386等低檔次的機器作為啞終端重新利用起來。這也說明了Linux是低預算的X Windows網絡的選擇。

Unix開發平台 :

Linux能夠支持Unix開發,不但支持主流語言,也支持其它語言;其跨平台的環境還可以為其它Unix操作系統平台產生二進制代碼;GNU C、GNU C++、GNU Fortran 77、ADA、Pascal、Modula 2和TCL/Tk、Scheme 和SmallTalk/X 均可免費使用,並附帶詳細的工作代碼庫;流行的Motif Widgets也能從幾個供應商手中買到;多種語言的編譯器有助於節省開發時間。所有這些,再加上靈活的shell語言編輯器(大小寫敏感)、源代碼包和詳細文檔都給了編程者充分的可定制環境。另外,它也能作為一個理想的計算機學習系統,在不打擾用戶共享設施的環境中,盡情控制這個復雜的系統。

商業開發 :

在商業開發系統中,執行CA/Clipper(基於DBase和Fox超集的面向對象編譯器的含義是,Clipper的開發者只需對軟件做很少的改動就能適應Linux的運行。其結果是功能相同,而性能提高了,在一樣的硬件條件下,速度比DOS版本快了20~200倍。

網絡服務器 :

可將Linux配置為使用NFS、Apple Talk及NetBIOS協議。其性優價廉的特性使其頗具吸引力。由LAN橋接而生成WAN也是Linux的一個很好的用途。當Linux運行於RISC和SMP(對稱多處理)硬件系統時,它可為嚴謹的後台處理帶來便利及易用性。

Internet服務器 :

Internet服務器使用是Linux的一項重要應用。以Linux和Apache 為基礎的Internet和Intranet 服務器價格低廉、性能卓越和易於維護。在美國,大多數廉價服務器以Linux為基礎。根據Infobeads的考察,有26%或更多的ISP在利用Linux。Linux能用作WWW服務器、域名服務器、防火牆、FTP 服務器、郵件服務器等。用單一的服務器能提供所有這些功能。

Ios對網絡服務器實用的操作系統作了一次調查。Internet Operating System Counter(ios++)在1998年的9月進行了一次比較特別的調查,它的基本思路是對互聯網上所有的服務器使用的操作系統進行識別並統計結果,Ios++使用了一個程序自動收集互聯網上的計算機地址,查詢計算機並判斷使用的系統,雖然有些系統識別不出來,但是絕大多數的系統都可以識別。遺憾的是,這次調查沒有徹底完成,這個系統會掃描網絡中所有的主機,它的行為也類似於黑客的做法。在對意大利的計算機進行網絡查詢時被一家以色列網絡安全公司懷疑為黑客入侵,所以被迫中斷,不過這次運行了大約10天,掃描了上百萬的服務器,它的結果也可以真實反映網絡操作系統的真實情況。http://www.leb.net/hzo/ioscount/ .
排名 操作系統 主機比率

1 Linux 26.3%
2 Window95/98/nt 23.4%
3 BSD family 22.6%
4 Solaris/SunOS 14.4%
Linux的不足及發展趨勢

Linux從出現到現今只經歷了短短9年的時間,但其發展速度是驚人的,這與它的開放性和優良的性能是密不可分的。不過我們應該看到,Linux還有許多不足,具體表現在以下幾個方面:

首先是安裝配置不方便,Linux把每一個程序都做成一個安裝包,這樣在安裝時,用戶可以任意選擇要安裝的軟件包。這對非常熟悉 Linux系統的人來說當然是一件好事,可以更有效地安裝配置自己所使用的Linux。但對廣大不熟悉Linux安裝和配置的PC用戶來說,Linux安裝的極大靈活性卻給他們造成了極大的困惑,這樣最很多人就不得不回過頭去轉向其它傻瓜式安裝的操作系統。這就阻礙了將Linux推向商業PC操作系統。

其次是圖形界面運行速度慢,Linux在圖形界面下運行程序的速度比Win95慢很多,同時Linux圖形界面的可操作性也遠不及 Win95。如果只把Linux用於網絡服務器,此時所有的操作均可以在字符界面下完成,其工作效率非常高。但是,當今PC操作界面流行的是圖形操作界面,喜歡鼠標的人遠遠多於喜歡鍵盤的人,已經很少有人樂於使用字符操作界面了,所以Linux要想沖入PC 操作系統市場,就必須在人機操作界面上有更大的進步,提供更好的可操作性和友好性,使得廣大PC用戶樂於使用。

再有一個不足之處是支持Linux系統的,基於圖形界面的應用程序非常少,尤其是缺乏功能強大的文本處理器。由於Linux 是自由軟件,Linux應用程序的開發也是自由進行的,所以其應用程序的開發並沒有太多大公司的支持,在開發大型應用程序方面,Linux可以說先天不足。而當今天下,要想在PC操作系統市場站住腳跟,沒有功能強大、使用方便的文本處理器又是絕不可能的,從這點來看,Linux任重道遠。目前,Linux下的文本處理器(StarOffice,wordperfect)較之微軟的Office,差距極大,它還不能同時兼容當今流行的多種文本文件格式,導致其文檔處理器不可能得到廣泛的應用,大大阻礙了其向辦公系統邁進的步伐。
另外,針對我國的用戶,Linux的中文化的問題也是還有一段長路要走,雖然說是blue point 把核心中文化了,但是應用程序、說明文檔基本還都是上英文。

盡管Linux有這樣和那樣的不足,但其發展潛力不容低估,其發展的動力就是遍布全球、為數眾多的Linux熱心者。今後Linux將會朝著完善功能、提高效率的方向發展我們相信,Linux、Unix及NT三足鼎立的時代將為期不遠。

首先,通過提供完整的安裝定制方案,向用戶提供更方便的系統安裝及系統維護。根據不同用戶的不同需求,重新編譯系統內核,精心選擇為用戶安裝的軟件包,盡量不讓用戶過多安裝無用的軟件。由於Linux操作系統的源代碼公開,所以其操作系統的售價非常低廉,即使為用戶設計專門的安裝定制時收取一定的服務費,其總體價格還是非常 低的,還是可以為用戶所接受的。另外,當用戶在使用過程中出現問題時,或希望更新 系統時,可以向系統定制商咨詢,因為系統定制商極其熟悉自已設計的安裝定制,可以想象,提供Linux系統定制安裝和安裝後維護服務在中國將是一個大有市場的行業。

其次,開發基於Linux的面向圖形界面的專用系統,提高圖形應用程序的性能。圖形界面是個人PC用戶必然的操作界面,而應用程序在其上的運行速度在很大程度上影 響了用戶的選擇。去掉Linux中大量與網絡和系統管理有關的應用程序,開發針對個人用戶的Linux圖形界面的專用系統,提高Linux X-win dow的運行速度,並在操作上實現傻 瓜式操作。利用Linux系統在價格上優勢,爭取在個人PC教 占領一塊陣地?

另外,大力開發基於Linux平台的應用程序,使Linux在PC平台上有施展的天地。只 有得到大量應用軟件的支持,Linux才能廣泛應用起來。文字處理工具、媒體播放工具和 游戲是PC平台上應用最多的軟件。所以,目前最緊迫的是,開發基於Linux的中文文字處理工具、媒體播放工具。使用戶在Linux下可以獲得良好的文檔處理功能及多媒體功能。 這樣才能使眾多的商業用戶放心地轉向Linux。

目前,Linux的發展在國內還剛剛開始,各種看法層出不窮,可謂百花齊放,但是到目前為止,還沒有一個確定的發展模式,剛才說的只是的一點個人想法。其實,Linux本身的發展模式已經為我國的軟件業提供了一個很好的模式,那就是開放、協作、共進。Linux本身的發展是基於開放的因特網,因為只有開放的東西才能不受制於人,才能長期保持新 鮮的生命力。所以我國的Linux業要想發展也必須符合自由軟件的規則,同時要根據我國現有軟件業的實際情況,制定自已的Linux發展計劃。目前,我國的軟件業尚未形成規模化,尤其在操作系統領域長期落後,與國外相比,競爭力幾乎為“0”;如果想僅僅依靠 自已的力量開發操作系統,必然代價巨大,而且成功可能性極小。但Linux的出現,使我們開發自已的操作系統有了一個很高的起點,因為它的開放性,使我們與國外的發展幾乎是同步進行的。擁有一個自已的操作系統,對於我國各項事業來說都具有極高的戰略 意義。所以我國基於Linux開發自已的操作系統,或者說開發自已的Linux操作系統勢在必行。雖然當今的世界是利益驅動的世界,但也是一個共生的世界。只有共得利益,才能得到共同發展,只有共進才能生存。操作系統、應用和系統集成服務三個方面必須緊密合作才能形成良好的發展體系,少了哪一個環節Linux的發展都會受到阻礙。

面對Linux這一新機會和新挑戰,當前我們民族軟件業的發展模式只能是:團結協作 ,共創未來。
我就講到這裡了,由於我的水平很有限,可能好多地方沒有講到,只是希望起個拋磚引玉的作用,讓大家有一點收獲,加深一下對Linux的了解。

Copyright © Linux教程網 All Rights Reserved