国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

了解Linux

2020-10-28 19:00:40
字體:
來源:轉載
供稿:網友

"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中得到了許多的益處。

    另外轉向GPL以后,很多技術力量雄厚又善于市場運作的商業軟件公司加入了這場自由軟件運動。他們把內核、原代碼及相關 的應用程序組織在一起發行, 于是, 同是Linux, 有不同的發行者(distributor)版 本, 比較著名的發行者及相應的版本,其中有:
Linux的發行版本:(十幾種)

1.OpenLinux(Caldera):
發布商:Caldera公司
簡介:Caldera公司的Openlinux包括一些實用工具、圖形界面、
安裝指南、第3方的應用程序等。OpenLinux是各公
司優化其現存系統、保護培訓投資的理想選擇。
網址:http://www.caldera.com

2.Red Hat Linux(Red Hat):
發布商:Redhat software
簡介:易于安裝,提供一個穩定的包系統RPM,這樣就可以用
一個簡單的命令來安裝、升級、移去軟件的整個包。
每個版本都經過了完整的測試,同時支持Intel,Alpha
和Sparc平臺。這也是Redhat公司最引以為自豪的地方。
Redhat在國外使用的最多。
網址:http://www.redhat.com

3.S.u.S.E Linux:
發布商:S.u.S.E Linux
簡介:格外注重細節,優質的軟件包控制,出色的支持人員;
共有5張光盤,其中包括Linux操作系統和超過800個,
預設軟件包以及400頁的參考手冊。其中的YaST實用
工具允許用戶自己安裝、設置、和進一步地配置系統。
S.u.S.E支持X Servers的高端圖形卡。
網址:http://www.suse.com

4.Slackware(Walnut Creek Software):
發布商:Walnut Creek
簡介:Slackware Linux支持大多數Intel PC.它支持對稱多處
理(最多可達16個處理器)、PCI,并為486、Pentium
和Pentium Pro進行了特別的編碼優化。極適合于Internet
服務器和路由器; 同時是自學的好工具;
網址:http://www.cdrom.com

5.Debian GNU/Linux:
發布商:Debian
簡介:Debian公司的GNU/Linux是基于操作系統的Linux的
自由發布。它由一群自愿者進行維護和升級。它的先進
的管理工具包使得安裝和維護都異常的簡單。發布前全
面的測試保證了系統的高度可靠性。可以小塊的形式下
載;它的功能,多樣化和普及方面可以與Redhat相比在
懂技術的人中很受歡迎,但是不熟練的用戶會有點麻煩,
因為它在安裝配置方面比較復雜一些。
網址:http://www.debian.org。

6.Linux Mandrake: (i.e. 曼德拉草帽)
發布商:Mandrake
簡介:Linux Mandrake是一個高質量的商業版本。它是在早期 的
Redhat版本中建造起來的,它的開放性和可擴展性沒有
Redhat發行版高,但是它卻帶有一些商業軟件。

7.TurboLinux:
發布商:Pacific Hitech
簡介:TurboLinux包括一系列的應用程序,一個GUI(Xfree86 3.3)
的桌面,文檔和技術支持

8.LinuxPPC:
發布商:PowerPC Linux Project
簡介:它是Linux的PowerPC版發布。

9.MkLinux:
發布商:Apple Computer/The Open Group Research Group
簡介:Power Macintosh 平臺的Linux發布。

10.Linux Ware:
發布商:Trans-Ameritech

11.LinuxPro:
發布商:WorkGroup Solutions

12.Stampede Linux:
發布商:Stampede
當然最近還有我們國內的幾個發行版:Xteam Linux、Bluepoint Linux 紅旗Linux、Cosix Linux 等等。

    還有很多著名的商業軟件開發公司比如Oracle、Informix、Sun他們也著手開發了基于Linux的商業軟件。 后來,Linus本人也認為:“使Linux成為GPL的一員是我一生中所做過的最漂亮的一件事”。

Linux的設計宗旨和方法

    Linux是一個很獨特的操作系統,我們現在看看它的開發模式和設計的宗旨。

    我們知道在商業性軟件的開發中,整個系統的設計是按照一系列的步驟進行的,(質量管理、源程序的修改控制、程序說明、錯誤問題報告和糾正等等)開發人員不能隨意增加新功能或改變代碼的關鍵部分,而且每個開發人員只負責系統程序的其中一部分或幾部分的工作。只有負責某一部分程序的這個人才可以取出該部分的源程序進行修改。

    而Linux系統的開發則完全不同。根本沒有類似的有組織的開發東西,它基本上可以說是一群遍布于全世界的Internet上的自愿人員開發出來的操作系統。我們每一個人都有機會幫助Linux的開發、測試、移植新軟件。我們也可以去開發核心。當然如果你想把你的程序加入到Linux的正式核心代碼中呢,你得把代碼寄給Linus Toralds。讓他測試。Linus在92年,他的主要工作就已經轉變為協調核心代碼。

    Linux的整個系統的設計是開放式和功能式的,一般每過幾個月就會發布一個核心程序的新版本。只要系統沒有什么嚴重的或顯而易見的問題,它就會認為是穩定的,于是就可以發行。這里面沒有嚴格的質量管理和控制。說到這里我們應該認識一下Linux開發的宗旨,那就是不是發布一個完美的程序,更重要的是讓用戶盡早地使用和測試一個程序。也就是它把發展在了穩定之上,當然不是說它只顧發展。我們不要認為Linux是不穩定的,Linux 采用了這種開發模式激發了世界各地的軟件開發人員的積極性和創造熱情。大量軟件開發人員投入到自由軟件的開發中。軟件開發人員的集體智慧得到充分發揮,大大減少了不必要的重復勞動,很多人在為Linux做測試,這樣使Linux的脆弱點能夠及時發現和克服。任何一家公司都不可能投入如此強大的人力去開發和檢驗商品化軟件。這種開發模式使Linux具有強大的生命力。

    Linus率領的分布在世界各地的Linux內核開發隊伍仍然在高速向前推進。事實上,Unix開始發展時,就采用了這種開發模式。它的安全漏洞比其它操作系統解決得更徹底。

Linux的主要特點

    作為一個操作系統,Linux幾乎滿足當今Unix操作系統的所有要求,因此,它具有Unix操作系統的基本特征。
1.符合POSIX 1003.1標準
    POSIX 1003.1標準定義了一個最小的Unix操作系統接口,任何操作系統只有符合這一標準,才有可能運行Unix程序。Unix具有豐富的應用程序,當今絕大多數操作系統都把滿足POSIX 1003.1標準作為實現目標,Linux也不例外,它完全支持POSIX 1003.1標準。

2.支持多用戶訪問和多任務編程
    Linux是一個多用戶操作系統,它允許多個用戶同時訪問系統而不會造成用戶之間的相互干擾。另外,Linux還支持真正的多用戶編程,一個用戶可以創建多個進程,并使各個進程協同工作來完成用戶的需求。

3.采用頁式存儲管理
    頁式存儲管理使Linux能更有效地利用物理存儲空間,頁面的換入換出為用戶提供了更大的存儲空間。

4.支持動態鏈接
    用戶程序的執行往往離不開標準庫的支持,一般的系統往往采用靜態鏈接方式,即在裝配階段就已將用戶程序和標準庫鏈接好,這樣,當多個進程運行時,可能會出現庫代碼在內存中有多個副本而浪費存儲空間的情況。Linux 支持動態鏈接方式,當運行時才進行庫鏈接,如果所需要的庫已被其它進程裝入內存,則不必再裝入,否則才從硬盤中將庫調入。這樣能保證內存中的庫程序代碼是唯一的。

5.支持多種文件系統
    Linux能支持多種文件系統。目前支持的文件系統有:EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS。Linux最常用的文件系統是EXT2,它的文件名長度可達255字符,并且還有許多特有的功能,使它比常規的Unix文件系統更加安全。

6.支持TCP/IP、SLIP和PPP
    在Linux中,用戶可以使用所有的網絡服務,如網絡文件系統、遠程登錄等。SLIP和PPP能支持串行線上的TCP/IP協議的使用,這意味著用戶可用一個高速Modem通過電話線連入Internet網中。

除了上述基本特征外, Linux還具有其獨有的特色:

    支持硬盤的動態Cache 這一功能與MS-DOS中的Smartdrive相似。所不同的是,Linux能動態調整所用的Cache存儲器的大小,以適合當前存儲器的使用情況,當某一時刻沒有更多的存儲空間可用時,Cache將被減少,以增加空閑的存儲空間,一旦存儲空間不再緊張,Cache的大小又將增加。

     支持不同格式的可執行文件 Linux具有多種模擬器,這使它能運行不同格式的目標文件。其中,DOS(DOSEMU)和MS-Windows(WINE),iBCS2模擬器能運行SCO Unix的目標程序。(iBCS2模擬器不是Linux標準核心的一部分,但可從ftp.informatik.hu 主站蜘蛛池模板: 晋州市| 崇明县| 东辽县| 肃北| 年辖:市辖区| 巧家县| 财经| 潍坊市| 蓝山县| 德兴市| 马关县| 咸丰县| 平舆县| 公安县| 全南县| 宣化县| 都匀市| 通山县| 察雅县| 新蔡县| 江孜县| 恩施市| 都江堰市| 沛县| 额敏县| 静安区| 社旗县| 彭泽县| 本溪市| 宁明县| 虞城县| 随州市| 扎兰屯市| 顺义区| 巴中市| 崇仁县| 西林县| 武鸣县| 大埔县| 册亨县| 墨竹工卡县|